功能
MCP 服务器
让编程助手通过 MCP 搜索 VBT 文档、查询 API 并运行代码
您自己的 AI 编程助手能否直接使用 VBT?VBT MCP 服务器将 Claude Code、Codex、Cursor 等支持模型上下文协议的客户端连接到您的安装环境,让助手能够搜索文档、查询 API、阅读源代码并运行 Python 回测。您可以继续在编辑器中工作,同时让助手检查 VBT 示例,并针对已安装的软件包测试修改。
vbt mcp config claude-code
claude mcp add --transport stdio vectorbtpro -- /path/to/python -m vectorbtpro.mcp_server如果要求助手为均线交叉策略添加 5% 止损和 10% 止盈,连接到服务器的助手就会进行以下调用。这些工具也是 vbt.mcp 中的 Python 函数,因此无需服务器也能运行相同调用:
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 VBTprint(mcp.resolve_refnames(["vbt.PF.from_signals"])) OK vbt.PF.from_signals vectorbtpro.portfolio.base.Portfolio.from_signalsprint(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 以及教育用途。任何其他用途,包括开发或支持竞争产品或服务,均须事先取得书面同意。