Metabit合伙人浅谈机器学习在量化交易中的应用

时间:2024-03-11 08:15:58

https://www.metabit-trading.com/machine-learning/

Metabit Trading 以机器学习、强化学习为核心技术

我们创立的基于机器学习、强化学习的研究框架在中国期货市场表现优异,使得我们在2019年期货高频竞争激烈的全年依然实现了夏普比率8以上、规模数亿、年化收益翻倍的水平。

2020年我们将这套框架移植到中国A股和全球期货市场,初步研究结果表明,我们在这两个市场也具备如同中国期货市场的领先优势。
这篇文章首先介绍 Metabit Trading 对机器学习、强化学习“黑科技”的理解,然后简要介绍了我们创立的一套多资产多期决策的策略研究框架,并详细分析了它的优势和实践中的困难。

我们认为机器学习是一把双刃剑,既不能“garbage in garbage out”,即随便使用市场数据作为输入,就寄希望于能产出有效的预测,好像万能药解决一切量化投资的技术难题。我们也不能因为不理解、不会处理过拟合而放弃了这把利刃,毕竟海量的交易数据包含大量人工挖掘不到的信息。而对于强化学习,2016年AlphaGo的大火带动了深度强化学习概念,使得他变为一个人尽皆知却又神秘莫测的方法。

其实强化学习这个概念可以追根随缘到上个世纪80年代。拿强化学习(Reinforcement Learning)来说,这个在计算机科学中大火的概念其实早在90年代运筹学近似动态规划(Approximate Dynamic Programming)就已经普遍在使用了。而更早的80年代,控制论中的随机控制模型(Stochastic Control)也在描述同一个建模方法。很多计算机竞赛的同学熟悉的背包问题使用的动态规划算法,其实本质上就是强化学习模型。对于量化投资,量化二字明示了这个领域是建立在统计学之上。业内使用较多的线性回归、多因子模型,就是统计学最稳健和最经典的模型。更复杂的非线性机器学习、强化学习的本质也是统计学,但是模型和理论之复杂,使控制训练收敛和泛化能力极为困难,因此业界往往谈之色变。

考虑到只是模型复杂程度的区别,我们认为没有所谓的机器学习派和传统派,大家都是使用的是统计学,只不过有的策略更依赖于复杂的统计模型,有的策略因为没有复杂的模型更依赖于复杂的先验金融知识。而Metabit Trading擅长的就是如何使用最复杂的统计模型尽可能代替对人工挖掘的依赖,又尽量避免过拟合和黑箱带来的困扰。

 

 

有的策略更依赖于复杂的统计模型,有的策略更依赖于复杂的先验金融知识

 

 

传统的强化学习模型基于马尔科夫决策过程(Markov Decision Process)但是由于金融数据中,资产的合理价值是一种隐含状态,我们只能观察从资产的当前交易价格、资产的基本面消息(如期货的上下游产业数据,股票的财务报表)等,这种情况下,我们更合适将问题建模为部分可观察的马尔可夫决策过程 (Partially Observed Markov Decision Processes, POMDP)。

最终POMDP的学习目标,是随着时间t的进行,不断根据Yt收集到的最新信息,推断隐含状态Xt,从而进行决策得到每一期的行为At,使得最终sum(Rt)期望值最大。下面让我们看看如何把一个股票alpha策略放入这个框架下。我们在进行一个量化选股策略,需要给全市场几千只股票每期都分配一个权重Wt。我们的可观察状态Yt就是市场上一切信息,包括且不限于几千只股票的价格、交易量等交易数据、财务报表、新闻、微博等。我们的隐藏状态Xt,则是这只股票背后公司内在真实价值。我们的行为,则是对于每一期的股票权重要如何分配权重Wt。而我们的奖励Rt,则是下一期股票价格变动带来的收益刨除掉交易成本、对冲成本等。POMDP定义之后,最终的目标函数就是找到一种策略从可观察信息 (Y1,Y2,...,Yt) 到决策 At 的映射,使得预期奖励 E(Rt) 最大化。

我们认为,传统机器学习,会对数据进行大量挖掘,使用特征工程来找到很多因子进行回归或分类。其实这种监督学习采用了一种替代目标函数(surrogate objective)的方式先进行训练。所谓使用替代目标函数就是说我们机器学习的目标和最终想要达到的目标是有差别的。

我们机器学习的目的是减少预测误差,但是我们的交易目标是盈利。这两者是有差别的。所以我们往往会先用监督学习组合信号(目标是降低预测误差),再用回测筛选信号(目标是赚钱)。这中间多了一层“转接”的方法,我们称之为使用了替代目标函数。

其实这个方法在机器学习本身也是很常见的行为。比如我们做分类问题时,训练的目标函数是交叉熵(Cross-Entropy),但是最终目标是预测的精度(Accuracy)。两者不是一致的。但是,如果我们可以在POMDP的框架下建模,通过大量样本去自动学习如何盈利,这样学习目标针对性更强,可以让我们得以实现端到端的学习能力。这也是POMDP框架可以比传统机器学习框架有上述的优势的本质原因。

 

 

 

虽然POMDP可以覆盖到量化交易中的一切需求,但是实际使用中会遇到很多非常棘手的难题。

 

• 我们如何从可观察状态Yt去推断隐藏状态Xt?——POMDP中有 model-based 和 model-free 两种处理方式。我们尝试通过先进的 model-free 配合强大的深度非线性机器学习模型解决这个问题。

• 我们如何保证强化学习得到的结果是可以拓展到从未见过的新样本的?传统POMDP中一般都假设存在模拟器从而有无限的数据。但是金融数据是有限的。——我们尝试通过data augmentation、random sampling等方式,扩大了数据样本数量,增强了模型的泛化能力。

• POMDP求解是比NP-hard复杂度更高的问题,如何求解?——我们尝试通过对求解算法进行多次近似,最终得到了一个平衡速度和求解精度的训练算法。

• 强化学习使用的数据量是巨大的,全市场股票level-1 tick数据有几百亿的数据规模,如何同时处理这么多数据加入训练?——我们尝试通过自己研发的分布式系统解决了这个问题。

• 强化学习模型需要在线推断(online inference)时间是很长的,在实盘计算信号时,如何保证策略信号可以在极短时间之内计算?——我们尝试在计算机底层对模型的推断进行优化,充分利用硬件能力。此外,我们在训练强化学习模型时,也考虑对模型进行一些近似,平衡预测速度和预测精度。

以上是 Metabit Trading 对于机器学习、强化学习技术的浅谈。除了上述面临的困难,我们还有很多技术问题亟待解决。但希望通过我们的抛砖引玉,能给大家一些策略研究框架下的启发,让中国量化投资在技术实力上一起成长。