如果你构建一个有100个参数的策略,完全可能通过优化参数,使历史业绩看起来非常棒。同样可能的是,该策略的未来业绩与回测结果截然不同、非常槽糕。这么多参数,只是使模型与过去发生但未来不会再重现的任何偶然历史事件吻合。实际上,即使只有一两个参数(如建仓和清仓阈值),也很难避免所谓数据迁就偏差,第3章会讨论怎样减小数据迁就偏差的影响。一般而言,策略的规则越多,模型的参数越多,就越有可能遭遇数据迁就偏差。能经得起时间考验的往往是简单的模型。
人工智能与选股
《纽约时报》前些日子发表过一篇文章,介绍了Ray Kurzweil先生新创立的一家对冲基金。Ray Kurzweil先生可称得上是人工智能领域的先驱。(这里要感谢我的博客读者YaserAnwar,是他向我推荐了这篇文章。)据Kurzweil透露,他的基金的选股决策都是由机器完成的,“……能够观察数十亿笔市场交易,从而发现那些人工无法察觉的模式”(Duhigg,2006)。
虽然我是一名算法交易的信徒,但是当我得知这一交易是基于“人工智能”方法的时候,我对此还是有些怀疑。
我们可以这样简单地理解人工智能(AI),它就是一个尝试使用包含众多参数的函数来拟合历史数据的过程。AI常用的工具有:神经网络、决策树和遗传算法。因为包含的参数很多,我们可以相信它能够捕获到那些人类根本无法察觉到的细微模式。但是,这些模式能够持续吗?这些模式会不会只是一些不会重复的随机噪声?AI领城的专家们向我们保证他们有许多防范措施用以过滤那些瞬间噪声。并且,这些工具也确实在消费者营销和信用卡欺炸检测上效果显著。消费者行为和作编行为的模式显然都具有较长的持续期,这使得这些AI算法即使包含大量参数也能有效运行。然而,以我的经验来看,要对金融市场进行预测,这种防范措施是远远不够的,并且时历史数据嗓声的过度拟合还会带来严重后果。事实上,我以前也建立过许多基于AI算法的金融预测模型。每次我费尽心力所建立的那些在回测中业绩优异的模型。在之后的实际交易中的业绩却令人十分失望。主要原因可能是,相对于可以获取的大量相互独立的消费者行为和信用交易数据,我们能够获取的在统计学意义上相互独立的金融数据的数量是非常有限的。(你可能会说,我们拥有大量分时金融数据可供使用。但实际上,这些数据是序列相关的,并不是相互独立的。)
但这并不意味着所有基于AI的方法在进行预测时都是无效的。
我使用过的有效的AI方法通常具有以下几个特征:
·基于正确的计量经济学或理论基础,而不是随机发现的模式。
·所需的参数用到历史数据较少。
·只用到了线性回归,并未使用复杂的非线性函数。
·概念上很简单。
·所有优化都必须在不含未来未知数据的移动回顾窗口中实现,并且这种优化的效果必须不断地被未来未知的数据所证实。
只有满足了这些约束条件的交易模型,我才敢用我那少量且宝贵的历史数据进行检测。显然,“奥卡姆剃刀原理”不仅在科学上有效,在金融上也是如此。