Skip to content

vectorbt

Develop, debug, optimize and migrate code using VectorBT OSS or PRO as a Python library. This local skill belongs to the quantitative-finance marketplace group with quantatitive-factor-researcher.

The skill verifies the edition and installed API before using examples. For new work it prefers PRO when access is confirmed; existing OSS projects keep their edition unless a feature requirement, measured bottleneck or migration request warrants a change. Users without PRO access can use public OSS documentation and their installed package normally.

What ships

  • A short skill entrypoint and on-demand OSS, PRO, migration and MCP references.
  • vbt_context.py doctor: inspect the project's interpreter, actual imports, package versions, PRO repository access and available caches.
  • vbt_context.py sync-pro: download release assets with the existing GitHub CLI login, verify checksums, and generate searchable Markdown with source URLs and a page/object index. It also works without installing VBT when given a release.
  • vbt_mcp.py config, serve, check: project-scoped Codex/Claude Code setup, launch the installed official PRO server, and verify real MCP calls.
  • Offline tests using synthetic documents and a fake GitHub CLI; no membership or private documentation is needed in CI.

Source: the local skill.

Quick start

Commands are relative to the installed skill directory. Pass the strategy project's Python explicitly if it is not under .venv.

python3 scripts/vbt_context.py doctor --project /path/to/strategy
python3 scripts/vbt_context.py sync-pro --python /path/to/strategy/.venv/bin/python
# Or inspect documentation without installing PRO (choose the desired release):
python3 scripts/vbt_context.py sync-pro --release v2026.9.5

Use the returned index and markdown_dir with rg, then read complete relevant sections and confirm the installed signature. No embeddings or extra LLM API key is required. Default assets are pages and examples; add --messages for Discord discussions or MCP setup. The example release is not a default pin.

XDG and freshness

macOS and Linux share the same precedence: --cache-dir, then an absolute $XDG_CACHE_HOME/vectorbt-agent, then ~/.cache/vectorbt-agent. Empty or relative XDG values fall back to the default. Caches are shared across projects and isolated by edition/release; downloads and credentials never belong in Git.

Sync checks remote metadata after 24 hours or with --refresh. Asset ID, timestamp, size and digest detect changes even within the same release tag. Validated generations are selected atomically, leaving active readers on a consistent old generation. No background scheduler is installed.

--offline uses valid local data; a failed metadata request with valid cache returns an explicit stale status. Neither claims the live website is current. Missing remote digests are reported; invalid checksums or JSON do not replace the last valid cache. Stop old readers before deleting obsolete cache generations.

Optional MCP

When requested, prepare the target release's MCP/knowledge dependencies, sync all three assets, and use the helper to preview/apply the project server entry. The launcher reuses the same cache and official tools, not a new retrieval engine. Existing conflicting server entries require a focused merge rather than being overwritten; unrelated settings are preserved.

check verifies the server protocol, environment, document reading and BM25 search. A native client must then load the entry and successfully call a tool; server validation alone does not establish client connection.

Validation baseline

Validated on Python 3.12 with OSS 1.1.0 (Plotly 5.24.1) and PRO 2026.9.5 (MCP SDK 2.2.0): fresh-process synthetic backtests, private asset synchronization, official MCP page/BM25 calls, and isolated native marketplace loading in both clients. This is a tested baseline, not a universal dependency pin. The OSS reference records the observed Plotly 7 import incompatibility.

Sources

The official source trees checked during authoring did not ship a skill. The surveyed third-party skills used different workflow assumptions, including OpenAlgo-specific indicator defaults; this skill is independently authored.