如何负责任地进行EMA回测?
直接答案
负责任地对指数移动平均线(EMA)进行回测,意味着将其视为一个可重复的实验:你需要明确定义EMA的计算方式、所使用的数据、交易(如有)将如何执行,以及你做出的假设。然后,在控制常见偏差(如过拟合)的前提下,通过样本外测试评估结果,以检查该策略在设计期间之外的时间段是否依然有效。
机制:EMA回测实际测量的内容
EMA是一种加权移动平均线,对近期价格的反应比对较早价格更强烈。在回测中,你通常会按时间顺序逐次计算EMA,并根据这些值衡量基于规则的结果。负责任的回测始于清晰的定义:
- 输入项:定义价格序列(例如仅收盘价或选定的组合)和时间步长(例如逐根K线)。如果你更改输入,EMA序列也会随之改变。
- 计算规则:用文字说明EMA更新公式:每个新的EMA值取决于前一个EMA值和最新价格,使用从选定周期长度导出的平滑因子。
- 决策逻辑:如果你的回测包含交易逻辑,请将其定义为一组明确的条件。单独的EMA值本身并不是经过验证的优势;经过验证的部分是整个规则加上执行模型。
- 数据处理:明确说明你是否在每一步都仅使用过去的信息。如果指标值的计算使用了当时不可用的数据,回测就可能意外“偷看未来”。
许多不负责任的回测正是在这里失败:它们混合了模糊的定义和宽松的数据处理方式,然后将得到的统计结果解释为反映了实时可交易性。
证据或示例:假设、成本和简单的偏差检查
负责任的EMA回测不是为了寻找最高回报,而是使实验可度量且可证伪。请考虑以下组成部分。
1) 每项计算的假设
写下你将应用的假设。例如:
- 价格数据是固定的且为历史数据。
- EMA按指定周期长度逐次计算。
- 如果你评估类似交易的收益,你需要假设一个执行价格模型(例如使用K线的收盘价,或基于K线高低点的近似值)。你必须将其视为一种近似。
2) 成本与执行现实性
即使在教育性回测中,忽略成本和滑点也可能使绩效看起来比实际更好。你仍然可以保持文章不针对特定市场,但原则不变:纳入你计划假设的任何一致的成本模型(交易成本、点差或通用滑点),并在所有参数选择中以相同方式应用它。
3) 偏差控制
EMA研究通常存在偏差。使用以下控制措施:
- 预设规则:在运行回测之前选择EMA周期长度和决策逻辑,或限制搜索范围,以免结果仅在看起来良好时才被“选择”。
- 分离训练和测试期:使用一个时间段设计参数,另一个时间段进行评估。如果你重复使用相同数据来调优和评分,结果可能只是反映了偶然性。
- 样本外和前向滚动测试:在多个阶段重复评估(例如滚动窗口),有助于揭示该方法是稳定的,还是仅仅在一个时间段内幸运。
4) 一个实用的验证工作流程
一种最小化且可重复的工作流程:
- 固定输入(价格序列、时间框架)和EMA计算。
- 固定决策逻辑和任何成本模型。
- 在开发阶段运行回测。
- 在未见过的数据上评估选定的配置。
- 在不同时间段重复以检查敏感性。
这重点关注当测试条件变化时,该方法是否仍保持一致。
局限性和风险:仍可能出现的问题
即使谨慎的EMA回测也可能产生误导。主要的失败模式包括:
- 非平稳性:市场行为随时间而变化。当市场状态特征发生转变时,符合过去模式的规则可能会失效。
- 过拟合噪声:如果尝试过多参数或规则变体,绩效可能反映的是偶然拟合,而非可重复的关系。
- 执行不匹配:回测通常假设理想或简化的执行。如果你的执行模型不现实,观察到的结果可能无法反映可实现的结果。
- 数据质量问题:缺失数据、公司行为调整或时间戳对齐不一致可能会扭曲指标序列,从而影响回测结果。