跳至正文

回测与验证

检验想法,审视证据。

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

跨验证窗口的历史策略路径,含回撤与结果分布

看看策略工厂如何运转。

示例展示 · 非实盘结果

观看 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线周期、入场和出场规则、手续费或执行假设都可能改变结果。在将某种差异解读为改进之前,请先比较配置和可用数据,以及交易记录。

从值得检验的问题开始。

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

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