如果你对机器学习和人工智慧(AI)在金融领域的应用感兴趣的话,J.P. Morgan最新发布了一份关于演算法交易「应用数据驱动学习」问题的报告。也许对你有帮助。>>>点击咨询金融行业必考证书

1、演算法现在可以在客户设置的几个参数内控制关键的交易决策

金融中的演算法控制著股票和电子期货合约的「微观」交易决策:「它们定义了在哪里交易,以什么价格交易,以及以什么数量交易。」

然而,演算法并不是随心所欲的。JPM指出,客户机「通常向执行代理传输带有约束和首选项的特定指令」。例如,客户可能希望在他们的投资组合转换过程中保持货币中性,以便卖出的数量大致等于买入的数量。它们还可能指定,已执行的一篮子证券以可控的方式暴露于某些行业。

2、交易订单中的数据极其复杂

编写电子交易演算法是一项极其复杂的工作。

例如,JPM的分析师指出,一盘国际象棋大约有40步长,一盘围棋大约有200步长。然而,即使使用每秒重新考虑其期权的中频电子交易演算法,每小时也会有3600步。

这也不是唯一的问题。当你在国际象棋和围棋中映射数据时,问题是考虑如何在所有合格棋子中移动一个棋子以及它们如何响应。然而,电子交易行为由多个步骤组成。这是「一组子订单」,JPM的分析师说。

什么是子订单?JPM指出,一个简单的操作可能是「提交一个被动的购买订单和一个主动的购买订单」。被动子订单将以指定的价格停留在订单簿中,从而为其他市场参与者提供流动性。提供流动性最终可能会在交易时获得回报,因为它会在当地获取差价:相对于那些通过获取流动性进行相同交易的人,交易价格会更高。另一方面,激进的子订单可以发送出去,以捕捉预期价格变动的机会。两者形成一个动作。由此产生的动作空间非常大,并且随著我们想要在某一时刻使用的特征组合的数量呈指数级增长。

3、由人编写的交易演算法往往变得庞大而笨拙

当人们编写电子交易演算法时,事情很快变得复杂起来。

在过去,摩根大通的分析师指出,电子交易演算法是「一种科学的、定量的模型的混合体,它表达了对世界运行方式的定量看法。」它们包含「表达人类交易员和演算法用户的实际经验、观察和偏好的规则和启发式」。

试图概括所有这些是困难的。大多数人工编译的algo是「数万行手写的,很难维护和修改代码」。当客户反对和市场发生变化时,JPM表示,人类的演算法会受到「特征蠕变」的影响。随著时间的推移,他们会「积累许多层的逻辑、参数和调整来处理特殊情况」。

4、监管使得人类的algos再次变得更加复杂

algo的交易还与MiFID II等法规以及「最佳执行」的概念有关。

因此,它们必须考虑到「不断变化的市场条件和市场结构、监管限制以及客户的多重目标和偏好」。

如果algo的编写能够自动化,并且考虑到这些限制,那么生活将会变得更加简单。

5、在编写交易演算法时,三种常用数据方法

JPM表示,在编写交易演算法时,有三种常用数据方法:数据建模、机器学习、还有演算法决策。

数据建模:建立在这样一种假设之上,金融市场就像一个黑匣子,里面有一个简单的模型。你所需要做的就是建立一个近似于黑匣子的定量模型。鉴于金融市场行为的复杂性,这可能过于简单。

机器学习:试图使用更复杂、有时不透明的功能来建模观察。它没有声称这些函数揭示了底层过程的本质。

演算法决策:是关于决策而不是建立模型。它不是试图描绘世界是如何运转的,而是试图训练electronic agents 。区分好决策和坏决策的演算法。然后,问题就变成试图理解为什么演算法会做出它所做的决策,并注入规则、值和约束来确保决策是可接受的。

6、该演算法必须在理想交易的最优执行速度和最优执行计划之间找到平衡

一旦你有了你的演算法,它需要做一个权衡。它可以在影响市场价格的风险下,快速执行交易。或者缓慢地执行交易,风险是会以不利于订单的方式变化(「买入订单上升,卖出订单下降」)。

7、人们并不总是清楚什么是成功的交易

algo交易成功的定义并不简单。它可能是关于在快速执行交易和以价格不变的方式执行交易之间的平衡——这取决于客户的优先顺序。

例如,algo的目标可能是与市场的其他部分融合。这意味著要平衡交易过快和价格变动对市场的影响,或者交易过慢而价格与交易相反。algo的作者需要找到一种表示信息和行为的方法,这种方法要适合模型和机器学习方法。必须总结市场状态,尽管它是「巨大的、可变的、频繁变化的维度和订单状态,父订单和子订单对于模型输入都是未完成的」。

很多机会都是「短暂的,可能只存在于微秒的尺度上」,「局部最优并不一定会转变成一个全球最优:现在可能被认为是一个糟糕的交易可能是一个优秀的交易的开始」。

8、JP摩根一直在使用强化学习演算法进行交易,尽管这可能会带来问题

JP摩根完全支持「强化学习」(RL)演算法,这种演算法使用动态规划,对做出错误决策的演算法进行惩罚,对做出正确决策的演算法进行奖励。

「我们现在运行的是基于RL的第二代限价下单引擎」摩根大通的交易员表示。他们补充称,他们之前一直在「有限的行动空间」内进行训练,使用的是「本地短期目标,其回报、步骤和时间跨度特征各不相同」。然而,训练你的演算法可能是复杂的。如果你试图通过在多个处理设备上同时执行演算法来「parallize」演算法的训练,你会得到错误的结果,因为演算法和环境之间的反馈循环。但如果你不这样做,并尝试「基于梯度的训练」,你将以大量无关的经验和良好的行为可以忘记。

JP摩根试图通过「应用超参数优化技术」来避免这种情况。这意味著他们在每次试验中有更少的抽样事件,并尽早停止无趣的路径。超参数优化技术使世行能够通过并行运行培训课程来培训演算法。

JP摩根表示,研究的主要焦点已经变成了「policy learning algorithms」,这种演算法能在一定的参数范围内,将符合特定业务目标的累计奖励最大化。它还指出,在交易演算法必须「产生可预测、可控和可解释的行为」的区域,可以使用「hierarchical reinforcement learning」。

在分层方法下,演算法的决策被分成不同采样频率和不同粒度级别的组。这允许分离一些algo的模块,并使它更容易看到它在做什么。

9、JP摩根开发了一种「字元」强化学习演算法来处理long tails

JP摩根指出,在大多数强化学习情况下,演算法学习行为平均能带来更好的结果。然而,在金融领域,过于关注平均结果可能是错误的——它也与长尾有关。因此,JP摩根的定量分析师一直在构建「重视多维和不确定结果」的algos。

为了实现这一目标,JP摩根一直在对不确定的结果(长尾效应)进行排名,方法是将其交付的预期效用与其未来的分布进行比较。这被称为Certainty Equivalent Reinforcement Learning (CERL)。

在CERL下,JP摩根指出该演算法根据其风险偏好有效地获取一个字元。「如果客户厌恶风险,结果的不确定性增加,就会降低行动的确定性等价回报。」这导致的自然出现折现系数γ分布的结果是扩大了风险。

10、一些有用的开源强化学习框架

如果你想建立自己的交易演算法,JP摩根的研究人员建议你从几个地方开始:

他们注意到一些有用的早期开源强化学习框架,包括:

OpenAI baselines、dopamine、deepmind/trfl 和 Ray RLlib。

学习建议

对于初学的同学,能否真正进入量化金融的大门,掌握最前沿的量化演算法理论,取决于是否熟练掌握金融学相关理论,机器学习和深度学习相关知识,以及在实践中能否熟练应用。

系统地讲,初学者想要登堂入室,必须掌握金融理论、交易策略研发、机器学习与深度学习以及将策略进行实盘检验。

针对量化研究的童鞋们、有志于投身量化交易事业的同学们,特推出了量化金融分析师AQF实训项目。微信公众号:量化金融分析师

<<<点击咨询AQF课程


推荐阅读:
相关文章