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