外汇中样本外测试的工作原理:机制、输入、输出和限制
直接回答
外汇中的样本外测试(Out Of Sample Testing)是一种验证方法,用于估算交易策略在未见过的历史数据上的可能表现。其核心思想是将历史价格数据至少分为两部分:一部分用于构建或调整模型(样本内),另一部分则保留(样本外)用于评估表现。这有助于降低结果仅反映从用于创建规则的相同数据中学习到的模式的风险。
它并不能保证未来结果,因为外汇市场行为会随时间变化,且回测与实盘之间的差异(成本、点差、订单执行和实际限制)可能改变最终结果。尽管如此,该方法提供了一种结构化方式,以测试你的评估是否“足够独立”从而具有参考价值。
机制与关键术语
从一个由参数描述的交易规则或系统开始。参数可以是回看长度、阈值或风险控制等。整个流程通常被描述为一种回测加上数据分割的形式。
1) 选择数据集和分割规则
你获取历史外汇数据(例如K线价格、逐笔数据,或可用的经纪商式数据流),并将其分为:
- 样本内(训练/构建):用于拟合参数或决定保留哪些规则。
- 样本外(测试/保留):在拟合步骤中不使用。
分割规则可以是基于时间的(较早数据为样本内,较晚数据为样本外)或基于区块的。在外汇中,通常使用基于时间的分割以避免“看到未来”。
2) 在样本内构建
使用样本内时间段,运行交易逻辑以计算绩效指标,同时调整参数。此步骤旨在创建一个可行的候选策略,而非估算未来结果。
3) 冻结候选策略
一旦选定候选规则和参数,你将其“冻结”。不得再使用样本外数据进一步更改参数,否则保留数据将不再独立。
4) 在样本外评估
然后在样本外时间段重新运行冻结的逻辑,并计算相同的指标集。
5) 比较样本内与样本外表现
有用的比较是候选策略在保留数据上的表现是否与训练阶段“相似”,或是否出现性能崩溃。较大的差距可能表明存在过拟合、对市场状态的敏感性,或回测中存在不现实的假设。
你需要定义的输入
为使测试可解释,需明确影响结果的输入:
- 数据定义:使用哪些价格、时间框架和时区。
- 执行模型:订单如何成交(例如在K线开盘/收盘价成交,是否包含滑点)。
- 成本:点差、佣金,以及如果数据模型包含这些因素,还需考虑融资或掉期假设。
- 订单处理假设:信号在K线内发生时如何处理、多个信号重叠时如何处理,或流动性不足时如何处理。
- 参数选择过程:尝试了多少种选择,以及如何决定保留哪个候选策略。
证据或示例(不暗示结果)
考虑一个简单的假设流程。假设你有一组候选规则,其参数为移动平均回看长度。
- 样本内:2019–2020年数据
- 尝试多个回看值。
- 对每个回看值,使用相同的执行和成本假设进行回测。
- 保留根据既定标准(例如最高净收益或最佳风险调整指标)在样本内表现最佳的回看长度。
- 冻结
- 基于样本内结果选定回看长度后,锁定该参数。
- 样本外:2021年数据
- 在保留时间段运行完全相同的规则和锁定参数。
- 计算相同的指标。
- 解释
- 如果样本外结果在模式和幅度上与样本内结果相当,表明该规则可能较少依赖特定时期。
- 如果样本外结果急剧恶化,表明样本内表现可能与不持续的特征相关。
此示例说明了流程顺序和输入的作用;它并不暗示任何特定参数选择会“有效”。有效性取决于在选择过程中是否真正未触碰样本外数据。
主要局限性与失败模式
样本外测试有助于验证,但仍可能失败。至少应预期以下一个重要局限性:
1) 仍可能发生过拟合
即使有保留数据,若在优化策略时反复查看样本外结果,仍可能发生过拟合。每次迭代都成为将候选策略针对保留数据量身定制的新机会。
2) 数据泄露与隐藏的未来信息
当样本外信息间接影响样本内计算时,就会发生数据泄露。在外汇回测中,这可能源于错误的指标对齐、信号计算中的前瞻性偏差,或使用了意外包含未来K线的数据转换。
3) 市场状态转变
外汇表现依赖于市场状态:波动性、趋势、点差和订单流特征可能变化。即使回测流程正确,适合一种状态的策略也可能不适合另一种状态。
4) 回测现实性差距
回测对建模选择敏感:
- 点差和滑点假设可能与现实不同。
- 执行时机假设可能改变交易结果。
- 公司行为对外汇影响不同,但掉期、资金和可用性限制仍可能影响净收益,具体取决于数据集的建模方式。
由于这些因素,即使样本内/样本外验证稳定,也不能确保未来表现稳定。
验证与下一步检查
要独立验证依赖样本外测试的主张,应关注方法论而非仅看表面绩效数字:
- 确认保留数据的独立性
- 样本外数据是否仅在参数冻结后用于最终评估一次?
- 检查测试是否时间一致
- 分割是否避免了未来信息泄露?
- 指标计算是否对齐,仅使用决策时刻可用的信息?
- 比较同类项
- 样本内和样本外是否使用了相同的执行和成本假设?
- 关注敏感性,而非单一分数
- 若多个参数变体产生相似的样本外行为,结果可能更稳健。
- 定义指标及其含义
- 指标取决于收益、成本和风险的测量假设。需明确比较的内容。
若想深入,一个实用的后续问题是:样本外时间段是如何构建的(单次保留 vs 多次折叠),以及评估过程是否允许基于保留数据反复选择。这些细节往往决定了测试是真正的验证,还是伪装的样本内优化。