
Quant Trading for Beginners:从假设到回测执行
Senzoukria 最新更新的量化研究指南给出一个示例:40%的交易平均盈利3个跳动点,60%的交易平均亏损1个跳动点,毛期望为0.6个跳动点;若往返成本为0.8个跳动点,净期望变为−0.2个跳动点。这个算式不构成平台业绩声明,却准确说明了量化研究的起点:先定义可证伪的问题,再验证数据、执行模型和成本假设。
对初学者而言,难点不是把指标堆进代码,而是把模糊观察转换成可重复测试的规则。回测结果也不能脱离样本量、回撤和数据处理过程单独解释。
先冻结研究问题
“买入强劲订单流”不是策略定义。变量不完整,测试无法复现。
指南建议在运行回测前,明确以下字段:
- 交易品种;
- 交易时段;
- K线或柱线构造方式;
- 入场时点;
- 出场规则;
- 仓位大小;
- 数据排除条件;
- 订单流信号的阈值;
- 用于比较的对照组。
例如,可以把问题写成:在固定交易时段内,某个预先定义的 Delta 条件是否会改变下一根柱线收益的分布。这里研究的是条件与收益分布之间的关系,不是直接生成入场建议。
阈值和对照组必须在查看结果前固定。否则,研究者很容易根据历史结果反复修改规则,把测试集变成训练集。此时,回测仍可能显示漂亮曲线,但统计意义已经发生变化。
数据检查也属于策略逻辑,而不是清洗阶段的附属工作。至少需要核对缺失区间、重复事件、时区、期货合约换月和计价单位。能够正常加载的图表,只能说明当前文件可读取,不能证明历史覆盖完整。
毛期望必须经过成本过滤
上面的算式可以拆开:
0.40 × 3 − 0.60 × 1 = 0.6
结果是每笔交易的毛期望,单位为跳动点。加入0.8个跳动点的总往返成本后:
0.6 − 0.8 = −0.2
胜率不是核心指标。40%的胜率同样可能产生正毛期望;反过来,正毛期望也可能在手续费和交易成本加入后消失。
实际计算时,应使用具体交易品种的跳动价值换算现金费用。不能只看平均收益。至少要同步记录:
- 回撤;
- 样本量;
- 持仓暴露;
- 不同时段之间的结果变化;
- 毛收益与净收益;
- 不同市场状态下的分布差异。
如果一个策略只在单一时期有效,或者结果高度依赖少数交易,平均值本身没有足够信息量。研究记录应保存规则版本、数据集版本以及被拒绝的参数组合。脚本化重复计算,优于手工修改表格。
一个研究结果不会自动启动交易程序。资料将历史回测与兼容 Rithmic 账户上的自动执行能力分开描述,后者还受到账户权限和公司规则限制。研究、验证、部署是三个不同阶段,不能用一个名词覆盖。
避免把回测变成训练集
多组参数、多种指标和多个时间区间同时尝试,会提高得到偶然最优结果的概率。来源提到,Bailey 等人曾研究大量配置下的回测过拟合问题。这里的关键不是寻找一条最陡的收益曲线,而是确认模型在未参与选择的数据上是否仍保持相同的统计结构。
适合初学者的流程更简单:
1. 只提出一个可证伪问题;
2. 固定信号定义和比较组;
3. 检查数据完整性与单位;
4. 先运行一次基础回测;
5. 记录净期望、回撤、样本量和分期变化;
6. 再进行按时间顺序的走步测试;
7. 最后评估执行模型与实际账户之间的差异。
走步测试的价值不在于制造更复杂的曲线,而在于保持时间顺序,避免未来数据进入过去的决策过程。Hurst 估计、期权流和订单流也应分别建模。前者存在抽样限制,期权流反映的是已观察到的合约活动,订单流则依赖事件数据与构造规则。它们不是可以直接叠加的同质变量。
Yellow.com 近期报道 OneBullEx 推出面向加密衍生品的期货平台,将量化研究、策略验证和系统化执行整合在同一环境中。报道还提到,其研究模块试图把自然语言策略假设转换为结构化、可回测的代码。无论工具界面如何变化,验证链条仍然不变:假设必须明确,数据必须可追溯,成本必须进入模型,执行限制必须单独记录。
初始实验不需要同时加入所有指标。一个有完整文档、可重复运行、能够解释失败原因的模型,通常比包含大量信号但无法定位偏差来源的系统更适合作为起点。参数优化应放在规则冻结之后,并为每次修改保留版本记录。最终限制也必须写入报告:回测只对给定数据与执行假设成立,不构成未来收益预测。
SEO标题:量化交易入门:从假设到回测执行
Meta Description:从可证伪假设、数据检查到成本计算,梳理量化交易初学者建立回测模型的关键步骤与常见过拟合风险。
相关阅读: 交易员决策疲劳应对策略:减少日内无效交易的系统化方案 、 全职交易员的社交孤立:享受孤独还是走向心理失衡?.