相信没有什么东西比一个看上去极度精巧复杂的工艺品更招人喜欢了。迈克尔·贝的“变形金刚”有着如此强大的票房号召力至少部分与其摒弃了(相比之下)孩之宝较为弱智的变形风格有关。创新螺旋某种程度上也似乎是如此。可问题也同样摆在了我们的眼前,复杂度和鲁棒性是两个没有必然联系的概念。
长期资本复杂的金融工具拆分让准备接手的人费尽了心思。最后得出的结论是“头寸如此复杂,金钱机器的组成部分在基金的对家中如此分散,以至于简单的途径转移头寸是不可能的。”没什么比这个例子更有说服力了,“精巧的系统与鲁棒性没有必然联系。”《解读量化投资》一书中说到:“许多量化基金采用相对简单的数学公式,只用一两行就能解释清楚。许多量化基金的复杂也许在于它的科技:电脑系统、通信技术、电子交易手段等。”这话说的很实际也中肯。在国内期货市场上,数量化手段应用的远比股票市场要成熟,但一个似乎普遍认可的原则也是“简单、直接、有效”。
投资市场是个英雄莫问出处的地方。只要有业绩,恐怕即便是投掷骰子、算周易也不会有人在乎。在这样的大背景下,算法本身的复杂度确实不是问题的重点。难怪西蒙斯本身也承认,其大奖章基金所用的数学都是很简单的数学(尽管,笔者真的怀疑,一个数学家嘴里的“简单”究竟与普通人的理解有没有什么差别)。可问题是究竟要简单到什么程度却没有一个定论,而且片面的强调简单也多少会产生些误导。一个最起码的常识恐怕是再简单的数学动手能力差恐怕做不好。
先假设其他的工作都已经准备就绪,“就只差算法开发了”。可能是笔者接触面仍然不够宽广,但算法的校验平台在股票市场里基本就没有一个好产品。这些东西往往需要自己动手来完成,因为即便算法开发者貌似大度的与他人分享,别人有没有时间帮这个忙也还是问题。这就直接回到了我们一开始说的那个话题,算法交易的真正复杂之处在于算法之外。即便是想出一个简单到弱智的有用算法,对于校验这个工作来说仍然只是相当于把一切算法转换成一组简单的表达状态的数值并走完自己的运算过程。要一个人完成这么多的工作,不会些编程恐怕是说不过去的。这还只是长征的第一步,还存在着参数优化,仓位控制,资金分配等诸多实际问题,更不用说算法本身就需要考虑一定的复杂度。所以笔者还是想提醒一句,读者最好还是能有个思想准备,不要把算法复杂度和工作量作出过分紧密的假设,往往其他工作也并不轻松。
现实中的问题可不像大学里讲的经济学那样,有着一眼就能看穿的公式结构,各种优美的平滑函数在那里等待着被解答,又或者有了Maple之后,各种计算只是把公式输人到电脑之中就会有个结果。呈现在我们面前的就是一堆数字,其余任何规律的探索都是分析员梳理出来的。可问题来了,有什么理由让我们相信一个确定性的公式存在于这堆一眼看去就让人恶心的数据中呢?更不要提什么平滑、可导之类的苛刻要求了。这或许解释了为什么笔者除非万不得已,否则很少翻开经济学著作或教科书的原因。也有人就此得出了一个跟巴菲特价值投资理念极度吻合的逻辑:“凡是使用微积分之类的数学方法来指导投资都很可疑。”尽管有些偏激,但某种程度上来看有它的道理。最优化的思想仍然是需要的,仅仅是因为目标函数的不确定要求我们通过其他方式对其进行搜索。具有全局优化能力的算法很多,读者可以自已随便翻开一本进行阅读。这可能是笔者尝试解决这一问题所能使用的唯一方法。
我们现在可以比较心平气和的来看待这个问题了。单个算法的复杂程度可能并不高,有些甚至可以最终归结为仅仅是比较两个数值的大小。但算法的设计往往需要参数,而一旦涉及到参数就一定会牵扯到优化等细节问题。这些问题的复杂度一般会超过我们的设想,而且其重要性往往并不差于算法本身。