第9章 在Python中创建回测器

到目前为止,我们知道了如何实现交易策略,学会了如何编写代码,使其在交易系统中运行。在实施交易策略之前的最后一步是回测。无论你是想对策略的表现更有信心,还是想向你的经理展示交易理念,你都必须使用一个利用大量历史数据的回测器。

在本章中,你将学习如何创建回测器。你将通过使用大量数据在不同的场景来验证交易策略的性能,从而改进交易算法。一旦实现了模型,就需要测试交易机器人在交易基础设施中的行为是否符合预期。

在本章中,我们将了解回测的工作原理,然后讨论在创建回测器时需要考虑的假设。最后,将通过使用动量交易策略提供一个回测器的例子。

本章将介绍以下主题。

 学习如何构建回测器。

 学习如何选择正确的假设。

 评估时间价值。

 回测双移动平均线交易策略。

回测是创建交易策略的关键之一,它通过使用历史数据评估交易策略的赢利能力。它有助于在面临任何资本损失的风险之前,通过运行模拟产生显示风险和赢利能力的结果来优化回测。如果回测的结果良好(高利润与合理的风险),它将鼓励将该策略付诸实践。如果结果不理想,回测人员可以帮助寻找问题。

交易策略定义了进入和退出资产组合的规则。回测有助于我们决定是否值得采用这些交易规则,它让我们了解一个策略在过去的表现。最终的目标是在分配任何实际资本之前,过滤掉不良的策略规则。

回测可以利用过去的市场数据来健全交易策略。大多数情况下,我们认为回测器就像一个现实的模型,我们会根据经验做出假设。但如果模型与现实不够接近,交易策略最终的表现就会不尽如人意,从而导致经济损失。

首先是获取数据。数据将以许多不同的形式存储,根据形式的不同,需要调整回测器。

回测器使用大量数据。在交易中,每天获取1TB的数据是很常见的。硬盘读取这些数据可能需要几分钟的时间。如果你正在寻找一个特定的日期范围,或者正在寻找特定的符号,有日期、符号或其他属性的性能指标将是非常重要的。金融学中的数据是与特定时间相关联的数值,称为时间序列。常规的关系数据库在读取这些时间序列时效率不高。我们将回顾几种处理时间序列的方法。 ...

Get Python算法交易实战 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.