模块|微软亚洲研究院副院长刘铁岩:让智能投资摆脱「纸上谈兵」( 三 )


模块|微软亚洲研究院副院长刘铁岩:让智能投资摆脱「纸上谈兵」
文章插图

为了更好地展示元学习模块的效果,我们限定它的行为——要求它只对未来20天的预测目标进行加权平均,用它来作为预测模型的反馈信号。从图中可以看出通过引入元学习模块,我们在年化收益的层面上有了大幅度提高。
图中绿色曲线表示元学习模块给预测模块提供反馈信号;而蓝色曲线表示用下一期的目标作为反馈信号指导预测学习。
模块|微软亚洲研究院副院长刘铁岩:让智能投资摆脱「纸上谈兵」
文章插图

通过调整投资过程的交易成本,我们发现随着交易成本的提升,元学习模块会把权重更多的分配给更长期的目标值。
换言之,交易成本越高,元学习模块越希望我们频繁交易,算法希望关注长期趋势。这说明元学习模块可以自动学到有用信息,提高预测模型的反馈信号效果。
如何基于市场状态,调整投资策略?大家知道,金融投资有个很大的挑战:股票市场是动态变化的,各种投资因子的有效性随着时间此起彼伏;其中的悖论就是,我们不能确定哪一个因子在哪一个时间段更加有效。
面对这一复杂问题,我们并不是无能为力,至少能做如下的问题拆解:
第一,判断一下当前的市场状态是否在历史上曾经出现过?一旦出现过,就可以利用历史数据中的蛛丝马迹,对当前市场进行处理;如果当前市场状态在历史上从未出现过,说明这是异常的市场,其实我们也不必纠结,“躺平”也许是最好的办法。
第二,假设当前市场状态在历史上曾经出现过,我们需要对历史数据进行充分的学习和总结,以希望从中找到有用的规律。那么相关的问题就是:历史规律是否只有一种?如果有多种相互矛盾的规律,比如动量和反转,又该如何学习?
第三,假设我们已经可以学习了不同的历史规律,那么针对当前市场,该如何动态选择一种或者几种历史规律,做出最好的投资决策呢?
模块|微软亚洲研究院副院长刘铁岩:让智能投资摆脱「纸上谈兵」
文章插图

为了回答这些问题,我们研发了基于市场状态调整和选择投资策略的框架。
我们使用了自编码器对市场状态进行表达,再把这种表达传给异常检测模块。如果异常检测模块对当前市场状态给予非常低的置信度,我们应该采取被动的投资策略。如果置信度比较高,说明我们有一定自信,可以通过组合历史数据和历史规律处理当前情况。
右图是异常市场检测模块的性能,蓝色对应指数波动,橙色对应于异常检测模块给出的置信度。可以看见,2015年股灾附近,异常检测模块就给了很低的置信度,并且提前有所预警。
模块|微软亚洲研究院副院长刘铁岩:让智能投资摆脱「纸上谈兵」
文章插图

可能有人会说,当时整个市场走势异常肉眼可见,何必使用那么复杂的模型来判断呢?
那我们再看一个例子:2019年贸易战期间的市场状态,变化其实没有那么剧烈,人眼不太看出得来。但事实上当时很多行业受到打击,也有很多行业因此得到机会,行业结构的调整,单从指数上是看不到的,但是自编码器就能充分感知。这就是为什么我们的模型,在2019年之初就有非常明确的预警信号。
当我们能够判断当前市场是异常或正常之后,接下来的任务,就是从历史数据中找到未来可以借鉴的规律。
但难点在于,因为历史数据存在各种互不兼容的规律,这些规律反复出现,不同时段出现的频率也不稳定。如果忽略规律的矛盾性,只简单学习一种模型,那这种模型通常会顾此失彼,学到模糊的平均状态,对每一种历史规律的刻画都不到位。