功能

MCP 服务器

让编程助手通过 MCP 搜索 VBT 文档、查询 API 并运行代码

您自己的 AI 编程助手能否直接使用 VBT?VBT MCP 服务器将 Claude Code、Codex、Cursor 等支持模型上下文协议的客户端连接到您的安装环境,让助手能够搜索文档、查询 API、阅读源代码并运行 Python 回测。您可以继续在编辑器中工作,同时让助手检查 VBT 示例,并针对已安装的软件包测试修改。

Register the server with Claude Code
vbt mcp config claude-code  
claude mcp add --transport stdio vectorbtpro -- /path/to/python -m vectorbtpro.mcp_server

如果要求助手为均线交叉策略添加 5% 止损和 10% 止盈,连接到服务器的助手就会进行以下调用。这些工具也是 vbt.mcp 中的 Python 函数,因此无需服务器也能运行相同调用:

Search, resolve, and run, as an assistant does through the server
import json
from vectorbtpro import mcp

found = mcp.search(  
    "stop loss and take profit in from_signals",
    asset_names=["docs"],
    n=3,
)
for result in json.loads(found):
    print(result["name"])
Stop signals
Discretionary Signal Backtesting
High-level VBT
print(mcp.resolve_refnames(["vbt.PF.from_signals"]))  
OK vbt.PF.from_signals vectorbtpro.portfolio.base.Portfolio.from_signals
print(mcp.run_code("""
data = vbt.YFData.pull("BTC-USD", start="2020-01-01", end="2025-01-01")
fast = data.close.vbt.rolling_mean(20)
slow = data.close.vbt.rolling_mean(50)
pf = vbt.PF.from_signals(
    data,
    fast.vbt.crossed_above(slow),
    fast.vbt.crossed_below(slow),
    sl_stop=0.05,
    tp_stop=0.10,
    fees=0.001,
)
print(pf.stats(["total_return", "max_dd", "total_trades", "win_rate"]))
"""))  
Total Return [%]   -18.880116
Max Drawdown [%]    38.686652
Total Trades               19
Win Rate [%]        26.315789
dtype: object

助手找到了止损信号教程,确认了方法,并在您的环境中运行真实回测。您同时得到代码和计算后的统计结果,可以继续检查交易、调整设置并运行下一次比较。

从问题到经过测试的回测

这种连接在研究项目的各个阶段都有帮助。您可以让助手:

  • 在编写代码前,查找实现策略想法所需的 VBT 方法和示例。
  • 阅读相关 API 和源代码,调查回测错误。
  • 比较手续费、滑点或止损设置,并显示相应统计结果。
  • 使用前向滚动验证,在后续数据上测试选定参数。

例如,在上述回测之后,可以让助手在保持手续费和信号不变的前提下,比较同一策略使用和不使用止损的结果。持久化内核会为后续调用保留 data、fast、slow 和 pf,让助手能够复用已加载数据并检查交易。

您也可以提供会员页面 URL,让助手阅读页面。服务器使用您配置的 GitHub 访问权限,从发布版本的知识资产中获取文本,无需控制浏览器或使用其登录会话。长页面可以逐节阅读,社区解答也可以按完整讨论串打开。

面向研究任务的智能体技能

VBT 附带常见任务的分步说明,包括回测、指标、参数优化和交叉验证。助手可以通过 list_skills 发现技能,并用 get_skill 阅读相关说明。这样,除了 API 参考和代码示例,它还拥有可遵循的操作流程。

例如,在参数搜索中,交叉验证技能涵盖训练和测试区间、指标预热,以及参数变化时未平仓头寸的处理。会员专属技能页面(英文)展示了助手可使用的流程。

服务器

服务器在您的机器上运行,并使用您的 VBT 安装环境,因此 API 和源代码查询对应您已安装的版本。客户端通常通过 stdio 自行启动服务器。如需在容器或 WSL 等其他环境中运行,可使用 vbt mcp serve --transport streamable-http --port 8000 通过 HTTP 启动,再将其 /mcp 地址注册到客户端。通过 HTTP 运行时,服务器默认绑定本机。用于执行代码的 run_code 仅在 stdio 模式下可用。

在 stdio 模式下,run_code 使用 VBT 环境中的持久化 Jupyter 内核。客户端的审批控制让您决定助手可以运行哪些代码。下方设置指南介绍安装和客户端配置。

get_environment 报告 Python 解释器以及 Python 和 VBT 版本,让助手能够先检查环境。服务器启动后的首次搜索会加载知识资产,耗时最长;后续搜索会复用这些资产。如果某些文档缺少嵌入,搜索会按关键词排名,而不会先生成嵌入。工具支持 token 预算和分页,因此助手可以先请求范围较小的结果,再按需阅读更多。

工具

工具功能
search针对查询,对文档、API、示例和社区解答进行排名
find返回与 vbt.PF.from_signals 等特定对象有关的资料
resolve_refnames将 vbt.Data 等名称解析为完全限定名称
get_page、get_message、get_message_block、get_message_thread通过链接读取页面、消息、同一作者的连续消息或完整讨论
find_concepts、get_concept搜索概念图,查看概念之间的关系
get_attrs、get_source列出对象属性,阅读源代码
list_skills、get_skill阅读 VBT 附带的智能体技能
run_code在持久化 Jupyter 内核中使用 VBT 运行 Python
get_environment报告 Python 解释器及 Python、VBT 版本

所有工具也都可以从终端运行,例如 vbt mcp search "rolling Sharpe ratio",或通过 Python 中的 vbt.mcp 调用。服务器将这些函数作为 MCP 工具公开,包括阅读文档的工具。您也可以在 Python 中的 AI 研究助手中使用它们。

指南

会员专属的使用 AI(英文)指南介绍各客户端的服务器设置、HTTP 服务方式,以及可尝试的提示词。

版权所有 © 2021–2026 Oleg Polakow。保留所有权利。

本站内容与文档供使用和评估 VectorBT PRO 以及教育用途。任何其他用途,包括开发或支持竞争产品或服务,均须事先取得书面同意。