跳至正文

回测与验证

回测策略构想,检视历史证据

工厂在配置的费用和执行假设下,使用历史数据测试策略代码。优化工具会探查参数稳定性,而 AI 分析师则评估证据并建议下一步。

backtest_review.py
net_pnl = gross_pnl - fees
peak = equity.cummax()
drawdown = equity / peak - 1
assert train_end < test_start
跨验证窗口的历史策略路径,含回撤与结果分布

示例展示 · 非实盘结果

看看策略工厂如何运转。

示例展示 · 非实盘结果

观看 AI 代理构建并审查策略。

AI 代理负责完善创意、编写代码并评估测试结果。审查结论可能会将策略送回,进入下一轮迭代。

  1. 描述
  2. 构建与验证
  3. 回测
  4. 压力测试
  5. 模拟交易
01

模拟交易条件

回测使用历史数据、已配置的费用和适用的执行假设。数据覆盖、资金费率、滑点及市场冲击都可能显著改变结果。

02

不只看收益率

查看权益曲线、回撤、收益分布和逐笔交易。同时检查测试时期、样本量和假设。

03

检验稳健性

敏感性分析、滚动优化与留出验证,用于检查所选参数和训练窗口之外的结果变化。

让假设与结果一起呈现。

漂亮的图表只是审核的起点。比较交易成本与预期优势,检查样本外表现,并识别结果是否集中于少数交易或时期。

  1. 输入

    数据时期、交易场所、费用

  2. 测试

    回测、滚动测试、留出验证

  3. 证据

    指标、交易记录、审核意见

让后续数据检验此前的选择。

前向滚动测试在较早的窗口上拟合,并在较晚的窗口上评估。保留的留出集始终置于优化窗口之外。

请查看实际的拆分日期和交易笔数。在多次尝试中反复利用留出集的反馈会削弱其独立性。

拟合验证留出集
示意图:三个拟合与验证窗口按时间向前推进;留出集始终保留在右侧。窗口长度和间隔取决于具体配置。

一点点成本就可能吃掉巨大的优势。

策略交易越频繁,其结果就越依赖于执行假设。移动滑点控件,即可看到同一总回报在不同成本下的表现。

换手率
相对于起始权益的总成交名义金额;每一次买卖都计入其中。
费用与滑点
在实际报告中核对所配置的交易所费用和价格假设。
净结果
将剩余的优势与最大回撤、样本量和样本外结果进行比较。

看看执行成本如何改变结果。

总回报12.0%
建模成本2.0%
扣除这些成本后的净回报10.0%

示例假设:总回报 12%,累计成交名义金额相当于起始权益的 40 倍,每笔成交名义金额收取 2 个基点的费用。成本 = 换手率 ×(费用 + 滑点);1 个基点 = 0.01%。此为线性示意,不含复利、资金费率和市场冲击。

问题与解答。

更多问题与解答
好的回测能保证未来收益吗?

不能。回测是模拟结果,受数据、假设与选择过程影响。验证有助于发现弱点,但无法消除交易风险。

这些费用是我的账户实时费率吗?

不是。这些是模拟默认配置。你的交易所等级及产品规则可能不同,解读结果前应先查看假设。

滚动前向测试(walk-forward testing)和留出验证(holdout validation)有什么区别?

滚动前向测试反复在较早的数据上拟合,并在较晚的窗口上进行评估。留出验证则在这些优化窗口之外预留的一段时期内检验所选参数。请查看实际的日期、交易次数和报告;反复使用留出期的反馈会削弱其独立性。

除了总收益之外,我还应该关注哪些结果?

查看回撤、交易成本、交易次数及其分布、持仓周期以及样本外结果。留意是否过度依赖少数几笔交易或某一个市场时期。仅凭较高的收益并不能说明策略是如何赚到这些收益的,也无法说明过程中经历了怎样的亏损。

为什么要测试邻近参数,而不是直接采用最优设置?

一个表现看似出色、但其邻近参数表现很差的设置,可能是脆弱的。敏感性分析展示了结果在所选参数附近的变化情况。在评估某种模式是否具有普遍性而非仅仅是某一次选定结果的巧合时,应将其与滚动前向测试和留出验证的证据结合使用。

为什么两个类似想法的回测结果会不一致?

不同的标的、数据时期、K线周期、入场和出场规则、手续费或执行假设都可能改变结果。在将某种差异解读为改进之前,请先比较配置和可用数据,以及交易记录。

了解每项结果能证明什么

基准与参数研究

在优化前检查完整历史基准。分析师会依据证据确定参数搜索范围;训练诊断不能证明样本外表现。

探索优化

独立实验

使用 Backtest Lab 研究策略,但不要将该实验视为新的模拟盘或实盘批准。请结合结果审查代码、数据窗口和成本。

探索 Backtest Lab

证据可能仍无法得出结论

即使回测结果为正,独立观测次数仍可能太少。低置信度的模拟盘研究会保留其标签,且绝不会自动授权真实资金交易。

阅读验证指南

从值得检验的问题开始。

探索已发布的策略,或打开工作区,使用 AI 代理构建、测试并监控你自己的策略。

Stratmill 是 AI 交易策略平台,不提供财务建议,也不是经纪商。回测和模拟交易结果均为假设性结果。交易存在亏损风险。

回测实验室

在您的工作区中运行测试。

选择策略、调整参数,并在启动回测或优化前查看预估积分成本。

产品内部一览

查看一份实际的研究记录。

这项公开策略在评审后被拒绝。查看其假设和记录的发现,了解为何仅凭正向的醒目收益数字并不足够。

阅读公开报告
Stratmill 公开策略报告,包含研究结果和评审发现
公开产品截图。历史研究结果,不构成实时表现声明。

了解证据能够说明什么。

检查输入数据

数据可用性、交易品种历史、费用和成交假设因交易场所而异。请查看本次运行所记录的数据覆盖范围和假设。

探索市场数据

区分测试与前瞻性证据

回测模拟的是过去的表现。模拟交易会增加前瞻性观察。置信度较低的结果未经统计证明,低置信度结果和模拟交易的观察也都不构成收益承诺。

探索模拟交易

单独授权实盘交易

打开工作区、导入代码或启动回测,均不代表您授权提交真实资金订单。实盘执行需要获得您的批准,并使用已连接且受支持的账户。

探索实盘交易