回测何数据挖掘

交易杂谈  / 倒序浏览   © 著作权归作者本人所有

#楼主# 2020-9-27 13:12

跳转到指定楼层
简介
在本文中,我们将介绍交易者广泛使用的两种相关实践,称为回测和数据挖掘。如果我们正确使用这些技术,它们将是强大而有价值的技术,但是交易员经常会滥用它们。因此,我们还将探讨这些技术的两个常见陷阱,即多重假设问题和过度拟合以及如何克服这些陷阱。

测回测只是使用历史数据测试某些交易策略的性能的过程。回测通常从我们要测试的策略开始,例如,当英镑/美元超过20天移动平均线时买入英镑/美元,而当它超过该平均水平时卖出。现在,我们可以通过观察市场的发展情况来测试该策略,但这将需要很长时间。这就是为什么我们使用已经可用的历史数据的原因。
“但是等等,等等!” 我听你说。“你难道不是作弊或至少是有偏见,因为你已经知道过去发生了什么?” 这绝对是一个问题,因此有效的回测将是我们不熟悉历史数据的回测。我们可以通过选择随机时间段或选择进行测试的许多不同时间段来实现。



现在我可以听到另一个人在说:“但是所有等待分析的历史数据都是诱人的吗?也许在等待像我们这样的怪胎发现这些数据中存在着深刻的秘密。会吗?我们首先检查该历史数据,对其进行分析,看看是否可以找到隐藏在其中的模式,这对我们来说是多么错误?” 这个论点也是有效的,但它使我们进入一个充满危险的领域……数据挖掘的世界
数据挖掘
数据挖掘涉及搜索数据以定位模式并找到变量之间的可能关联。在上面涉及20天移动平均策略的示例中,我们只是突​​然想到了该特定指标,但是假设我们不知道我们要测试哪种策略?那时,数据挖掘就派上用场了。我们可以搜索有关英镑/美元的历史数据,以查看价格跨越许多不同的移动平均线后的表现。我们还可以对照许多其他类型的指标检查价格变动,并查看哪些指标对应于较大的价格变动。
数据挖掘的主题可能会引起争议,因为正如我在上面讨论的那样,它看起来有点像欺骗或“展望未来”。数据挖掘是一种有效的科学技术吗?一方面,科学方法说我们应该先做一个假设,然后再对我们的数据进行检验,但另一方面,似乎应该先对数据进行一些“探索”以提出一个假设。那哪个是对的?我们可以查看“科学方法”中的步骤,以找到造成混乱的根源。该过程通常如下所示:
观察(数据)>>>假设>>>预测>>>实验(数据)
请注意,我们可以在观察和实验阶段都处理数据。因此,两种观点都是正确的。我们必须使用数据来创建一个合理的假设,但是我们也使用数据来检验该假设。诀窍只是确保两个数据集不相同!我们绝不能使用与提出假设相同的数据来检验假设。换句话说,如果您使用数据挖掘来提出战略构想,请确保使用不同的数据集对这些构想进行回测。
现在,我们将注意力转向错误使用数据挖掘和回测的主要陷阱。普遍的问题称为“过度优化”,我更喜欢将该问题分解为两种不同的类型。这些是多重假设问题和过度拟合。从某种意义上说,它们是犯相同错误的相反方法。多重假设问题涉及选择许多简单假设,而过度拟合则涉及一个非常复杂的假设的创建。
多重假设问题
要查看此问题是如何产生的,让我们回到示例中,我们对20天移动平均策略进行了回测。假设我们根据十年的历史市场数据对策略进行了回测,然后猜猜出了什么?结果不是很令人鼓舞。但是,由于我们是粗糙而笨拙的交易员,因此我们决定不轻易放弃。十天移动平均线怎么样?这样做可能会更好一些,所以让我们对其进行回测!我们进行了另一项回溯测试,我们发现结果仍然不算很出色,但比20天的结果要好一些。我们决定进行一些探索,并使用5天和30天移动平均线进行类似的测试。最终,我们想到实际上我们可以测试每个单个移动平均线直到某个点,然后查看它们的整体表现。因此,我们测试了2天,3天,4天等等,
现在可以肯定的是,其中一些平均值的表现会很差,而另一些平均值的表现会很好,但是必须有其中一个绝对是最好的。例如,我们可能发现32天移动平均线在这十年内是表现最佳的。这是否意味着32天平均值存在一些特殊之处,并且我们应该相信它将来会表现良好?不幸的是,许多交易者认为情况确实如此,他们只是在这一点上停止了分析,以为发现了很多东西。他们陷入了“多重假设问题”陷阱。
问题在于,某个平均值被证明是最好的,这一事实丝毫没有异常或重要。毕竟,我们针对相同的数据测试了其中的近五十个,因此我们希望偶然发现一些表现良好的公司。这并不意味着在这种情况下“获胜”的移动平均线没有什么特别之处。之所以会出现问题,是因为我们测试了多个假设,直到找到一个可行的假设,而不是选择一个假设并对其进行了检验。
这是一个很好的经典比喻。我们可以提出一个单一的假设,例如“斯科特擅长掷硬币。” 据此,我们可以创建一个预测,说“如果假说是真的,斯科特将能够连续翻转10个头”。然后,我们可以执行一个简单的实验来检验该假设。如果我可以连续翻转10个头,实际上并不能证明这一假设。但是,如果我做不到这一壮举,那肯定会反驳这一假设。当我们进行反复的实验而未能证明这一假设时,我们对它的真实性的信心就会增强。
这是正确的方法。但是,如果我们提出了1000个假设,而不仅仅是关于我是一个很好的硬币推子的假设呢?我们可以对1000个不同的人做出相同的假设……我,Ed,Cindy,Bill,Sam等。好吧,现在让我们测试一下多个假设。我们要求所有1000个人掷硬币。可能会有大约500人翻转头。其他人都可以回家。现在,我们要求这500个人再次翻转,这次大约有250个人将翻转头脑。在第三次翻转中,大约有125人翻转头部,在第四次翻转中,大约剩下63人,而在第五次翻转中,大约有32人。这32个人都很漂亮,不是吗?他们已经连续翻转了五个头!如果我们再翻转五次并平均每次消灭一半的人,我们最终将得到16、8、4。然后2,最后一个人离开了,他连续翻转了十个头。是比尔!比尔是硬币的“神奇”挡板!还是他?
好吧,我们真的不知道,这就是重点。比尔可能是纯粹出于偶然而赢得了我们的比赛,或者他很可能是仙女座星系这一侧的最佳飞人。出于同样的原因,我们不知道上面示例中的32天移动平均线是否仅凭偶然机会在我们的测试中表现良好,还是真的存在一些特殊之处。但是到目前为止,我们所做的只是找到一个假设,即32天移动平均线策略是有利可图的(或者说Bill是个很棒的投币手)。我们尚未实际检验该假设。
因此,既然我们了解到我们还没有真正发现有关32天移动均线或Bill的抛硬币能力的重要信息,那么自然要问的问题是下一步该怎么做?正如我上面提到的,许多交易者从未意识到根本就需要下一步。好吧,以比尔为例,您可能会问:“啊哈,但他还能连续翻转十个头吗?” 对于32天移动平均线,我们想再次进行测试,但当然不能与用于选择该假设的数据样本相同。我们将选择另一个十年期,看看该策略是否同样有效。我们可以继续进行多次实验,直到新的十年期限用完为止。我们称此为“样本外测试”,这是避免这种陷阱的方法。进行这种测试的方法有多种,其中一种是“交叉验证”,但是我们在这里不再赘述。
过度
拟合过度拟合实际上是上述问题的一种逆转。在上面的多重假设示例中,我们研究了许多简单的假设,并选择了过去表现最佳的假设。在过度拟合中,我们首先回顾过去,然后构造一个与所发生的情况非常吻合的复杂假设。例如,如果我查看过去10天的USD / JPY汇率,则可能会看到每天的收盘价是这样的:
向上,向上,向下,向上,向上,向上,向下,向下,向下,向上。
得到它了?看到图案了吗?是的,我实际上也没有。但是,如果我想使用这些数据来提出假设,我可能会想出……
我的惊人假设:
如果收盘价连续两次上涨然后连续一天下跌,或者如果连续三天下跌,我们应该购买,
但是如果收盘价连续三天上涨,我们应该卖出,
但是如果价格连续三天上涨,然后连续三天下跌,我们应该购买。
??听起来像个古怪的假设吧?但是,如果我们在过去的10天中一直采用这种策略,那么我们进行的每笔交易都是正确的!与“多个假设制定者”不同,“过度设定者”使用回测和数据挖掘的方式不同。“过度考验者”没有提出400种不同的回测策略。没门!“过度考验者”使用数据挖掘工具来找出一种策略,无论其多么复杂,在回测期间都将具有最佳性能。将来会有用吗?
不太可能,但是我们可以始终调整模型并在不同样本中测试策略(再次进行样本测试),以查看我们的性能是否得到改善。当我们停止提高性能并且唯一要提高的是模型的复杂性时,我们就知道我们已经越过了过度拟合的界限。
结论
因此,总而言之,我们已经看到数据挖掘是一种使用历史价格数据来提出可行交易策略的方法,但是我们必须意识到多重假设问题和过度拟合的陷阱。确保我们不被这些陷阱所困扰的方法是,使用与数据挖掘探索期间使用的数据集不同的数据集对策略进行回测。我们通常将其称为“样本外测试”。





上一篇:如何利用仓位调整进行风风险管理?
下一篇:凯利公式和爆仓风险
转播转播 分享淘帖
回复

使用道具

成为第一个回答人

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关于作者

李志敏

青铜交易者

  • 主题

    15

  • 帖子

    20

  • 关注者

    1

楼主新帖

Archiver|手机版|小黑屋|联系我们|交易之路 |appname
Powered by 交易之路  © 2019-2020版权归交易之路