SuperAPI AI 工具集

backtest-expert

数据与分析

查看项目

更新于 10-13 16:06

技能介绍

用途

Backtest Expert 是一个用于系统化回测交易策略的技能,基于专业方法论,主张“稳健优先于乐观结果”。其核心目标是找出“失效最少”的策略,而不是纸面上“盈利最多”的策略。通过增加摩擦、压力测试假设,观察策略在悲观条件下是否依然成立——能通过严苛测试的策略更可能在实盘交易中有效。

适用场景包括:开发或验证系统化交易策略、评估交易想法是否足够稳健可用于实盘、排查回测为何产生误导、学习正确的回测方法论、避免常见陷阱(曲线拟合、前视偏差、幸存者偏差)、评估参数敏感性与市场状态依赖性、为滑点和执行成本设定现实预期。

主要能力

该技能提供一套完整的工作流:

  1. 陈述假设:用一句话定义策略优势,若无法清晰表述则不应进入测试。
  2. 零主观规则代码化:明确入场条件、时机、价格类型;出场止损、止盈、时间出场;仓位规模(固定金额、组合百分比、波动率调整);过滤器(市值、成交量、板块、波动率);可用标的范围。所有决策必须基于规则且无歧义。
  3. 运行初始回测:至少 5 年(最好 10 年以上),覆盖多种市场状态(牛、熊、高/低波动),使用现实成本(佣金加保守滑点)。
  4. 压力测试:这是测试时间应集中投入的环节(约占 80%)。包括参数敏感性(止损在基准 50%-150% 间测试、止盈在 80%-120% 间测试、入出场时间偏移 ±15-30 分钟、寻找稳定表现的“平台”而非狭窄尖峰);执行摩擦(滑点提高到典型估计的 1.5-2 倍、建模最差成交、加入订单拒绝场景、使用悲观佣金结构);时间稳健性(逐年分析、要求多数年份正期望、不依赖 1-2 个异常时期、分市场状态测试);样本量(绝对最低 30 笔,偏好 100+,高置信 200+)。
  5. 样本外验证:采用前向滚动分析,在训练期优化、验证期测试、滚动重复,比较样本内与样本外表现。警告信号包括:样本外表现低于样本内 50%、需要频繁重新优化参数、参数在不同时期剧烈变化。
  6. 评估结果:回答优势能否在悲观假设下存活、表现是否在参数变动下稳定、是否在多种市场状态有效、样本量是否足够、结果是否现实。决策标准:部署(通过所有压力测试)、改进(核心逻辑合理但需调参)、放弃(未通过压力测试或依赖脆弱假设)。

技能附带评估脚本,通过命令行运行,接收用户提供的交易指标,从 5 个维度(样本量、期望值、风险管理、稳健性、执行真实性)打分,检测危险信号并输出部署/改进/放弃的结论。输出为 JSON 和 Markdown 报告。

使用方式

前置要求:Python 3.9+(用于评估脚本),无需 API 密钥,不依赖外部数据,指标由用户提供。

评估脚本调用示例:

python3 skills/backtest-expert/scripts/evaluate_backtest.py \
  --total-trades 150 \
  --win-rate 62 \
  --avg-win-pct 1.8 \
  --avg-loss-pct 1.2 \
  --max-drawdown-pct 15 \
  --years-tested 8 \
  --num-parameters 3 \
  --slippage-tested \
  --output-dir reports/

脚本输出:

  • reports/backtest_eval_<timestamp>.json — 结构化评估,含各维度评分、危险信号与结论
  • reports/backtest_eval_<timestamp>.md — 人类可读报告,含维度表格、关键指标与危险信号详情

资源文件包括:方法论参考(references/methodology.md,涵盖压力测试方法、参数敏感性分析、滑点与摩擦建模、样本量要求、市场状态分类、常见偏差与陷阱);失败测试参考(references/failed_tests.md,涵盖失败的价值、常见失败模式与示例、案例研究文档框架、回测评估危险信号清单)。

适用场景

  • 开发或验证系统化交易策略
  • 评估交易想法是否足够稳健可用于实盘
  • 排查回测为何产生误导
  • 学习正确的回测方法论
  • 避免曲线拟合、前视偏差、幸存者偏差等常见陷阱
  • 评估参数敏感性与市场状态依赖性
  • 为滑点和执行成本设定现实预期

关键原则

  • 惩罚策略:处处增加摩擦(高于现实的佣金、1.5-2 倍滑点、最差成交、订单拒绝、部分成交)。
  • 寻找平台而非尖峰:好的策略在止损 1.5% 到 3.0% 之间均可盈利,坏的策略仅在止损恰好 2.13% 时有效。
  • 测试所有案例而非精选样本:研究所有符合标准的标的,包括失败者,避免幸存者偏差。
  • 将想法生成与验证分离:直觉用于生成假设,验证必须纯数据驱动。
  • 常见失败模式:参数敏感、市场状态特定、滑点敏感、小样本、前视偏差、过度优化。
  • 重要提醒:时间分配上,20% 用于生成想法,80% 用于试图打破它们;若策略需要“完美背景”才能工作则不够稳健;若回测结果好得离谱(>90% 胜率、极小回撤、完美择时)需仔细审查前视偏差或数据问题;小优势需要大样本,每笔 5% 的优势需要 100+ 笔交易才能与运气区分。

限制

该技能聚焦系统化/量化回测,要求所有规则预先代码化、执行中无主观判断、在所有历史样本上测试而非精选案例、刻意剥离背景信息(新闻、宏观)。对于需要主观判断的交易设置,此技能可能不适用。资料未提供具体收费、价格、平台兼容性或实际交易效果等信息。