关于 Monte-Neo strategy verifier
Monte-Neo 独立审计交易策略回测,供量化研究者及评估人工或 AI Agent 策略的团队使用。它检查未来数据泄漏、交易成本和过拟合,并提供判定、检查依据及可复现证书。
主要功能
- 01未来数据泄漏探测与静态检查
- 02交易成本和滑点检查
- 03Sharpe 与多重检验分析
- 04滚动前推与锁箱测试
- 05策略修复与 Alpha 就绪度评估
- 06可复现的验证证书
适用场景
- 01投资前审计 Agent 编写的回测
- 02检查策略扣除交易成本后是否仍有效
- 03为研究委员会评估排序信号
- 04对照回测监控实盘收益
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
17收录的工具列表 · 更新于 1 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| jobs | integer | 否 | |
| claim | any | 否 | |
| ledger | boolean | 否 | |
| sl_pct | number | 否 | |
| tp_pct | number | 否 | |
| compact | boolean | 否 | |
| isolate | boolean | 否 | |
| repaint | string | 否 | |
| timeout | number | 否 | |
| n_trials | any | 否 | |
| positions | string | 否 | |
| side_mode | any | 否 | |
| trail_pct | number | 否 | |
| ohlcv_path | string | 是 | |
| warmup_bars | any | 否 | |
| registration | any | 否 | |
| signals_path | any | 否 | |
| slippage_bps | number | 否 | |
| symbol_costs | any | 否 | |
| signal_timing | string | 否 | |
| strategy_path | any | 否 | |
| commission_bps | number | 否 | |
| borrow_bps_per_bar | number | 否 | |
| funding_bps_per_bar | number | 否 |
详细介绍
为 AI Agent 和人类编写的交易策略提供独立验证。
在回测触及你的资金之前,发现前视偏差、隐藏交易成本和过拟合。
文档 · 快速开始 · 在 Agent 中使用 · 验证器 API · 陷阱套件 · 更新日志
它在你的回测中发现了数据泄漏吗? 为此仓库点星,让其他量化从业者和 Agent 构建者也能找到它, 或者告诉我们它漏掉了什么。
问题
编码 Agent 可以在几分钟内把一个交易想法转化为回测,然后告诉你该策略年回报率为 40%,夏普比率为 3。大多数时候,这个数字都是错的,原因通常不外乎以下几种:
- 前视偏差。 代码读取了未来的 K 线:
shift(-1)、居中窗口、bfill、对整个序列进行统计、np.gradient、FFT 滤波器。 - 成本缺失。 策略优势小于手续费和滑点,或者成交延后一根 K 线后优势就消失了。
- 选择偏差。 Agent 尝试了 300 种变体,却把表现最好的一种当作唯一尝试过的策略来报告。
回测库会运行你提供的任何代码,却没有一个会告诉你回测本身有问题。
解决方案
Monte-Neo 检查的是回测,而不是创意。 提供价格数据和策略代码 或策略持仓。它会给出四种判定之一、判定依据、具体的后续步骤,以及可复现、可选择签名的证书。
Agent 的策略使用了 shift(-1),因此提前知道了下一次收盘价。Monte-Neo 通过四种独立方式发现了信息泄漏,并指出了对应代码行。修复后,不再存在前视偏差,验证器也如实给出结论:在随机游走中,该策略扣除成本后没有优势。
同一次运行也可以生成供人阅读的报告(--html report.html:单个文件,无脚本、无网络):
报告集中还有更多报告,包括诚实策略和参数搜索报告。
首次运行的文本输出
$ monte-neo verify --ohlcv prices.csv --strategy agent_strategy.py --n-trials 40
REJECT certificate 7f0603b0e604bea5
check category status summary
data_integrity integrity pass OHLCV is clean
lookahead_truncation lookahead fail truncation probe: LEAK DETECTED
lookahead_perturbation lookahead fail future-perturbation probe: LEAK DETECTED
lookahead_static_lint lookahead fail static lint: negative_shift
implausible_accuracy lookahead fail next-bar hit rate 1.000 over 2999 bars (z 54.8)
net_profitability economics fail net total return -64.97% after costs
deflated_sharpe statistics fail deflated Sharpe 0.000 over 40 trial(s)
... (16 more checks)
→ The signal at bar t changes when later bars are removed: compute features only from rows <= t
(no shift(-k), centered windows, bfill or full-sample stats).
→ Fix the flagged source lines (negative shift, center=True, backward fill) and re-run verify. Lines: 6.
本次运行使用了合成随机游走数据;输出已缩短。
| 判定 | 含义 | CLI 退出代码 |
|---|---|---|
PASS | 未发现问题 | 0 |
PASS_WITH_WARNINGS | 可以使用;请阅读警告 | 0 |
NEEDS_MORE_EVIDENCE | 交易次数过少,或 Sharpe 未能经受住尝试变体数量的考验 | 1 |
REJECT | 回测存在问题,或扣除成本后亏损 | 2 |
v0.53 新增:从被拒绝的回测到评审委员会
修复策略,但不让它过拟合
monte-neo repair --demo
monte-neo repair --ohlcv data.csv --strategy my_strategy.py --out repair/
优化器会最大化收益,因此会过拟合。repair 则会尽量减少缺陷。它首先修正前视偏差和重绘问题。然后,它从一份简短的预先声明修复方案列表中(平滑、持有期、无交易区间、分批建仓、中性化、上限、波动率目标)进行选择,使用历史数据中最早的 70 %,依据剩余缺陷数量做选择,绝不依据收益,并将每个候选方案都计为一次试验。最后的 30 % 是锁箱数据,只能开启一次。
共有四种结果:
REPAIRED:在策略选择过程中从未见过的数据上,该策略扣除成本后仍有收益,且未被拒绝(锁箱仍可能要求更多证据,例如更多交易)。REPAIRED_NO_EDGE:缺陷已消除,利润也随之消失,因为利润正是来自缺陷。NOT_REPAIRABLE:需要你自行处理。NOTHING_TO_REPAIR:目录中没有可修复的问题。
原始文件不会被改动。在随机游走中,Trap Suite 中存在信息泄漏的 68 个策略,没有一个会得到 REPAIRED 结果。指南。
是 Alpha 吗?面向委员会的 Alpha 就绪等级
monte-neo alpha --demo --aum 2e5
monte-neo alpha --ohlcv universe.csv --scores scores.csv --aum 5e7 --book book.csv --n-trials 40
排名信号要通过基金研究委员会在拨付资金前进行的检查:
- 信号强度:排名 IC、衰减、分位数、安慰剂得分;
- 归因:这是 Alpha,还是换了个新名称的动量和做空波动率?
- 对你的投资组合的价值:边际夏普比率;
- 可实施性:按你的资金规模计算的平方根冲击、容量、做空部分、再平衡日;
- 稳健性:子集、起始日期、自助法市场;
- 数据与流程:当日指数成分、交易所收盘时间不匹配、发布后的衰减;
- 多重检验:t ≥ 3 的门槛、最低回测长度;
- 风险:明确列出的危机、尾部风险。
最终结果会汇总为一行,例如 ARL 6/9 — blocked at 7: tradable and robust (rebalance_timing_luck)。
缺少证据即为“未评估”,绝不视为通过。指南。
模型风险委员会可归档的证据
monte-neo dossier --certificate cert.json --framework sr11-7 --name "Momentum 20" --owner "Desk A"
monte-neo monitor --certificate cert.json --live live.csv # after launch: is the alpha dead?
验证档案是一个包含以下内容的文件夹:
- 一页可打印文档:摘要、检查项、就绪等级、假设与限制、复现方法、签字栏;
- 对照 SR 11-7、PRA SS1/23、MiFID II RTS 6、加密货币检查清单或学术附录的条款映射;
- 证书和环境。
映射展示的是证据,而非合规性。monitor 会将实时收益与回测进行比较,衡量实际滑点,并在优势消失时发出序贯警报。
指南。
机器学习、大模型信号、事件和业绩记录
fit/predict。 定义fit(train)和predict(model, df),而非signal(df)。验证器只会用过去的数据重新拟合;ml_refit_gap会拒绝那些利润来自在整个文件上拟合的模型。--model-cutoff 2024-06。 如果优势只在语言模型训练截止日期之前存在,那就是通过模型记忆进行前视。--events events.csv。 新闻、财报或大模型输出会按发布时间进行关联。报告会显示按事件发生时间关联本可获得的收益。verify --returns manager.csv。 仅根据收益进行尽职调查:平滑处理、遗漏小额亏损、可信度存疑的一致性,以及结合该管理人基金数量评估显著性。verify --legs legs.csv和--null-test pairs.py:pnl。 识别配对交易和统计套利策略中的虚假利润:即使在相互独立的随机游走中,以滚动对冲比率计算的仓位乘以价差变化,也会产生交易者无法获得的利润。--legs会根据各交易腿的持仓数量重新推导盈亏,并拒绝交易腿从未实现的报告收益(同时写入修正后的序列);--null-test会在随机游走上运行策略,此时策略不应产生任何收益。试试monte-neo verify --demo-phantom。- 你所在机构的规则和历史记录。
--policy policy.toml会应用你的阈值并将其记录在证书中。--trials-from mlflow:./mlruns(Optuna、W&B、Ray Tune 也适用)会统计你已记录的运行次数。共享驱动器上的--ledger会统计整个团队的尝试次数。 - 你已经使用的工具。 在 Jupyter 中使用
%%verify,以 Polars 数据帧作为输入,并使用monte-neo dossier --lite为不看夏普比率的人生成一页通俗易懂的摘要。 - 机器学习代码的另外两条 lint 规则。
full_sample_transform(在所有行上拟合的缩放器或 PCA)和target_encoding_full(计算所有行的目标均值并映射回特征)。
指南:机器学习与事件 · 业绩记录 · 配对策略中的虚假利润 · 策略、试验、模型截止日期 · 参考 Alpha。
捕捉隐藏在毫秒中的前视偏差
问题所在。 一条报价有两个时间:交易所为它打上时间戳的时刻,以及它到达你这里的时刻。大多数日内报价回测会按时间戳对报价分桶,因此快速策略会用尚未能看到的价格进行交易。代码检查工具找不出这个问题:泄漏在时钟里,而不在代码里。
Monte-Neo 的功能(monte-neo verify --quotes quotes.csv --strategy my_strategy.py):
- 到达时间前视偏差。 同一策略会根据到达时间构建的 K 线进行交易,并与市场对赌。如果利润只在零延迟时存在,那就是毫秒级的泄漏。
- 利润消失时的延迟。 一个可以据此采取行动的数字:“额外延迟达到 38 ms 时,利润就会消失”。
- 延迟蒙特卡洛。 根据你实际观测到的延迟(在各自的交易场所内),重新抽取每条报价的延迟,进行 200 次带种子的抽样,得到收益分布和亏损概率。它能显示利润是否只是延迟带来的侥幸。
- 订单延迟。
--order-latency-ms会延迟每次成交,因此依赖即时执行的优势会被否决。 - 没有靠近交易所的服务器?
--latency-model lognormal:8,25会假设延迟(中位数和 p95,单位为 ms),而不是读取实际延迟;证书会明确说明这是假设值,而非测量值。 - 一个策略使用多个数据流。
--symbol和--feeds支持策略根据另一种工具的价格交易一种工具(领先—滞后、期货对现货);每个数据流都有自己的延迟。若领先数据在跟随数据变动后才到达,就能被发现。 - 也会探测前视偏差。
verify_strategy的截断和扰动探测会对到达时间 K 线运行,因此会否决读取下一根 K 线(shift(-1))的策略:这种泄漏在任何时钟下都存在。 - 报价质量。 交叉报价、负延迟、乱序到达和突发延迟:拥堵路径(VPN、Wi-Fi)会滞留消息,再成批释放;检查结果会指出这一点,而不会把你的网络状况误报为策略结果。
- 证书。 证书经过签名,并且和其他证书一样,可通过
--recheck复现。
$ monte-neo verify --demo-quotes # no files: a fast strategy and an honest one
$ python -m monte_neo.data.quote_recorder --symbol BTCUSDT --seconds 600 --out quotes.csv # your own latency
它的独特之处:它是一次审计,而不是一种环境。它会接收来自任意来源的成品策略(任何 signal(df) 函数,或 Agent 编写的代码)以及你自己的报价记录,并判断利润能否经受数据实际到达时间的考验,同时生成他人也能复现的证书。策略无需针对特定引擎编写。
适用范围说明:这是实验性功能。延迟检查仅供参考(最多为 warn),且基于合成数据校准,因此请在实际交易的机器上记录真实延迟,或声明假设的延迟,并将判定结果视为以该假设为条件。成交按市价单在中间价执行,延迟包括报价数据延迟(实测或假设)和固定订单延迟。本功能有意不对队列位置和部分成交建模(这需要订单簿和被动订单模型;粗略公式会造成虚假的精确性),因此无法在此验证做市策略;证书会列出这些假设。
阅读指南。
诚实地搜索指标
monte-neo discover --ohlcv data.csv --out found/
尝试数千种因果公式,统计搜索次数,并在打乱的市场数据和锁箱数据上进行测试,最后为胜出者生成证书。在随机游走数据上,它不会选出任何指标(校准测试中 60 次搜索有 0 次选出指标),而普通搜索却会报告高于 6 的夏普比率。 参见指南。
工作流的其余部分
verify --ledger会统计你尝试的每个变体;verify --suggest-fix会将泄漏改写为差异 (指南)。- 信号不得重绘:已显示的信号若发生变化,就会验证失败;需要使用该柱自身价格的信号也会被报告 (指南)。
history、register、oracle、portfolio、doctor:带回归退出代码的证书历史、预先注册的假设、面向 Agent 的 Thresholdout 留出集、同时运行多种策略,以及数据导出中的已知问题 (指南)。- 诚信评分卡展示验证器捕获泄漏和放过诚信策略的频率(假设动物园,包含区间和已知缺口)。
检查内容
| 类别 | 检查项 |
|---|---|
| 前视偏差 | 截断探测(移除后续柱后,第 t 根柱是否发生变化?)、未来扰动探测、外部数据监控(策略读取的文件或网络数据)、静态 AST lint(23 条规则)、不合常理的命中率 |
| 经济性 | 扣除佣金和滑点后的净收益(可选计入资金费用、做空借贷费用、柱内止损和按品种计算的成本,适用于品种组合)、盈亏平衡成本(基点)、一柱和两柱的执行延迟、根据高低价估算的价差与建模成本的比较、根据成交量估算的容量(适用于品种组合,并标出流动性最差的品种) |
| 统计 | 按 n_trials 计入价格的概率夏普比率和 Deflated Sharpe、蒙特卡洛时序测试(信号表现是否胜过其移位副本,还是只是在跟随市场?)、样本量、留出集一致性、自助法置信区间、最低跟踪记录长度以及六个等长窗口各自的结果;对于网格搜索,还会进行前向滚动样本外测试、参数平台测试、回测过拟合概率(PBO)和 Reality Check / SPA 检查 |
| 完整性 | OHLCV 数据异常(NaN、错误价格、柱时间顺序错误)、导致虚假盈利的坏数据(单柱尖峰、价格冻结、未调整拆股、时间缺口)、非确定性信号、品种组合中的幸存者偏差 |
| 延迟(报价) | 到达时间前视偏差(按交易所时间而非到达时间计算盈利)、利润消失时的延迟(毫秒)、基于观测到的延迟分布进行蒙特卡洛测试、订单延迟、报价质量(包括突发延迟)。指南 |
| 声明 | --claim:报告的夏普比率、收益率、回撤和交易次数,并与验证后的数值对比(夸大声明会导致验证失败) |
| 背景 | 使用相同数据和成本的买入并持有策略、按年/季度/月及市场状态划分的结果,以及某个时期贡献全部利润时发出的警告 |
每条规则都有 陷阱套件作为依据: 其中包含 80 个已知会说谎的策略和 35 个诚信对照策略。每次构建都会运行该套件,因此验证器不会悄悄停止捕获泄漏,也不会开始误判诚信代码。
与其他工具的区别
| 工具类型 | 功能 | Monte-Neo 的额外功能 |
|---|---|---|
| 绩效报告库 | 根据收益序列生成图表和比率 | 检查收益背后的回测是否有问题,为尝试过的变体数量定价,并颁发证书 |
| 回测框架 | 运行交给它们的任意策略代码 | 对结果提供独立的第二意见;适配 vectorbt、Backtrader、backtesting.py、bt、Nautilus Trader、Zipline、Freqtrade、Lean 和普通成交记录(前六种已针对实际框架进行测试) |
| 回测中的延迟模拟 | 针对为该环境编写的策略,在回测运行时模拟行情和订单延迟 | 使用你自己的报价记录,审计来自任意来源的已完成策略:利润在哪里消失、针对真实延迟分布进行蒙特卡洛模拟,并提供签名证书 |
| 单个框架内的前视检查器 | 针对该框架的策略,比较截断数据上的指标值 | 适用于任意策略函数或持仓,并增加成本、选择偏差和声明检查 |
| 统计库(Deflated Sharpe、PBO) | 需要自行连接公式 | 完整工作流:探针、引擎、统计、报告、证书和 Agent 工具 |
适用场景
| 你是…… | 使用 Monte-Neo 来…… |
|---|---|
| 使用编码 Agent 构建策略(已使用 Claude Code 和本地 Qwen Code 测试) | 让 Agent 在报告结果前验证自己的回测,并修复它能修复的问题。MCP 服务和 Claude Code 插件会自动完成此操作。 |
| 运行策略仓库 | 添加 GitHub Action。如果拉取请求中的回测存在数据泄漏,或计入成本后亏损,CI 就会失败,并将判定结果作为 PR 评论发布。 |
| 量化研究员、审查人员或资产配置者 | 用一条命令,结合对方的数据和代码,检查别人发给你的策略。重新检查或验证对方提供的证书签名。 |
| 自营交易公司、策略市场或交易课程 | 在人工审查前筛选提交的策略。在上架策略旁发布签名证书。 |
| 基金研究委员会或模型风险团队 | 要求提供 alpha 报告和验证档案:因子归因、容量、就绪级别、与 SR 11-7、SS1/23 或 RTS 6 的条款映射,以及可复现的证书。 |
| 资产配置者或基金中的基金 | 仅根据收益筛选管理人的业绩记录,每次处理一个文件夹(verify --returns-dir)。 |
| 比较 Agent 的研究人员 | 运行 Honesty Bench:为每个 Agent 执行相同任务,并按各 Agent 声称存在实际并不存在的利润的频率评分。 |
为什么选择 Monte-Neo
- 独立验证。 它会检查自己没有编写的代码,并使用不信任策略自身数据的探针。
- 谨慎指控。 在每次构建中,35 个诚实策略(循环、窗口、重采样、滚动窗口内的拟合,以及命中率高且确有优势的策略)都绝不能被误判为存在前视偏差。
- 修复而不过拟合。
repair会根据缺陷数量选择要修复的缺陷,统计每次尝试并交由锁箱判定;如果盈利本身就是缺陷,也会如实说明。 - 为 Agent 打造。 一个包含 23 个工具的 MCP 服务;一个包含技能、斜杠命令和提醒钩子的 Claude Code 插件;以及适用于 Codex、Gemini CLI、Cursor 和 Qwen Code 的规则。每项未通过的检查都会返回 Agent 可以执行的
next_action。 - 机构级证据。 包含就绪级别的 Alpha 报告、映射到模型风险框架的验证档案、实时监控,以及记录在每份证书中的自定义策略。
- 考虑时间因素。 它会检查盈利能否经受报价实际到达所需的时间,而不只是交易所加盖时间戳的时间。
- 可复现。 相同的数据、代码和
n_trials始终会生成相同的certificate_id。任何人都可以使用--recheck复现证书。 - 经过签名。 Ed25519 签名会显示证书的签发者,并证明证书未被篡改。
- 如实处理选择偏差。 声明你尝试过多少种变体,或者让
verify_grid为你统计。Deflated Sharpe 会将其纳入计算。 - 本地且私密。 你的数据和代码绝不会离开你的计算机。采用 MIT 许可。
快速开始
pip install monte-neo
monte-neo verify --demo # no files needed: a strategy that peeks at tomorrow's close is rejected
monte-neo init-ci # write a GitHub Actions workflow that verifies your strategy on every pull request
命令行
monte-neo verify --ohlcv btc_1h.csv --strategy my_strategy.py --n-trials 12 --out verdict.json
my_strategy.py 定义 signal(df),它会为每根柱返回一个仓位:+1 表示做多,0 表示空仓,
-1 表示做空,或返回类似 0.5 的权重(半仓做多)。在第 t 根柱上决定的仓位
会在第 t + 1 根柱的开盘时成交。
def signal(df):
fast = df["close"].rolling(20).mean()
slow = df["close"].rolling(80).mean()
return (fast > slow).astype(int)
Python
from monte_neo.verify import verify_strategy
report = verify_strategy("btc_1h.csv", strategy="my_strategy.py", n_trials=12)
print(report["verdict"], report["next_actions"])
诚实统计试验次数的参数搜索
monte-neo verify --ohlcv btc_1h.csv --strategy sma.py --grid '{"fast": [10, 20], "slow": [80, 120]}'
多个交易品种,以及面向读者的报告
# universe.csv: timestamp, symbol, open, high, low, close; signal(df) returns a weight per row
monte-neo verify --ohlcv universe.csv --strategy xs_momentum.py --html report.html
HTML 报告是一份不含脚本的单文件摘要报告,内容包括:用一句话说明判定理由、与买入并持有策略对比的对数刻度权益曲线、回撤、滚动 Sharpe、月度热力图、时序测试、对成本的敏感度、交易统计、泄漏证据(柱和源代码行)、每项检查、按时期和市场状态划分的结果,以及用于复现运行的哈希值。可以在浏览器中打印为 PDF。请参阅示例报告。
在编码 Agent 中使用
Claude Code(包含 MCP 服务、verify-strategy 技能和 /verify 的插件):
/plugin marketplace add NeoZorK/Monte-Neo
/plugin install monte-neo@monte-neo
任何 MCP 客户端(Codex、Gemini CLI、Cursor 等):
uvx monte-neo mcp
它也已列入官方 MCP Registry,名称为 io.github.NeoZorK/monte-neo。各客户端的设置说明:在 Agent 中使用。
测试情况。 维护者已使用 Claude Code 和本地模型上的 Qwen Code运行该服务。 Codex、Gemini CLI、Cursor 和其他 MCP 客户端使用相同的服务和规则,但目前还没有人报告运行结果。 如果你使用其中任一客户端,花 10 分钟测试会很有帮助:issue #114。
本地 Agent(Qwen Code,或通过 Ollama、LM Studio 或 llama.cpp 在你的机器上运行模型的任何终端 Agent):
qwen mcp add monte-neo uvx --from "monte-neo[mcp]>=0.53.0" monte-neo-mcp
qwen-code 也是 monte-neo bench run 的内置 Agent,因此你可以评估本地模型的诚实程度。
小型模型经常无法通过基准测试任务;这是模型本身的问题,而不是验证器的问题。
设置、--base-url 和故障排除说明:本地 Agent。
MCP 工具(23 个):verify_strategy、verify_grid、verify_quotes、verify_portfolio、verify_returns、verify_legs、validate_alpha、repair_strategy、build_dossier、monitor_live、probe_lookahead、
cost_stress、recheck_certificate、check_signature、render_report、suggest_fix、discover_indicator、
register_hypothesis、compare_certificates、holdout_query、diagnose_data、verdict_schema、verifier_manifest。
GitHub Action
- uses: NeoZorK/[email protected]
with:
ohlcv: data/btc_1h.csv
strategy: strategies/momentum.py
n-trials: "12"
comment: "true" # post the verdict on the pull request
signing-key: ${{ secrets.MONTE_NEO_SIGNING_KEY }} # optional: sign the certificate
upload-certificate: "true" # optional: keep it as a workflow artifact
当结果为 REJECT 时,作业会失败。判定结果和每项检查都会显示在步骤摘要中。
可供检查的证书
每次运行都会生成一个 strategy-verdict/1 JSON 证书,其中包含判定结果、每项检查、
指标,以及数据、信号和代码的 SHA-256 哈希值。
monte-neo verify --recheck verdict.json --ohlcv btc_1h.csv --strategy my_strategy.py # reproduce it
pip install "monte-neo[sign]"
monte-neo verify --keygen issuer # issuer.key + issuer.pub
monte-neo verify --ohlcv btc_1h.csv --strategy my_strategy.py --sign issuer.key --out verdict.json
monte-neo verify --check-signature verdict.json --public-key issuer.pub
展示策略已通过验证:
[](https://github.com/NeoZorK/Monte-Neo)
将徽章链接到验证页面,并附上你的证书和公钥
(/verify/?cert=<https URL>&key=ed25519:<key>)。读者只需点击一次,即可在浏览器中检查签名;不会上传任何内容。
安装选项
pip install monte-neo # verifier, CLI and MCP server
pip install "monte-neo[sign]" # + Ed25519 certificate signing
pip install "monte-neo[parquet]" # + read .parquet tables
pip install "monte-neo[research]" # + interactive research CLI
pip install "monte-neo[plot]" # + charts
pip install "monte-neo[apple]" # + Metal / MLX research engine (Apple Silicon)
pip install "monte-neo[full]" # everything
macOS 或 Linux 上的 Python 3.11+。
研究引擎(考虑手续费的 K 线回测、参数扫描、蒙特卡洛)
Monte-Neo 最初是为 Apple Silicon 打造的快速本地研究引擎,验证器也运行在其上。 该引擎仍可使用,但目前处于维护模式:仅修复 Bug。
from monte_neo.backtest import ExecutionModel, export_sma_sweep, synthetic_ohlcv
ohlc = synthetic_ohlcv(100_000, seed=42)
model = ExecutionModel(commission_bps=5.0, slippage_bps=5.0, warmup_bars=50)
out = export_sma_sweep(ohlc["open"], ohlc["high"], ohlc["low"], ohlc["close"], combos=16, model=model, device="auto")
print(out["device"], out["combos"])
- 下一根 K 线成交、以 bps 计的成本、止损 / 止盈 / 移动止损、资金费率、交易时段
- 导出 API,支持黄金向量、留出集、滚动前向验证、CSCV/PBO 和蒙特卡洛辅助工具
- Metal / MLX / Numba 设备选择,配有内存规划器;在无法使用时会回退到 CPU,而不是卡死
- 用于事件级验证的 Paper OMS
帮助项目
Monte-Neo 免费且采用 MIT 许可证,并以开源方式开发。如果它帮你避免了一次糟糕的回测,以下三件事最有帮助:
- 为仓库点 Star:GitHub。量化从业者和 Agent 构建者通过 Star 发现验证器。
- 告诉我们它捕获或漏掉了什么案例:在 Discussions 中分享, 或提交一个包含最小策略文件的问题。 漏检的漏洞会成为新的 Trap Suite 案例。
- 将徽章添加到你的策略仓库(参见上文的证书徽章部分),让读者知道该结果已经过验证。
项目状态
Monte-Neo 正在积极开发中(Beta 版)。验证器 API 和 strategy-verdict/1
架构在次要版本之间保持稳定。请参阅
路线图。
非投资建议。 Monte-Neo 是一款研究和验证工具。其报告、示例和参考策略用于说明一种方法;它们不是买入、卖出或交易任何金融工具的建议、要约或号召,也不保证盈利。模拟结果和过往结果不能预测未来回报。交易可能造成亏损;使用杠杆时,亏损金额甚至可能超过初始资金。决策及其后果由你自行承担;如需建议,请咨询持牌顾问。
贡献
发现回测或你的 Agent 欺骗你的方式?将其作为陷阱提交。 验证器是否误判了诚实的策略?报告误判。 欢迎提交 Bug 报告和拉取请求;请参阅 贡献指南。 请私下报告安全问题:SECURITY.md。
引用
该方法详见技术说明。
如果 Monte-Neo 对你的研究有所帮助,请引用它。GitHub 会在 引用此仓库下显示引用信息(CITATION.cff)。
许可证
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。