编者按:本文来自点融网旗下微信公众号点融黑帮(微信号:DianrongMafia),作者李云超(点融黑帮),点融网软件工程师,之前就职于 State Street。技术爱好是算法、数学;生活爱好广泛,喜欢调侃。
“不要把所有鸡蛋放到一个篮子里。”这是在投资时常常讲到的一个原理,目的是降低风险。在数学上,这个原理称为最大熵原理(The Maximum Entropy Principle)。
1988年,达拉皮垂兄弟和很多IBM做语音识别的同事,开了一家对冲基金公司——文艺复兴技术公司(Renaissance Technologies)。用最大熵模型和一些其他先进的数学工具,对股票进行预测,取得巨大成功。该基金在创立至今,它的净回报率高达平均每年34%。这个业绩远超股神巴菲特的旗舰公司伯克希尔哈撒韦(Berkshire Hathaway)。即使在金融危机的2008年,全球股市暴跌,文艺复兴技术公司的回报却高达80%。
下面简单介绍下熵及其相关的一些基本概念。
1. 什么是熵
物理熵
熵(entropy)原本是一个热力学概念,源自希腊语“转换”一词。用来衡量能量的不可用程度。
熵S = -∑Pi * log Pi
- λ热力学第一定律:宇宙的能量守恒
- λ热力学第二定律:宇宙的熵恒增
简单解释:一杯热水倒入一杯冷水中,有一定温差,这个温差可以转化成机械能之类的,被我们利用,但随着温差越来越小,能量不可用的程度越来越大,所以熵不断增大。熵恒增可视为一种无限接近但不可到达的状态,跟绝对零度,差不多一个意思。
(关于熵,还有一只妖精的传说,有兴趣的小伙伴可以查查看)
信息熵——如何衡量一条信息的信息量?
举个栗子,16只有标号的球队,要询问多少次才能知道那支球队是冠军(消除不确定性的过程)?通过二分原理来询问是最有效的(最差情况下的最优解):
1.是在1-8号里吗? 是
2.是在1-4号里吗? 否 (说明在5-8号里)
3.是在5-6号里吗? 是
4.是5号吗? 否 (不确定性完全消除,6号球队是冠军)
信息学里,用“比特”(Bit)来度量信息量,可以看出来,信息量的比特数和所有可能情况的对数函数log有关。
再进一步,可能不需要猜四次(但不会比四次多),因为西班牙、巴西、德国、意大利这样的球队,比日本、南非、韩国、中国这样的球队,得冠军的可能性高。所以,权重需要修正一下。
信息熵H(X) = -∑P(x) * log P(x)
其中P表示概率(下面的介绍也是一样)
一条信息的信息量和它的不确定性有着直接的关系,而信息熵就是用来衡量不确定性的程度。
香农没关注过物理学杂志,他从头构建了熵的数学理论,向信息论的鼻祖致敬!
其他相关概念:条件熵,互信息
下图符号定义,熵为H(X),条件熵为H(X|Y),互信息为I(X ; Y)。
熵的概念上面已说,条件熵也不难理解,只不过把概率替换为条件概率即可。互信息有点长,其实也不难理解,下面的推导会得到:I(X ; Y) = H(X) - H(X|Y),即了解Y的前提下,对消除X不确定性所提供的信息量。
可以推导出H(X) >= H(X|Y),有兴趣的小伙伴可以自己试下。这说明,引入其他真实条件后,有助于降低对事件的不确定性,这与直觉相符。如果引入的事件毫无用处,H(X) = H(X|Y)成立,即对分析事情毫无帮助。
当一个事件有了上下文,条件熵就会很有用;判断条件Y对X提供的信息量,互信息很有用。
还有一些其他概念,比如相对熵,也很有趣,这里不再多说。
2. 最大熵模型
最大熵原理:保留全部的不确定性,将风险降到最小。保留了最大的不确定性,也就是说,让熵达到最大。
对任何一组不相矛盾的信息,最大熵模型不仅存在,而且唯一,形式是指数函数。
例如,有20种需要考虑的因素,对应的最大熵模型为
P(d|x1,x2,...,x20) =λ0* eλ1(x1,d) +λ2(x2,d)+。。。+λ20(x20,d)
其中,λ0是归一系数,λi是需要通过模型训练来获得的。
最原始的最大熵模型的训练算法,是一种期望值最大化算法:
1.假设第0次迭代的初始模型为等概率的均匀分布。
2.用第N次迭代的模型来估算每种信息特征在训练数据中的分布。如果超过了实际的,就把相应的模型参数变小;否则,变大。
3.重复2,直至收敛。
这种算法复杂度太高,一般只用来了解这个模型,实际中很少用。
达拉皮垂兄弟在IBM对这个算法进行了两方面改进,提出了IIS(Improved Iterative Scaling)算法,提升了一到两个数量级,才使得有可能实用。
这个模型形式优美,是唯一一种既能满足各个信息源的限制条件,同时又能保证平滑性的模型。比简单组合特征的模型,效果可以提升几个百分点,对投资收益来讲,提升哪怕是1%,利润也是以亿计的。
但这个模型的计算量依旧特别大,在工程上实现方法的好坏决定了模型的实用与否。
3. 信息的整合
如何将各种各样但又不确定的信息综合起来,是一门很大的学问,单靠算法和模型还不够。业务知识,以及如何将业务知识量化,都是很有挑战性的工作。
比如说,对于一个期货模型,如果气象显示秘鲁沿岸的海潮向外移动,那么应该买进或卖出黄豆吗?
如果把类似的问题抛给我,我只能说,这两者有半毛钱关系!
但实际情况确实这样:当海潮向外移动时,秘鲁沿岸的鳀鱼会随着海潮移往太平洋的外海,鳀鱼的捕获量会减少。鳀鱼主要是供日本人饲养牛的,鳀鱼的产量减少时,日本人会以黄豆作为饲料。当黄豆的需求增加,黄豆和黄豆粉期货的价格也会上涨,所以应该买进黄豆。这条信息对消除不确定性,应该有很大权重,但这已经不是工程方面的范畴。
一些看似不相关的信息,也可能有千丝万缕的关联,信息整合需要业务人员和技术人员一起合作,缺一不可。控制风险,任重而道远,一起努力。
引用资料
- 《数学之美》
- 《专业投机原理》
- 《信息简史》