摘要:除了开发出高性能模型,通过高质量算法交易,排除交易下单环节的一切障碍,也是提高收益的重要来源。聚宽量化投资实验室翻译本文:《Idiosyncrasies and challenges of data driven learning in electronic trading》,作者Vangelis Bacoyannis、Vacslav Glukhov、Tom Jin、Jonathan Kochems、Doo Re Song,对量化算法交易中神经网络信息处理模型以及机器学习的应用做了简单介绍。并且对这些技术方法目前所面临窘境的解决方法也做了一些讨论。
养老基金和其他资产管理公司会定期调整自己持有的资产头寸,这种调整有时规模和幅度都比较大。而由各巨头银行和专业经纪公司提供的代理电子交易(代理交易,线上撮合)服务则大大加快了基金头寸轮动的效率。这种效率提升带来了成本降低,某种意义上讲降低成本就是变相增加了市场参与者的收益,最终这些节约的成本为社会总财富的增加添砖加瓦(译者注:作为模型介绍,这篇文章的思想境界真高……)。
但是,正是代理电子交易是如此的高效,导致市场参与者们纷纷效仿,畅通的网络大大加深了资产全球化程度。于是在交易日的每个时间点上都遍布海量的订单——来自五湖四海,天南海北。面对这样庞大和迅速流动的交易信息,依靠人力是完全无法处理的。所以今天,大多数的诸如股票、期货等金融资产的交易从接收数据到决策再到执行,都是由计算机和算法完成的。实际的算法交易的例子如图。
鉴于投资行为所要达到的不同目标。客户将会将自己对交易的要求和偏好传递给代理人。比如,有些客户希望自己的投资组合保持货币中性,也就是不同货币持有下的品类买入和卖出的实际价值保持一致;有些客户则表达了自己的风险偏好,在不同风险等级的资产间改变持有比例;还有些客户希望控制自己买卖行为对市场的影响并且要求控制风险头寸对市场直接暴露的程度,更有甚至还要根据自己的投资目标,在影响市场和风险暴露两者间寻求最优的平衡。
这些要求驳杂不堪,并且有些要求间甚至存在矛盾。为了尽可能满足这些要求,算法模型将在不同的时间粒度上执行,为“决策是满足投资要求的”这一前提提供数据上的支撑。
而传统的交易算法的确有其科学性,使用数学模型在定量分析角度的解释世界运行的原理,而主观逻辑和参数部分,则是算法编写者多年市场经验积累的总结。所以传统的交易算法往往封装在数万行手动写成的代码中。于是由于这种主观因素和非标准性,使得代码维护和调整异常艰难。于是为了响应市场和投资行为要求的改变,手工代码往往会经历“特征畸变”——在不断的调整过程里冗积多层逻辑,参数。
尤其在金融服务业受到严格监管后,投资行为受到越来越多的限制和约束。比如EMEA中“最佳执行”的概念和要求【欧洲证券和市场管理局,2014】。于是,日益严格的约束,市场的多变以及客户的多重要求使得交易算法的开发成为了越来越艰巨的任务。与此同时,神经网络与机器学习,是用以数据为中心的方法为简化算法交易类应用程序的开发、提高算法运行效率提供了新的机会。
在本文中我们试图弥合学术界观点和实际应用过程的分歧。提出了实际交易过程中算法交易出现的实际挑战和特质,希望能给研究人员带来新的灵感。
在本节中,我们首先关注并进一步讨论PeterNoriving提出的观点。以下是目前数据驱动主流的三种方法论。
2.1 数据建模法
这种方法论主要是把市场视为一个黑箱,其中存在一个能够不断地生成价格的简单模型。而定量分析(量化分析)的主要任务是找出能够逼近这个价格生成模型的函数,从中提取参数,然后就可以利用当前的数据去估计未来的价格从而形成投资决策。市场参与者们对这种方法提出了异议,他们认为市场的复杂性和市场行为的不确定让简单模型难以捕获所有的信息,并且其中参数的解释能力也难以保持有效。反对者称:“简单模型往往是预测方向主管预先确定的,所以容易在一开始就出现方向性的重大失误导致模型失效”。
2.2 机器学习法
这个方法主旨在于使用未知来解决位置。虽然前提都是市场上存在一个价格生成的确定模型,但机器学习方法相比数据建模法在出发点上有根本的不同。他认为价格生成的模式会随着时间的演进不断变化,所以机器学习随着市场变化不断拟合、调整逼近的方法。同样都是建模,建立机器学习模型更多的时候是用模型内部不透明的函数去观察当前市场价格生成的近似模式,而没有宣称自己发现了价格生成的本质。然而这个方法的弊端和数据建模文化相反,过于复杂的模型加大了模型失败的风险。
2.3 算法决策法
在这个方法中,我们试图建立一个AI作为(虚拟代理人)。通过奖励(正确反馈),和惩罚(负面反馈)来培养代理人生成正确的投资决策。跳过了解读世界(价格生成)运行的本质,而是试图训练一个优秀的基金经理并提高其决策正确率。但这个方法的局限性在于,我们训练的代理人无法从历史数据和特定的环境下进行学习。
3.1 宏观决策
从宏观层面上来看,每个订单都有最佳的执行价格和执行时间,我们统称为执行效率。
首先,每个订单几乎都可以在市场上立即执行,只要客户愿意付出足够高的代价——溢价或折价,但这种执行方法是不合理的,成本过于昂贵,并且会向客户所希望价格运行方向的反面去影响市场价格,可以说,这种订单执行效率非常低。
另一方面,拆分订单为小订单,然后非常缓慢地执行订单也是不可行的。尽管这种拆分让原订单对市场的影响几乎为0,但这会大大提高客户承担的时间风险,订单得到执行的时间越长,和投资人的期望执行价格偏离的可能就越大。
从这两个极端例子可以看出,在指定量化模型处理交易的过程中,没有最优解,只有权衡取舍,通过获取平衡来获得最大的效用。
3.2 微观决策
在算法根据要求确定了什么级别的订单执行速度对用户最有效后,下一级决策就涉及到了具体实施。 通常情况下如果我们使用AI虚拟代理人去执行订单,由于订单会接入市场因而过大的异常订单会暴露客户意图,因此在代理人AI的训练过程中加入了负向奖励机制,使得AI模仿其他市场参与者的订单——既不会订单过大引发异动也不会过小影响执行效率。但是这里我们遇到了维度爆炸的难题。
因为整个市场是由订单构成的,这些订单并不都具有即时性,他们可能是任意的限价单,或多头,或空头。当然最重要的显然是当前价格水平下的订单队列,但是如果考虑到整个市场投机行为的时间深度,并且伴随上不断更迭的订单递交和撤销状态,每个观察到的市场状态都可能在未来转化为无限的可能状态。
在这种环境下,即使只考虑订单的价格,持续时间和规模这种基本问题,形成的可决策集也非常密集而庞大,AI代理人必须考虑下单的价格和数量。如果有必要,在同一价格下应生成多个订单,或者同一订单拆分到不同时间点去执行。在订单簿中的订单如果遇不到对应的市场价格将永远不会被执行,所以依据市场深度进行决策是改善订单成交价格的重要条件,并且在市场深度中依据时间序列的递进不断地在不同价格水平下最优得填充待执行的订单。最终形成的持仓可能由来自多个交易场所和不同类型的订单组成。
国际象棋平均步长是四十步(四十回合),一盘围棋游戏大概在两百回合内结束。而对于中等频率以秒作为单位考虑市场的决策主体电子交易而言,每小时思考步数将会是三千六百步。对于象棋游戏而言,他是在符合要求的可操作对象里选取一个并按照制定规则进行移动。对于电子交易而言,订单是其具有诸如价格,大小,多空类型等多种属性的对象,而它可以操作这些对象,同时并发式提交不同类型的订单。如它可以同时提交被动和主动两种类型的订单。被动订单将在市场价格运行到指定水平前永远的停留在订单簿中,从而为其他市场参与者提供流动性。这种流动性提供的订单一般是通过当前价差进行获利,以更好的价格进行交易,即从流动性的需求者手中获取收益。另一方面可以发送主动型订单通过市价即时成交,来获得对未来价格走向正确预测的价差收益(尽管有预测失败的风险)。在这样主动和被动的叠加组合下,市场上各种订单形态的可能性组合数量将呈现指数级上升。
积极和被动订单哪种更有效率目前还不清楚,有人可以说:“训练AI代理人的目的不就是让他捕获机会(“好”的交易),避开陷阱(“坏”交易“)嘛?”。但是这种细节上的问题不仅是囿于有些交易机会十分短暂,可能只在微秒上出现,导致难以对使用积极还是被动订单进行界定,而且,订单得到执行后到出场为止交易能否盈利还是未知的,所以也无从判断好坏。
结果就是,局部最优不一定是全局最优。开盘时候被我们认为是糟糕的交易随着价格变动可能会在收盘的时候转变为获利最丰厚的一笔交易。从这个意义上说,我们对于研究如何重新界定“机会“兴趣浓厚。我们将电子交易好坏转换的随机性这一特性命名为非即时最优。
我们的AI代理人训练目标之一就是(当然这并不是唯一或者最好的目标,也许会处于其他考量在某种特殊时间点客户会有完全相反的意愿)让他在下订单的时候,如影子一样隐没于市场。这种意愿下,会使用成交量加权平均价格法来最小化订单对市场的影响,奖励函数也将按照这个逻辑去设计(当然这是最简单的例子,但是的确有效)。
这个策略必须在订单完成过于迅速而影响到市场价格增加成本暴露风险,和承担因等待而不断积累时间延迟风险之间寻求最优解。求解这个问题关键一步是,寻找一个适用于拟合模型和机器学习方法的封装好相关信息的动作空间(通俗来讲就是先找到适用于你所使用的模型的市场状态空间,这个空间要包含好当前和未来可能得各种市场信息)。这涉及到对信息巨大,可变,并频繁变化的市场的总结。然后对输入的订单,在无穷维下做出一个可行解作为响应。
3.3 经验与积累
在这个领域里,从业人员有着广泛而有趣的各种研究。通常是先从实际需求的某个角度入手,进行一些模型试验。比如在有数的维度下对历史数据进行强化学习,为此Akbarzadeh等【2018】设计了在线学习的算法.。然而仅仅是在订单生成这一点上也就很难那达到预期。
Nebmavaka团队定义了一个完整的强化学习结构。但必须在市场受到严格约束的可能行为信息空间里,在这个信息空间里,仅允许单个的订单递交和撤销的行为。在Zhang的团队研究工作里,限价订单簿被总结为包含了价格和价差信息变化以及其变化可能性十个标准差以内信息的40维向量。这些信息是根据前一个交易时间点的信息进行标准化处理之后对市场做出的预测。Doering【2017】设计了包含订单簿,交易,新订单和订单取消的四个矩阵,然而使用的代价是使维度翻两倍同时使用必须使用非常稀疏的矩阵数据。
未来的研究方向主要根据对AI交易代理的训练,基于强化学习的方法进行研究和开发。这项工作的核心是在有效降低维度的同时,还要够尽量多的包含市场信息。这两个目标都需要将无限维降低到有限维。当前的方法是以特定价格和特定数量的订单进行假设来约束未完成的订单集,这比人工交易多了额外的束缚。
3.4 简述当前我们的做法
我们现在正在使用第二代基于限价订单的RL引擎。我们成功的制作了一个有限维的信息空间。为了解决刚刚提出的问题,我们使用了分层学习以及混合知识结构的方法。我们在短期交易上使用激励函数(比如如何下达限价订单和主动订单),对于不同的目标,实现期限、步长和奖励也各不相同。我们在本地用历史数据训练出很多的短期行为策略,然后对于长期目标的实现就只需要考虑如何组合短期策略,简化了学习运算量和难度。
我们还认为,反向强化学习(对抗式强化学习)非常有前景:利用人力和算法,使用金融市场的历史数据帮助生成AI奖励方法是一个非常活跃的研究领域。
4.1在政策学习算法之外的讨论
RL的核心目标是最大化个体策略组合的效益,这些效益是在现实交易中不同交易目标的具现。优化对于目标的参数和策略行为是RL主要的研究焦点。最近的研究将著名的政策学习算法应用于量化交易。我们想介绍一些其他方面的工作,这些研究内容超过了政策学习算法的能力范畴。
4.2分层决策
人工智能在量化交易的过程中,做出决策的时间粒度变化非常大。手工订单需要几分钟,几小时甚至几天才能够进行决策,而人工智能每隔几秒就可以做出一次新的判断和决策。时间跨度的问题极大得限制了人工智能数据的采样频率,原低于整合所有市场信息所需要得信息采集频率。
因此人工智能得时间是不均匀的。它不由时钟上的时间决定是否行动,而是由其自身行为可能造成的影响和市场环境的改变来决定是否行动。
由此RL模型将时间抽象成对长时间跨度和时间不均匀这些关键问题的定量。在这个研究中,跳帧一词代表着每隔数个步长做一次决策。——当然在这里不是很适用。sMDP一直是时间抽象研究的重要方法。但是为了决定时间步长而训练一个单独的AI是高成本低效率的。可行的解决方案是将sMDP与分层RL(HRL)相结合,HRL是一种从元策略到原始策略都有不同决策以及单独决策频率组成的RL决策模型。
我们对AI代理人的理解,受到了Kulkani对深层HRL规则解释的启发。我们完全可以构造基于一组策略组成的元策略。我们还注意到不规则分层RL的进展,其中元策略的时间属性(抽象化后)来自于对原始策略行为的聚类分析后得出。
然而,使AI代理人获得使用抽象时间(根据行为和影响做出反应判断)的能力的核心问题仍然没有解决:AI在探索复杂结构层次的过程中,对总体目标和局部优化的判断能力会在对时间进行抽象后崩溃。
4.3算法、监管和计算力方面的挑战
AI在复杂、不断变化和快速变动的环境中运作。增加AI 算法的复杂性可以产生更好的决策,提升决策层效率,但这需要计算力的支撑,越复杂的模型需要的算力将不断膨胀,最终成为一个天文数字。
还有一个AI使用上的极大限制是:让AI在交易决策过程中去自行理解来自政策的监管和要求——无论是宏观上还是微观上。这个意思是你很难去让一个AI理解他的交易决策在满足客户要求的前提下,是需要维护市场秩序,在法律允许的范围内运行的。
分层的方法在这里能提供帮助:它基于将AI决策行为划分为不同粒度和采样频率的组,在上文已经提到过,层次结构和HRL使得模块之间权责分离,使得我们能更好的对决策进行管理,并且更好的对AI解释他行为的合理性。
5.1基于模拟搜索的重度学习元策略优化方法
训练RL模型的AI代理人需要许多步骤。由于代理对环境的循环学习,每一个环节都不能独立出来进行并行运算。提供给代理的数据往往是冗余而且充满噪声的。除非是无监督学习,否则在学习过程中AI会很大程度上偏离目标要求,而且几乎无法使得对可变目标完成梯度优化。因此尽管政策学习算法取得了进展,但是使用参数搜索算法进行无梯度优化依然是使实用的选择。
在通过超参数优化技术来训练代理AI对参数的自行控制这个课题上,我们已经取得很大进展。这也在不涉及更改或设计奖励函数的情况下,改善整体的绩效。我们在这里要再强调参数搜索算法是很有效的。
计算的规则使得对参数的计算完全顺序化,我们通过使用不定优化来降低样本量较少这一问题带来的负面影响。使用并行运行,提前剪枝的决策树回归也是一种良好的方法,但是我们更倾向于使用贝叶斯方法将不可行路径提前取消,增强计算效率。
5.2基于微观决策的可扩展强化学习
在上一节里我们提到了一些强化学习目前面临的挑战:信息片面性,市场状态的快速变化,AI难以对主题目标和局部目标有全面的认识,国家或者地域政策等等受到的限制。
与每个市场参与者一样,AI的行为也会改变当前的市场环境。我们在构建AI的过程中试图模拟市场的真实变化,但这种模拟一定是不全面的,对市场模拟的越真实,难度就越高。
首先,我们需要一种可扩展的RL算法的基础架构。因为事实上如果我们不能真实的拟合市场,那么模块化市场条件,然后像搭建积木一样添砖加瓦是很好的选择。
同时,令人兴奋的是开源RL框架的出现。Gorila证明了DQN算法可以大规模使用,并且效果喜人。对于A3C,IMPALA算法实现了类似的壮举。一般而言,对其他RL算法能否以及如何进行大规模并行运算是一个值得深入研究的有趣课题。
我们发现Ray_RLlib这个模块很有用。这是个新兴的开源模块,其考虑到了分布式强化学习这一热点领域。并利用任务和事件驱动的编程逻辑,已经被证明在大规模分布式计算系统设计上的这是个成功甚至说优秀的例子。
RL的研究实验普遍运算量大非常耗时,而且可能在一系列部分实验上完成的,有时会被故障中断。Ray系列的设计除了以上分布式的优点外,还解决了容错率问题。再一次为RL的分析和设计降低了成本和开销。
从计算性能的约束上看,RL算法的另一个挑战是如何最优化计算力的分配,以确保算法在最短时间内完成。诸如有效使用多核CPU、GPU、TPU等计算核心。Ray_Llib通过其空闲计算资源资源敏感的设计,有效解决了计算力分配低效的问题,它允许用户将计算资源的信息通过注释声明出来。这一做法的优点在于模型在程序运行过程中直接微调资源配置而无需用户对资源配置有非常深入的理解。
大多数RL模型中,对AI的激励函数通常是确定的。与此相反,AI的运行结果往往是一个不确定集。所以在完成计算得出结果后,出现的偏误我们往往直接定义为噪声,这确实省去了很多额外的解释工作,非常方便。但是这个结果噪声究竟是噪声,还是某种没有捕捉到的市场信息,这些都是未知的。因此将市场行为直接归结到所使用工具/模型所产生噪声上是不严谨的做法。
正如在本文章在其他部分讨论过的,电子交易会受到现实情况下价值观的影响,除了客户利益外,道德和监管层次的要求亟待解决。所以事实上在多层决策结构里,奖励函数的设计也应该是多维度的。
而上文不确定性结果集和多维奖励结构冲击了传统RL理论。在传统理论中,AI学习以获得更高的期望效益为目标,但是在现实情况里,我们不仅要权衡期望效益,还要考虑收益分布,或者是分布状态的尾部情况。也就是要把期望效益和客户的实际效用区分开来。
学界已经提出了对标准RL的扩展,将效用函数和对期望效益评估结合起来。与金融模型的构建过程一样,对确定性部分,考量其收益,对不确定部分,考量其预期收益和分布率。
例如在新模型在在有限过程中不确定性奖励的评估中,对经典方程做出了以下修改。
相对传统RL模型而言,使用效用函数参数在确定过程中的等效排序丰富了AI的结构。在CERL中,通过客户对风险等其他因素的偏好去生成一个效益折扣因子γ,(注意区分效益和效用两个字)有效的约束了奖励函数,从而控制AI行为的学习方向。在经典RL中,这个折扣因子往往被视为无限行为过程中的参数衍生,而CERL则将其视为对预期的分布扩大导致的结果。
译者注:看到这里的读者,是否可以点【好看】,来表示自己的专业能力和阅读耐心已经爆表……
还有其他很多问题,我们希望提出这些问题为研究提供新视角:
?是否存在严格的方法来解释多维激励结构。
?如何将持续时间不确定的流程概念纳入MDP范式。
?如何应对不确定的结果/回报。
?如何更有效率的模拟市场。一个可能的解决方案是开发具有现实意义的大规模人工环境,同时再现市场由多个市场参与者活动引起的突发现象,其中甚至要包括其他AI参与者。这个模拟市场的过程具有实用价值和学术价值。
?如何将相互冲突/互补的局部和总体奖励严格结合起来?
?除了使用领域知识来分离不同时间尺度的过程,以及分层训练,是否存在额外的严格划分时间尺度的方法?
?可扩展性:在电子交易中,训练AI是有效率的。但是是否具有一种方法使得不同环境下的AI可以交流信息和计算结果。是否有一种理论证明即使在不同环境下训练出的AI在理论本质上是相同的
?贝尔曼方程在经典RL或CERL中都不是必备的模型基础。是否存在一种更有效率更普适化的参数排序方法?
?是否有一个系统的方法使得一方面允许继续对AI的训练使其解决日益复杂的问题,另一方仍然保持我们的对其添加并解释规则的能力?
原文链接:链接描述
本社区仅针对特定人员开放
查看需注册登录并通过风险意识测评
5秒后跳转登录页面...