最近整理回测工具时,我发现大家往往先比较工具有多少功能,却很少定义怎样才算一次可信的回测。这样选出来的工具即使界面顺手,结果也可能无法复现。与其围着产品介绍转,不如准备一套固定策略,让不同平台回答同样的问题。本文以聚宽、掘金量化和水母量化为观察对象,来给大家分享一套可执行的验证方法。
测试策略不需要复杂。可以选一只流动性正常的标的,用日线均线交叉产生买卖信号,设置固定资金和仓位,并限定同一段历史区间。目的不是追求收益,而是减少变量。策略越简单,越容易发现不同平台在复权、信号时间和成交处理上的差异。
开始前还要统一手续费、印花税、滑点和基准。若平台无法配置某项参数,就把它记为限制。回测结束后,先核对第一笔和最后一笔交易,再抽查信号日期。只看最终收益率,很难判断偏差来自策略还是引擎。
聚宽采用在线Python策略环境,可以把信号计算、下单和日志写进代码。验证时用record和日志保留关键变量,再对照持仓与交易明细,确认信号是否使用了当时能够取得的数据。

掘金量化支持Python、C++、C#和Matlab,策略可在本地运行,回测参数包含手续费、滑点、成交比例与复权方式。应把代码版本、数据范围和参数一起保存,并导出绩效明细。策略修改后,才能判断结果变化来自逻辑还是环境。

水母量化通过条件和参数配置轮动、网格、日线双向与T+0等回测。对不写代码的用户,验证重点不是查看模板数量,而是确认界面上的每个条件对应什么计算时点。以T+0回测为例,需要检查底仓、单次交易数量、手续费、印花税以及收盘仓位处理是否符合自己的交易习惯。图形化工具降低了搭建门槛,但也意味着策略只能使用平台已经提供的因子和规则。遇到无法表达的条件,应明确记录,而不是用相近指标替代。但提醒大家网格回测基于理想假设,理论结果不能直接视为实盘表现。

三款工具跑完同一思路后,不必要求收益完全相同,但主要信号日期应当能够解释。如果差距较大,可以按数据复权、信号时间、成交价格、停牌涨跌停处理和交易成本依次排查。再把历史区间拆成前后两段,前段调整规则,后段只做验证,减少参数对单一行情的依赖。工具选型最终看的是能否复现和解释。我的建议是如果你会Python、重视研究过程,可以使用聚宽;如果你需要本地开发和多语言环境,可评估掘金量化;如果你不编程且策略属于现有场景,可以尝试水母量化。保留参数、日志和交易明细,才能让结论经得住复查。
回测平台的价值不在于生成一条漂亮曲线,而在于帮助开发者定位假设、验证规则并发现偏差。用最小策略统一参数,再逐笔核对结果,比直接比较功能列表更可靠。无论使用代码平台还是可视化工具,都要把数据条件、撮合规则和成本写清楚。只有别人能够理解过程,自己隔一段时间也能复现结果,这次回测才真正具有参考价值。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。