文|王丛 写于2016年7月26日
从事金融创业有半把年了,说实话依然是个门外汉,也只是从丝毫不懂到能明白一些名词的地步而已。期间与非常多的金融从业者交流过,愈发觉得这行业就像中医(绝对是褒义),越是资深的人越从内在机理说明问题,听诊把脉,感性理性并存,一些投资逻辑听起来甚至就像养生。学问太深,我只得管中窥豹,但发觉其中一些投资原则和机器学习的常用策略简直如出一辙,此篇文章就对这些“普世”道理随便侃两句。
大体来讲,机器学习是通过某种算法去解决一个优化问题,最终求得能达到普遍最优解的模型,这里面的一个重要概念就是模型要具备泛化能力,不能overfitting,意思就是有的模型针对某类数据和任务最优,可能换一拨数据就不灵了。转神一想,投资也是一样的。寻找某种策略,在风险与回报中谋求平衡,取得最优,其中风险则总与回报成正比。
特征选择与K线
经典的机器学习重点在于特征选择,数据理解的深,特征选的好效果自然就好。而早在100年前霓虹国就有大神在米市研究出蜡烛图,也就是后来说的K线,遇到“十字星”,就会上涨,而看见“三只乌鸦”则会下跌。当时富豪们就是在做这些特征工程,当然特征玩的简单自然容易被别人炒走,慢慢就有了“十日线穿五日线”等无穷无尽的特征。(这里参考了布娜新老师的一篇文章,大家可以订阅,公众号非常有货)
正则化与风险对冲
无论哪种机器学习算法,都面临着优化模型陷入局部最优的风险,这时这时通常会引用正则化(Regularization)的技巧,可以不精确地理解为:经验风险最小化 + 正则化项 = 结构风险最小化,所谓的结构风险就是整个模型运用到没见过的数据的风险。这么一看,正则化不就是风险对冲么,投资与标的资产收益波动负相关的某种资产或衍生品,比如有名的索罗斯香港战役,就是汇、股、期同时操作,互相对冲。单一的对冲更像是规则系统,而正则化对于所有参数变量进行约束就是在资产组合之上进行复杂对冲了。
混合模型与投资组合理论
一个模型不好使,自然而然就想把诸多模型揉在一起。最有名的Adaboost算法就是这个思路,它认为诸多弱分类器的组合可以等于一个强分类器,就是三个臭皮匠顶个诸葛亮。更哲学的理解是,三个臭皮匠的组合风险总比诸葛亮浪过了的风险小吧。后来的随机森林(Random Forest)和课程学习(Curriculum Learning)则是沿着该思路进一步改善。
投资组合理论也有这样的考虑,若干种证券组成的投资组合,其收益是这些证券收益的加权平均数,但是其风险不是这些证券风险的加权平均风险,投资组合能降低非系统性风险,这样能保证投资预期收益的稳定性从而实现整体收益最大化。这个理论可比Boosting算法早得多,早在1952年就被提出了。现在小散也爱玩这个,建个股票池,组合持仓买进卖出,至于能不能在赚钱,就看各自造化了。
Dropout、Early Stop、交叉验证
机器学习中还有一些常用策略来提高模型稳定性。核心思想都非常简单,Dropout就是随机让某些单元不工作;Early Stop是看见好处就撤;交叉验证(Cross Validation)将样本打散成不同组合再进行训练和检验。我苦思冥想,没想到什么可以直接对应的投资理论,然而这种用最简单的道理来构建模型的奥卡姆剃刀法则,不也和金融市场一样么。避繁就简,避虚就实,越简单直接的策略往往就越有效。
老中医与老司机
投资这行当越老越吃香,这并不是单单靠人脉关系和信息不对称,老中医们沉浸在行业中越久,经验就越丰富,看的也更宽更广更具体。新手看财报,老江湖看精神面貌,到企业走一遭,和高管们聊聊就能看出企业做的到底如何了。
机器学习更类似于开车,新手不用懂换挡也可以轻松上路,毕竟有这么多现成的“自动驾驶”工具。现在深度学习火热冲天,好处在于不必找特征了,然而坏处也在于此,效果不好就多加几层训练模型,并不必深究其中内涵原理,新手也可以玩的风生水起。而一些老司机们则会重造轮子,一点一点地去微调部件,开车上路后,再凭经验反复迭代。