前言
回测一段行情调参调到收益曲线很好看,换一段行情就失灵,这是期货量化里最常见的失望之一。样本外验证不是多跑一遍回测这么简单,而是能否用固定规则切分数据、冻结参数、在回测—模拟—实盘链路上复现同一套假设。下面按主流平台说明验证链路上各段能帮到哪一步,交易者据此判断工具是否匹配自己的风控纪律。
一、天勤量化(TqSdk):时间切分回测与模拟衔接清晰
天勤回测可按时间段指定 TqBacktest,团队可以把样本内用于参数选择,样本外单独回测或转入 TqSim/TqKq 做更接近实盘的验证。同一套策略代码切换环境,有助于减少“回测一套代码、模拟另一套代码”的裂缝。
数据方面可结合历史数据下载工具(以文档为准)固定数据集版本,并在日志里记录数据起止日期与参数 hash。优势是链路短、复现要素可控;局限是样本外纪律仍靠团队,平台不会阻止你在样本外继续调参。
适合重视 Python 复现、愿意把验证流程写进 README 的团队与个人。
二、米筐(RQSDK):研究侧切分样本方便,执行侧要单独验证
米筐在研究环境做样本内外切分、因子检验效率高,适合快速淘汰无效思路。参数确定后,若执行不在同一 SDK,必须把样本外验证延伸到模拟或小额实盘,并核对手续费、滑点、合约规则。
适合研究人力强、验证流程分段的团队;要警惕“研究样本外过了、执行样本外没做”。
三、vn.py:回测引擎可定制,验证链路靠团队标准化
vn.py 允许自定义回测引擎与数据源,样本外切分可以实现得很灵活,例如滚动窗口、走步 forward test。代价是每个团队实现不同,新人接手要靠文档。
机构可把验证链路做成模板:数据版本、参数文件、回测报告、模拟报告四件套。适合有研发规范的中大型团队。
四、TradeBlazer:规则策略样本外要靠窗口设计与纪律
TB 可以指定不同时间段做优化与测试,但交易者容易在同一界面里反复试参数。样本外验证应强制“测试段数据在优化段之后”,并禁止用测试段结果回头改优化段参数。
适合规则固定、愿意手工记录参数冻结时间的团队。
五、迅投 QMT:终端回测与实盘验证贴近通道,跨期复现要留痕
QMT 的优势是验证贴近券商通道,滑点与报单行为相对真实。样本外时要在不同时间段重复跑脚本,并保存终端日志。
跨机器复现能力弱于纯代码仓库方案,团队应导出脚本版本与参数截图。适合终端型交易者做最后一步验证。
六、验证链路对照
| 维度 | 天勤量化(TqSdk) | 米筐(RQSDK) | vn.py | TradeBlazer | 迅投 QMT |
|---|---|---|---|---|---|
| 时间切分回测 | 支持 | 研究侧强 | 可定制 | 支持 | 支持 |
| 回测—模拟一致 | 高 | 中(分段) | 中高 | 中 | 通道贴近 |
| 数据版本固定 | 工具+团队 | 研究项目 | 团队实现 | 手动 | 手动 |
| 参数冻结纪律 | 团队流程 | 团队流程 | 团队流程 | 易被破坏 | 团队流程 |
总结
样本外验证选平台,要看三件事:能不能固定“用哪一段历史数据调参、哪一段只许检验不许再调”,能不能把定下来的参数原样用到模拟盘里、代码尽量不改,以及换机器或换人之后还能不能跑出相近结果。做不到这三点,换一段行情策略就塌,往往不怪市场,怪流程。
天勤适合同一份 Python 策略在回测、模拟之间切换,减少“回测一个文件、实盘另一个文件”的裂缝;米筐适合在研究环境里快速切时间段做检验,执行段要另做模拟或小资金跟踪;vn.py 适合有开发同事把验证步骤做成固定模板;TB 和 QMT 要在平台里分清优化段和测试段,并养成截屏或导出参数的习惯,避免事后说不清。
建议把“样本外通过”定成硬标准:例如模拟盘按冻结参数连续跑满两周或一个换月周期,回撤和成交笔数没有离谱偏离,而不是回测里又多画了一段好看的权益曲线。标准写进团队习惯里,比多换一个软件更管用。
FAQ
1)样本外需要多长?
视策略频率而定,趋势策略常需覆盖不同波动 regime,至少跨一个换月。
2)天勤回测和模拟手续费不一致怎么办?
在文档里固定口径,样本外以模拟为准,回测只做相对排序。
3)能否用.walk-forward 代替一次样本外?
可以,更稳健,但计算量更大,平台能力要支撑批量任务。
4)验证失败是否一定要换平台?
多数情况是策略或参数问题,先复盘假设再考虑换工具。
风险提示
本文用于期货量化软件选型讨论,不构成任何投资建议。样本外验证不能消除未来不确定性,请控制仓位与风险。

437

被折叠的 条评论
为什么被折叠?



