问:机器学习(非传统统计方法如回归)到底在量化金融里哪些方面有应用? 机器学习和统计很难隔离,这里排除传统统计方法是想知道现代机器学习方法在量化金融的应用,如有困难请忽略此要求。 Weicong Liu答: 尝试回答一下这个问题,也算是对自己阅读的一些论文的总结,顺带谈下一点自己的思考。前一阵子被吐槽说中英夹杂,也不是为了装逼,因为其实翻译过来,意思反而有了偏差。 如果你去搜索早期的神经网络、SVM的相关论文,会发现不少是做股票预测的。原因很简单,因为似乎我们可以天然地把股票投资的问题看成一个分类问题或者回归问题。回归的角度,我们可以根据之前的历史数据,预测下一个时间点的股价;分类的角度,我们可以根据历史数据,预测下一个时间点股价的正负。看起机器学习的方法可以完美适用了。不过这个结论显然是错的,因为如果真的完美适用,那么机器学习的大牛们怕是已经赚发了以致无心学术。 那么,问题在哪里?我个人的观点,大家没有太多关注机器学习算法能够work的assumption。以分类问题为例,分类算法能够work的assumption是在同一类下,样本数据应该是i.i.d.的。而股票价格数据特点就是,股票return的correlation极低,noise多,而且不stationary。如果明白了这两点,我们再回过头去看这类文章的思路,就发现了问题。绝大部分文章在提取特征方面基本没下什么功夫,就靠股票的return的信息来构成pattern。这样,因为股票return的不稳定、高噪声、低相关性,使得最终做成的pattern没法满足在同一类的情况下i.i.d的条件,因此,这类方法的失败也是必然的。如果你仔细观察,会发现这类文章喜欢使用IBM啊MSFT啊这样的股票做实验,为什么?因为这种顶级公司股票的价格比较稳定,噪声少,相关性强。 不过,近年来已经有一些研究者开始从别的角度思考问题。传统的机器学习方法使用的基本是是股票的日线图和月线图。实际的股票交易大部分是使用limit order book的,一些能够得到数据的研究者,开始思考将机器学习的方法应用于limit order book层次的数据上,典型的论文就是今年新晋的ACM fellow,Michael Kearns在ICML06上发表的Reinforcement learning for optimized trade execution 不同于之前的论文,这篇文章试图为历史数据的每一个时间点构建state,这样可以将增强学习的框架应用其中。这提供了与以前截然不同的思路,不过也并没有从assumption的层面证实文章的方法确实是适应limit order book数据性质的。 在种种的失败之后,开始有一些learning领域的研究者认识到,如果想在股票投资的问题上成功,似乎不能够独立于股票数据固有的性质。于是开始有一些方法,试图利用股票数据既有的性质,来设计online learning的算法。典型的是之前NTU计算机系的PhD, Bin Li在ICML,IJCAI的一系列paper。他的核心其实就是抓住了股票的mean reversion的性质。简单的理解,mean reversion认为股票有它自己的隐含价值,股价在这个值附近波动。他的这一系列paper,其实就是在怎么找这个’mean’方面有些许变化。在时间点t,最开始他认为这个mean就是t-1的股价,后来他又认为这个mean是过去一个窗口时间上的均值。这些paper的思路、算法都很简单容易理解,但是包含的思想是前人不曾有过的,就是利用股票数据的性质设计算法,而不是硬将数据往既有的机器学习算法里套。他现在已经凭借这些paper在武大金融系当上了副教授。 一家基金公司,通常会同时运行好多种strategy进行投资。这就产生了另外一个问题,应该如何给这些strategy动态地分配权值?机器学习领域有很多类似的问题,比如我要做一个分类问题,我有好多个分类器,如何ensemble它们使得它们的表现比较好?关于多种strategy的权值问题,Das在KDD11的paper,Meta optimization and its application to portfolio selection中有详细的讨论。这类方法被称为Meta-Learning Algorithm。 现如今的股票交易已经比几十年前要复杂的多,催生了很多新的交易场所和交易类型。这也给机器学习的专家们很多的机会。典型的例子是Michael Kearns在UAI09年发表的Censored exploration and the dark pool problem。这篇文章是描述暗池交易的,我在另一个回答里也提到过。向某个暗池提交v股的交易量,如果实际成交量小于v,我们知道其容量;而如果实际交易量就是v,则只能知道其实际容量是大于v的。假使在某时刻,我们需要在K个暗池中交易V手股票,我们就需要根据历史数据推断哪些暗池的容量大,在这些暗池里我们就多投入。如果暗池的容量都stochastic的,是不是就是另外一个更复杂的故事了?事实上已经有很多后续的工作来讲述这个故事,不过不是learning界,而来自主流的FE界和OR界。 那么learning界最为红火的deep learning在这个问题上是否有所斩获?前一阵子看新闻说,已经有几个人利用deep learning的技术开了家对冲基金公司,赚了很多钱。那么deep learning问题在交易上的作用可能体现在哪里?我自己没事儿也YY过这个问题,我觉得可能是在统计套利方面。最简单的统计套利方法是看股价的correlation,比如A和B两只股票价差一向稳定在10块钱,某天价差突然跌倒5块钱,统计套利就假设,这个价差会恢复到10块钱,那么我们就可以就此设计交易策略。如果股价价差真的恢复了,那么就可以实现套利。但是显然,这样的关系可能不是那么明显地存在于股票的价格中,可能存在于return中或者variance中,甚至更高复杂度的统计量中。deep learning提供了将原数据投影到另一个特征空间中的方法,而且是高度非线性的。那么,原数据中没有体现出来的correlation,会不会在这种高度非线性的投影空间中体现出来呢?如果有体现,是不是能够设计交易策略实现套利呢?这是我自己的一点点思考。 |