mcpField
B
Backtest360

Backtest360

远程服务
github.com/Backtest360金融数据013 周前更新
代码仓库

关于 Backtest360

Backtest360 是将 Backtest360 引擎 API 封装为工具的 MCP 服务,供 AI Agent 发现指标、构建并验证策略、运行回测及读取结果。它不包含 AI 或自行计算数据,而是转发引擎能力,并支持托管 HTTP 与本地 stdio。

主要功能

  1. 01发现指标、模板与策略结构
  2. 02验证策略并返回可定位错误
  3. 03运行和比较历史回测
  4. 04获取最新信号与统计指标
  5. 05查询行情及宏观经济数据

适用场景

  1. 01将自然语言交易想法整理为可验证策略
  2. 02评估策略回测结果和稳健性
  3. 03比较多种策略在相同数据上的表现
  4. 04查询标的历史数据覆盖范围

MCP 相关

通过 MCP 暴露 Backtest360 引擎 API 工具、静态资源和工作流提示词。可连接托管 HTTP 端点或本地 stdio;API 密钥权限、限额和数据访问由引擎计划决定。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://mcp.backtest360.com/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

全部服务地址
Streamable HTTPhttps://mcp.backtest360.com/mcp需要授权
安装包
pypibacktest360-mcp0.5.0

工具

20

此工具无需参数。

详细介绍

backtest360-mcp

PyPI version Python versions License: MIT tests

将 Backtest360 引擎 API 作为工具提供给 AI Agent 使用的 MCP 服务。

连接任何支持 MCP 的 AI 客户端,以对话方式执行真实回测:发现指标、构建和验证策略、运行回测并查看结果——所有操作都由确定性的 Backtest360 引擎完成。此服务不包含 AI,也不自行计算任何数值;它只是引擎 HTTP API 的轻量忠实适配器。所有功能(权限、速率限制、数据访问)均由你的引擎 API 密钥及其套餐决定。

提供两种传输方式:托管 HTTP 端点 https://mcp.backtest360.com/mcp(通过 X-API-Key 标头发送密钥)和本地 stdio(自行托管——见下文)。

安装

pip install backtest360-mcp        # or, from a clone: pip install -e .

需要 Python 3.10+ 和 Backtest360 API 密钥。前往 backtest360.com/api-access 即可免费即时获取——提交电子邮件后,系统会立即签发密钥(格式为 b360_…)并发送给你;无需审批。仅通过 API 密钥进行身份验证。免费套餐可使用你上传的数据运行回测;从引擎服务器端获取历史价格数据则属于付费功能。

配置

所有配置均通过环境变量设置:

变量必填默认值用途
BACKTEST360_API_KEY是—引擎 API 密钥,通过 X-API-Key 发送
BACKTEST360_ENGINE_URL否https://api.backtest360.com引擎基础 URL
BACKTEST360_MCP_TIMEOUT否300每个请求的超时时间(秒)
BACKTEST360_MCP_MAX_OUTPUT_BYTES否100000单个工具结果的硬性上限

连接 MCP 客户端

托管方式(推荐)

将 MCP 客户端指向托管 HTTP 端点,并通过 X-API-Key 标头发送密钥:

{
  "mcpServers": {
    "backtest360": {
      "type": "streamable-http",
      "url": "https://mcp.backtest360.com/mcp",
      "headers": {
        "X-API-Key": "b360_..."
      }
    }
  }
}
本地方式(stdio)

自行运行服务,并让客户端通过 stdio 启动它(常见的 mcpServers 格式):

{
  "mcpServers": {
    "backtest360": {
      "command": "backtest360-mcp",
      "env": {
        "BACKTEST360_API_KEY": "b360_..."
      }
    }
  }
}

不想把密钥放在配置文件中?将 command 指向一个小型包装脚本,让它从你的密钥管理器导出密钥,然后运行 backtest360-mcp。examples/mcp.json 中提供了一个最简配置示例。

工具

工具功能
engine_info引擎版本、API 契约、运行状况
get_me已配置密钥的权限:权限范围、限制、当前用量、能力标志
get_catalog参考目录:运算符、执行模式、停止类型、仓位规模计算方法、K 线频率、指标分区
list_indicators发现指标;获取各指标的参数架构
list_templates预设计策略模板——快速发现、完整获取单个模板,可直接验证并运行
get_strategy_schema策略文档的 JSON Schema
validate_strategy验证策略但不运行——返回结构化且可定位的错误
run_backtest运行历史回测
get_latest_signal仅评估最近一根 K 线(无盈亏)
compare_backtests在相同数据上并列运行多种策略
compute_stats根据外部生成的收益序列计算指标集
search_tickers / list_tickers发现资产,以供服务端获取数据
get_data_range获取某个标的可用的历史数据和 K 线数量估算
get_ticker_info一次调用获取标的身份信息和数据覆盖范围
get_quote获取某个标的的最新可用价格(付费套餐)
get_price_history获取日期范围内的 OHLCV 价格历史(付费套餐;长历史数据会降采样以适应限制)
list_macro_series / get_macro_series宏观经济数据:列出序列目录,然后获取某个序列的观测值

静态目录的开销很低,也以 MCP 资源形式发布 (backtest360://catalog/{name}, backtest360://schema/strategy),供支持资源附加的客户端使用。

提示词

两个工作流提示词为已连接的 AI 搭建常见的多工具工作流:分别列出要调用哪些工具、调用顺序,以及要查看结果中的哪些内容。它们不提供解读,也不执行计算——推理由已连接的 AI 完成。

提示词参数搭建的工作流
robustness_reviewsymbol、strategy(可选)评估回测策略的稳健性:验证 → 运行 → 与买入并持有进行比较 → 权衡证据基础(样本量、显著性/稳健性统计数据、警告)→ 附带限定说明的摘要
build_and_validateidea将自然语言构想转化为经过验证的策略:查看目录 → 获取架构 → 构建 → 验证并修复,循环进行 → 试运行

响应整形

完整的回测结果有数 MB;而 Agent 的上下文容量有限。run_backtest 和 compare_backtests 接受 response_detail 参数:

  • summary(默认值)— 核心指标、警告、计数、权益曲线端点
  • stats — 套餐允许的所有指标
  • full — 另外包含序列(经过降采样,保留端点)和交易(分页)

run_backtest 还接受 max_series_points(默认值为 500,必须 >= 2),用于覆盖序列降采样上限——长时间运行时可调高以获取全分辨率序列,也可不设置,沿用今天的默认值。

include=["trades", "equity_curve", "monthly_returns", "yearly_returns", "signal_diagnostics"] 可在任意详细程度下添加指定区块。 signal_diagnostics 会报告每根 K 线上触发的入场/出场条件,并为每个条件列出数量受限的触发日期(而不是原始的逐 K 线布尔数组,因为降采样会破坏这些数组);如果运行结果没有可供评估的条件树(例如使用了预计算信号),则返回 {"available": false, ...}。超出输出上限的结果会进一步缩减,并明确标记为 truncated_by_mcp——不会被静默截断。整形操作只会选择和精简引擎返回的内容;不会计算或更改任何值。

错误语义

专为 Agent 设计:

  • 可通过更改请求修复 → 作为普通结果返回:验证失败会以 {"valid": false, "errors": [...]} 的形式返回,其中包含机器可读的代码和文档位置;引擎拒绝请求时会以 {"accepted": false, "error": ...} 的形式返回,并附带提示。
  • 无法通过这种方式修复 → 返回包含明确指引的工具错误:速率限制会附带 Retry-After 值;引擎繁忙时会提示使用退避策略重试;计算超时时会提示不要重试,而应缩小范围;权限问题会指出缺少的能力。错误中会包含引擎请求 ID,便于寻求支持。

运行测试(自托管)

pip install -e ".[dev]"
pytest   # unit suite vs a mock engine — no network

问题 / 反馈

有问题或反馈?请发送邮件至 [email protected] —— 我们会阅读所有来信。backtest360-mcp 正在积极开发中,欢迎帮助我们完善它。

错误报告和功能请求:在 GitHub 上提交 issue。

许可证

MIT —— 参见 LICENSE。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。