Token导航 LogoToken导航TokenDH.com
Backtester MCP logo
金融服务stdio官方级别未说明来源级核验

Backtester MCP

MCP Server

本地优先的回测引擎,内置过拟合检测功能,适用于量化交易策略验证。

工具数

13

提示词数

0

GitHub Stars

2

资源数

0
PythonClaude金融数据Claude DesktopClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

bcosm

提供方

bcosm

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

pip install backtester-mcp

详细介绍

backester mcp

本地第一回测引擎,内置过拟合检测。资产类别无关。MCP原生。

License Python Tests

为什么存在

我是一名在校生,即将成为量化交易实习生,在过去的项目中,我一直在遇到现有回溯测试系统的极限。特别是,现有的工具可以运行回溯测试,但很难判断结果是真实的还是由于过拟合等原因。

作为一个有直觉的人,我通常能够解决这个问题并自己验证结果,但对于负责交易的人工智能代理来说,情况并非如此。因此,我决定构建一个任何代理都可以使用的工具,在切换到真钱之前快速可靠地验证策略。

问题

如果你是一个独立的量化分析师或一个迭代策略的人工智能代理,现有的工具假设你想要一个完整的平台。安装引擎本身就是一个项目(Docker镜像、编译的运行时、资产模型脚手架),在迭代时你最需要的具体东西,一个快速的答案是“这个策略实际上是过度拟合还是我只是运气好”,这不是他们开箱即用的东西。

backester mcp是相反的权衡: pip install,任何numpy价格数组都可以使用,统计健壮性工具包(PBO、deflate Sharpe、bootstrap CI、向前走)是核心功能,而不是附加功能。原生MCP服务器意味着AI代理可以直接调用验证管道。

快速开始

pip install backtester-mcp

基于开箱即用的合成数据运行,无需下载数据集:

import numpy as np
from backtester_mcp import backtest

# synthetic price series, reproducible
rng = np.random.default_rng(0)
prices = np.cumprod(1 + rng.normal(0, 0.01, 2000))

# moving average crossover signal
fast = np.convolve(prices, np.ones(10) / 10, mode="full")[:len(prices)]
slow = np.convolve(prices, np.ones(50) / 50, mode="full")[:len(prices)]
signals = np.where(fast > slow, 1.0, -1.0)
signals[:50] = 0

result = backtest(prices, signals)
print(result.metrics)

要针对真实数据集运行,请克隆仓库(git clone https://github.com/bcosm/backtester-mcp)和点 load() 在任何地方 datasets/ 或您自己的CSV/Parquet文件。

主要特点

功能全平台(Zipline、精益等)backester mcp
安装程序通常是Docker、conda或特定于平台的安装pip install
数据模型结构化数据包或特定资产类别任何numpy价格系列
过拟合检测最多向前走PBO+Bootstrap Sharpe+DSR+向前走
执行现实主义按资产配置根据数据自动估计,3种场景模式
AI代理接口REST API或无本机MCP服务器(13个工具)
运行持久性平台特定本地DuckDB注册表

验证流程

backtester-mcp运行一个完整的验证管道,告诉您是否信任策略:

  1. 回测 具有现实的估计填充量
  2. Bootstrap Sharpe CI:夏普与零有区别吗?
  3. 贬值的夏普:它能经受多次测试的校正吗?
  4. PBO(扰动):确切的参数是否可靠,还是你运气好?
  5. 向前走验证:该策略在样本之外是否成立?
  6. 执行场景:乐观、基础和保守的成本假设
backtester-mcp backtest -s strategies/momentum.py -d datasets/spy_daily.parquet \
  --robustness --execution-scenarios --walk-forward

CLI使用情况

# Basic backtest
backtester-mcp backtest -s strategies/momentum.py -d datasets/spy_daily.parquet

# Full validation: robustness + execution scenarios
backtester-mcp backtest -s strategies/momentum.py -d datasets/spy_daily.parquet \
  --robustness --execution-scenarios

# Override strategy parameters
backtester-mcp backtest -s strategies/momentum.py -d datasets/spy_daily.parquet \
  --set fast_period=20 --set slow_period=100

# Estimated fills from market data
backtester-mcp backtest -s strategies/momentum.py -d datasets/spy_daily.parquet \
  --realistic-fills

# Optimize with Bayesian search + PBO check
backtester-mcp optimize -s strategies/momentum.py -d datasets/spy_daily.parquet \
  -p fast_period:5:50 -p slow_period:20:200

# Generate HTML validation report
backtester-mcp report -s strategies/momentum.py -d datasets/spy_daily.parquet \
  --robustness --execution-scenarios -o report.html

# Persist and compare runs
backtester-mcp backtest -s strategies/momentum.py -d datasets/spy_daily.parquet --save-run
backtester-mcp list-runs
backtester-mcp show-run 
backtester-mcp compare-runs  

MCP服务器

backtester mcp通过AI代理的模型上下文协议公开了13个工具:

{
  "mcpServers": {
    "backtester-mcp": {
      "command": "backtester-mcp",
      "args": ["serve", "--transport", "stdio"]
    }
  }
}

如果您的MCP客户端(例如Claude Desktop)找不到 backtester-mcp 二进制,因为venv不在其PATH中,请改用Python模块形式:

{
  "mcpServers": {
    "backtester-mcp": {
      "command": "/absolute/path/to/.venv/bin/python",
      "args": ["-m", "backtester_mcp", "serve", "--transport", "stdio"]
    }
  }
}

可用工具:

工具目的
backtest_strategy运行回溯测试(平坦、估计或保守填充)
validate_strategy完整的验证流程,包括通过/警告判定
validate_robustnessBootstrap Sharpe CI+DSR+PBO
optimize_parameters基于PBO检验的贝叶斯参数搜索
compare_strategies并排比较多种策略
register_dataset从文件路径、CSV或base64注册数据
profile_dataset详细的数据集统计和质量检查
save_run将结果保存到本地DuckDB存储
list_runs列出最近的运行,可按数据集/策略进行筛选
load_run检索跑步的完整结果
compare_runs比较已保存运行的指标
generate_report创建HTML验证报告
strategy_template获取参数化策略代码模板

validate_strategy 该工具在一次调用中运行整个管道,并返回一个结构化的判断:

{
  "verdict": "caution",
  "reasons": ["bootstrap CI includes zero", "conservative scenario negative return"],
  "metrics": {"sharpe": 0.28, ...},
  "pbo": {"pbo": 0.36, ...},
  "scenarios": {"optimistic": {...}, "base": {...}, "conservative": {...}}
}

演出

2024年轻薄笔记本电脑CPU的基准测试(英特尔酷睿超7 256V,月球湖一代;性能与苹果M3 MacBook Air或单线程NumPy/Numba工作负载的Ryzen 7 7840U相当)。Python 3.13,numba 0.65,JIT预热后至少运行5次:

酒吧时间
1000~0.1毫秒
10000~0.6毫秒
100000~8.5毫秒
500000~56毫秒

进程中的第一个调用支付numba JIT编译的费用(大约1到3秒,具体取决于函数)。随后的调用会命中磁盘缓存上的numba,并以上述数字运行。

PBO的工作原理

回溯测试过拟合概率(PBO)回答:“如果我从样本内优化中选择最佳策略,它在样本外表现不佳的概率是多少?”

它的工作原理是将回溯测试数据拆分为S个子周期,然后形成S/2子周期的所有组合作为样本,其余的作为样本外(组合对称交叉验证)。对于每种组合,它都会检查在样本中排名最高的策略是否仍然在样本外的中位数以上。PBO分数是组合中没有的分数。分数高于0.5意味着你的策略更有可能过度拟合。

对于单一策略,backester mcp使用 扰动PBO:它通过在+/-20%范围内抖动参数来生成变量,运行每个变量,然后在得到的返回矩阵上计算PBO。这回答了“附近的参数是否也能正常工作,或者你是否幸运地得到了这些确切的数字?”

来自Lopez de Prado(2018),“回溯测试过拟合的可能性” *计算金融杂志*.

建筑

Data (CSV/Parquet/DuckDB) -> Engine (NumPy + Numba) -> Metrics
                                                    -> Robustness (PBO, Bootstrap, DSR, Walk-Forward)
                                                    -> Sensitivity (Execution Scenarios, Stress Test)
                                                    -> Report (HTML)
                                                    -> Manifest (JSON audit trail)
                                                    -> Store (DuckDB persistence)

策略是简单的功能: f(prices, **params) -> signals.没有类层次结构,没有继承,没有插件系统。

随机订单簿

大多数回溯测试引擎要么忽略填充模拟,要么要求为每个资产类别手动调整模型。backester mcp根据您的价格数据自动估计填充特征:

  • 点差估计:Corwin Schultz(2012)来自OHLC数据,Roll(1984)来自收盘价
  • 市场影响:根据观察到的波动率校准平方根模型
  • 三种执行模式:乐观(零成本)、基数(估计)、保守(2倍价差)

这适用于任何价格系列,无需配置。

贡献

参见\[贡献

目录标签

目录标签

PythonClaude金融数据量化交易本地部署回测工具过拟合检测AI交易金融分析

支持客户端

Claude DesktopClaude

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

13

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdionone部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP