AI 交易的风险:过拟合与黑天鹅事件
过拟合会让一套策略在旧数据上看来出色、在新数据上却毫无用处;而黑天鹅则是任何机器人都未曾为之设计的罕见冲击,这正是为何需要有人的手一直放在停止开关上。
试试上方的演示。当停止开关关闭时,一次黑天鹅走势会拖着账户一路跌到几乎归零;把它打开,同一场崩盘就会在你的亏损上限处戛然而止。这唯一的差别,一套会失血至死的策略,对比一套会被及时叫停的策略,正是本单元要带你理解的核心。有两种失效模式对自动化策略的破坏力胜过其他一切,而它们从相反的方向向你袭来。过拟合是向过去学得太多的陷阱:一个模型过度黏着旧数据,以致把随机的抖动误认为真实的规律。黑天鹅则是相反的问题,也就是未来端出了过去从未包含过的东西,因此再多的学习也帮不上忙。前者说策略把历史研究得太过火;后者说历史从来就不是故事的全部。理解这两者,正是懂得敬重自动化工具的交易者,与被它们悄悄摧毁的交易者之间的分野。
过拟合:学到噪声而非信号
任何一张价格图表里都混杂着两样东西。一是信号,也就是你真正想交易的、真实而会重复出现的规律。二是噪声,也就是随机、一次性的抖动,发生过一次,之后不会以同样的方式再出现。
好的模型会学习信号、忽略噪声。一个过拟合的模型则反其道而行:它把噪声当成有意义的东西背了下来。由于它描摹了历史数据中每一个微小的起伏,它几乎完美地贴合过去,使得它的回测看起来像一台印钞机。但它对未来几乎毫无预测力,因为它所背下的噪声并不会重演。
整个陷阱一句话就能说完:过拟合的策略在旧数据上看来出色,在新数据上却分崩离析。这是真正的机器学习交易的核心风险,也正是第 4 单元所谈的曲线拟合,在规则型策略那一侧所产生的结果。
策略过拟合的征兆
你不必是数据科学家,也能嗅出过拟合。几个明显的征兆会露出马脚:
- 相对于数据而言参数过多。 一套策略的旋钮越多,就越容易把它们扭到让过去看起来完美无瑕。旋钮一大堆、数据却不多,这是警示信号,而不是卖点。
- 平滑得不真实的权益曲线。 真正的优势是坑坑洼洼的。一条几乎完美呈直线上升的回测曲线,通常意味着这套策略是按照过去的确切形状捏塑出来的。
- 脆弱性。 把一个参数轻轻推动一丝,结果就剧烈摆荡;或者策略一碰上从未见过的数据就立刻崩溃。真正的优势不会那么娇弱。
- 需要不断重新调校。 如果它只有在你持续调整时才管用,那你维护的并不是优势,而是在追逐一个不断移动的噪声。
健康的直觉,是宁取较简单、较稳固的策略,而不取复杂、脆弱的那一个,即使复杂的那个秀出更漂亮的回测也一样。稳健性才是能在接触到明日数据后存活下来的东西;而一份漂亮得可疑的回测,往往是警示信号,而不是奖赏。
黑天鹅事件:数据之外的那一天
在 Nassim Nicholas Taleb 的定义中,黑天鹅是一种罕见、高冲击的事件,落在正常预期之外,且只有在它发生之后,人人才把它合理化为“事后看来理所当然”。可以想想突如其来的崩盘、交易所倒闭,或是市场从未计入价格的冲击。
这就是为何黑天鹅对任何自动化策略都是毒药。模型是从它受训与测试所用的数据中学习的。而黑天鹅按定义就落在那些数据之外。模型从未见过任何与之稍微相似的东西,因此它没有任何有效的、学得来的应对方式。它会继续套用那些为一个已不复存在的世界所建立的规则。
情况还会更糟。真实市场具有肥尾,意思是极端的走势发生的频率,高于一个工整的钟形曲线模型所假设的。因此,一套按“正常”波动率校准的策略,对于那唯一真正要紧的一天,其实毫无准备,因为它对“情况能坏到什么地步”的整套认知,一开始就设得太低。
自动化何时会让崩盘更严重
自动化不只是在崩盘时应对不良,它还可能助长崩盘的发生。
在 2010 年 5 月 6 日的闪电崩盘(Flash Crash)中,道琼斯指数(Dow Jones)在数分钟内反弹之前,一度下跌约 998 点(约 9%),市值约 1 万亿美元短暂蒸发,而整起事件前后大约持续 36 分钟。在这类事件中,自动化策略会火上加油:连环的止损单被触发、引发更多卖压,买盘蒸发,导致没有人愿意以合理价格接手,而成交价落在离策略“预期”交易的位置很远的地方。
自动化也会以机器的速度执行纯粹的错误。Knight Capital 就在约 45 分钟内损失了约 4.4 亿美元,起因是一次有缺陷的软件部署,让一套自动化系统发出了一连串非本意的订单风暴。机器人不会恐慌,这听起来像是一项优点,但它也不会停下来思考,而在全速运转之下,那正是危险所在。
为何停止开关需要一个人
两种失效模式都指向同一个安静的教训。要辨识出“这个情况,超出了我的策略所设计应对的任何范围”,是一项需要判断的抉择,而一条固定的规则、或一个用正常数据训练出来的模型,通常无法自行做出这个判断。它只认得别人给它看过的那个世界。
这就是为什么一个手动的停止开关,加上积极的人为监督,是风险控制,而不是设置原始落后的表现。最危险的自动化策略,并不是那个偶尔出错的策略。而是那个充满自信地一路交易进它从未被设计来处理的环境里的策略,因为没有人在旁盯着、等待那个该拔掉插头的时刻。建立这些限制,正是第 6 单元的全部重点。
过拟合的曲线遇上现实
把两套策略并排来看。
策略 A 有 15 个参数,全都以三年的历史数据优化。在样本内,它呈现 95% 的胜率,以及一条丝滑的 +200% 权益曲线。它看起来势不可挡。接着,你原封不动地把它放到一个它从未见过的新年度上运行。胜率掉到约 48%,收益则落在约 −12%。更糟的是,把单一参数推动一格,就把那样本内的 +200% 翻转成约 −5%。这种剧烈的敏感度,加上在新数据上的崩溃,是教科书等级的过拟合:那 15 个旋钮描摹的是过去的噪声,而不是真正的优势。
策略 B 只用了 2 个参数。在样本内,它呈现较为朴实的 80% 胜率。在样本外,它维持在约 74%,而且小幅度的参数变动几乎不会撼动它。它的回测没那么耀眼,但它的优势在它从未见过的数据上依然稳定。
一个有纪律的交易者,会采用策略 B、删掉策略 A,因为在实盘交易中,稳健性每一次都胜过漂亮的回测。
“肥尾”到底是什么意思
许多简单的模型会悄悄假设市场收益遵循一条工整的钟形曲线(正态分布),在其中,巨大的走势罕见到你几乎可以忽略它们。真实市场并非如此运作。它们的收益分布具有肥尾:位于远端边缘的极端结果,发生的频率远高于钟形曲线的预测。
实际上的后果令人不安。一套按“正常”日子调校的策略,会把十年一遇的走势当成基本上不可能发生,因此它决定仓位规模、设定风险时,仿佛那个巨大的冲击永远不会到来。当肥尾真的现身时,而在够长的时间跨度上它总是会现身,这套策略就会被逮个正着,暴露的风险远远超出它曾经估算过的。肥尾是黑天鹅之所以对那些假设风平浪静的模型造成如此巨大破坏的一大原因。
两台把情况弄得更糟的机器
2010 年的闪电崩盘与 Knight Capital 的亏损值得细细思量,因为它们展示了自动化把“糟糕”转变为“灾难”的两种方式。
闪电崩盘是一场流动性连锁崩塌。自动化的卖出催生出更多自动化的卖出,挂在盘上的买单几乎在瞬间被撤走,而有那么几分钟,市场根本没有底。某些资产的价格在市场猛然反弹之前,成交在荒谬的价位上。过程中并不需要任何单一的“程序错误”;众多自动化参与者之间的反馈循环就已足够。
Knight Capital 则是一次部署失误。一次有瑕疵的软件上线,让一段旧代码仍处于启用状态,于是这家公司的自动化系统在市场一开盘的瞬间,就开始发出如洪水般非本意的订单。这并不是策略对市场判断错误,而是一台机器在人类能够介入之前,把一个错误执行了数千次,约 4.4 亿美元在大约四十五分钟内蒸发殆尽。
起因不同,教训相同:没有人为熔断机制的速度,会把一个小小的过失变成一场大灾难。
快速知识检核
用白话说,什么是过拟合? 一套对过去数据调校得太过紧密的策略,以致它背下的是随机噪声、而非真实规律,因此它在回测中看来出色,一旦实盘交易却毫无预测价值。
为何自动化策略在结构上对黑天鹅毫无准备? 黑天鹅按定义就落在策略受训与测试所用的数据之外,因此策略从未见过任何类似的东西,也没有任何有效的、学得来的应对方式;而且市场具有肥尾,使得这类冲击比正态模型所假设的更为常见。
为何决定何时关闭一套策略需要由人来做? 要辨识出当前环境已超出策略所设计应对的范围,是一项需要判断的抉择,一条固定的规则、或一个以正常数据训练出来的模型,都无法可靠地自行做出,因此手动的停止开关与人为监督是不可或缺的控制,而不是系统原始落后的表现。
资料来源
- Notices of the AMS(学术),Bailey、Borwein、Lopez de Prado 与 Zhu,"Pseudo-Mathematics and Financial Charlatanism: The Effects of Backtest Overfitting on Out-of-Sample Performance",说明模型如何可能描述的是随机噪声而非底层规律,进而无法推广到新数据。
- arXiv(学术),Nassim Nicholas Taleb,"Statistical Consequences of Fat Tails",Nassim Nicholas Taleb 对一种罕见、高冲击、且只有事后才被合理化为可预测之事件的定义。
- U.S. SEC 与 CFTC(联合工作人员报告),"Findings Regarding the Market Events of May 6, 2010",关于 2010 年 5 月 6 日盘中崩盘、其规模,以及其约 36 分钟的持续时间。
- U.S. SEC,"Press Release 2013-222: SEC Charges Knight Capital With Violations of Market Access Rule",关于 2012 年 8 月 1 日的软件部署失误及其所导致的亏损。
- OECD(OECD.AI Policy Observatory),"What is AI? Defining AI and machine learning",关于那些从数据中学习规律、而非遵循明确书写规则的模型。