量化策略开发步骤系列(5)前向测试和统计意义
- 前向测试
- 统计意义
- 随机化交易测试
- 重写过去
- 结论
这是量化交易系列文章的第二系列——量化策略开发步骤,第一系列请参考专栏: 量化交易系统。很多朋友反馈最近的文章代码太多,看不懂。
这一部分将实现零代码分享,尽可能简单地介绍量化策略开发的步骤,以便任何交易员或投资者都能理解。我们将讨论概念和结果,以文字和图表形式进行展示,而不是沉浸在代码中。
本文是量化交易系列文章的第五部分。我的目标是以一种简化和非程序化的方式介绍量化交易项目所涉及的步骤。在第 1 部分中,我们定义了我们的假设,即我们可以将交易结果与之进行比较的市场基准,并构建了我们的数据以便在后续阶段使用。第 2 部分介绍了量化交易中的初始回测和一些隐性成本。在第 3 部分中,我们分析了一些投资组合指标以了解我们策略的更多细节。参数分析和过度拟合是第 4 部分的主题。
以下是该系列内容大纲:
免责声明:本文仅供参考,不构成任何交易建议。
这篇是该系列的最后一部分,这几篇文章都有对应的 ipynb 文件,文中出现的图片也都是程序生成的,欢迎大家关注下方公众号并在评论区留言,看下有多少朋友想要这个系列的源代码(如下图所示),下周考虑是否打包发送给大家。
感兴趣的关注下公众号,优先发布,接收后续的更新内容会更及时奥
公众号:码上助君
我们在第 4 部分,展示了我们策略的样本外测试并讨论了其结果。用于开发模型的数据是 2018 年至 2021 年的数据,测试数据是 2021 年至 2022 年的数据。但有一种方法可以更好地利用我们的数据。
前向测试
开发交易模型时常用的一种技术是前向测试,它包括使用部分可用数据训练模型,最后使用小样本进行测试,重复该过程以模拟真实的实时交易情况。通过这种测试获得的结果更加可靠,并且不易出现前瞻偏差。这样做使我们更容易识别策略中的过度拟合。
我在我们的研究中执行了前向测试程序,并获得了与此类似的日志。迭代训练和测试步骤不断向前推进,直到所有数据都经过测试。
前向测试的总体结果在超越基准方面表现良好,但我们可以看到,其他指标还有改进空间。该策略在研究期间的最大回撤为 54%,这对任何交易者来说都是难以承受的。
我们开发了一个工具,可以对我们的假设进行回测,将其与基准进行比较,考虑隐藏成本,计算相关绩效指标,分析对我们模型参数的敏感性,并执行前向测试。
我希望我们的框架具有一个附加功能,即测试我们的策略产生的 alpha 的信心。
统计意义
到目前为止,您一定已经意识到,量化交易在很大程度上依赖于科学方法来获利。科学方法的第一条规则是检验假设以寻找强有力的证据,在大多数情况下,这些证据都得到了统计数据的支持。统计显著性是两个或多个变量之间的关系不能仅靠偶然来解释的有力证据。实际上,我们测试通过我们的策略获得的 alpha 纯属巧合的概率是多少,如果该概率足够低,那么我们就有强有力的迹象表明存在因果关系。这在我们的量化交易领域非常有用,因为我们希望找到能够捕捉实际市场行为而不是随机噪音的交易策略。那么在回测策略时,我们如何测试统计显著性呢?
随机化交易测试
假设我们在整个回测期间进行随机交易,而不是遵循算法建议。用更科学的术语来说,我们在整个回测期间随机化交易。我们重复此过程几百万次,用来检查所有可能的情况,并将其指标绘制成分布,并与我们实际策略的指标进行比较。为了确保交易成本不会对结果产生重大影响,让我们将随机交易的数量固定为与我们策略的交易数量相同。
下图显示了测试期间 100 次迭代的标准化回报:
我们可以看到,不同的随机交易在研究中获得了非常不同的回报。这是一张有趣的图片,但并没有给我们太多信息。让我们运行 100,000 次迭代并在直方图中分析这些回报。正如我们所料,数据分布是倾斜的,大多数随机交易的结果接近 0。红线是分布的第 95 个百分位数,绿线是我们通过策略获得的结果:
我们的策略表现优于 95% 的随机交易方式,这意味着我们的策略随机获得结果的概率不到 5%。你还记得我们第 1 部分中的初始假设吗?我们从测试中看到的统计显著性非常好地表明,加密货币市场确实受到价格趋势的强烈影响。
重写过去
分析统计显著性的另一种可能方法是获取历史价格变化,对其进行“打乱”,并在新的价格变动序列中测试我们的策略。这种打乱在统计学中实际上称为引导法,它允许我们生成随机场景来检查我们的策略如何表现。我们重复这种分析几百万次,并分析我们正在研究的指标的分布。与之前的研究不同,在随机化交易分析中,我们在实际历史价格中测试随机交易,而在这项研究中,我们在从未存在过的随机价格变动中测试我们开发的实际策略。这两项研究的结果非常相似,我们有像下面这样的随机表现场景。
正如前面的分析一样,最有价值的信息是随机表现的直方图。从中我们可以得出一个显著性水平,例如 95%(红线),并将其与我们的策略在实际历史价格中的表现(绿线)进行比较。
结果表明,我们的表现结果来自随机机会的概率不到 5%。这充分表明我们具有优势。
结论
非常感谢您阅读本系列文章。在这 5 篇文章中,我试图简要概述量化交易回测框架的发展及其挑战。事实上,该领域有各种各样的概念、理论和工具,使用它需要不断学习和测试。没有通过交易赚钱的神奇秘诀,即使是再牛逼的策略也可能因多种原因而失败,但我相信,应用严格的科学方法并避免偏见比相信我们的直觉更好。
免责声明:本文仅供参考,不构成任何交易建议。
这篇是该系列的最后一部分,这几篇文章都有对应的 ipynb 文件,文中出现的图片也都是程序生成的,欢迎大家关注下方公众号并在评论区留言,看下有多少朋友想要这个系列的源代码(如下图所示),下周考虑是否打包发送给大家。
感兴趣的关注下公众号,优先发布,接收后续的更新内容会更及时奥
公众号:码上助君