来自摩根大通的算法交易机器学习指南

如果你对机器学习和人工智能在银行和金融领域的应用感兴趣,你可能已经对摩根大通( J.P. Morgan) 2017 年底在大数据和人工智能方面的优秀指南了如指掌了。摩根大通最近发布的“把数据驱动学习应用到算法交易“问题的报告你就更加不能错过了。

去年的巨幅报告由摩根大通宏观定量研究团队的负责人被誉为“半人半神”的 MarkoKolanovic 在 2018 年 4 月份跳槽到美银美林(Bank of America Merrill Lynch)的量化策略师 RajeshKrishnamachari 协助下完成编写。 本月较短的报告由五位不同的摩根大通员工撰写—— VacslavGlukhov(EMEA 电子交易量化研究负责人),VangelisBacoyannis(eTrading 量化研究副总裁),TomJin(量化分析师),Jonathan Kochems(量化研究员),和Doo Re Song(量化研究员)。

这篇新报告在 2018 年 5 月的 NIPS 会议 上发布,但直到近期才得到公开。对于想要了解数据驱动学习如何和算法交易相互作用的人来说,这份报告干货十足。

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

金融控制中的算法控制股票和电子期货合约的“微观”交易决策:它们定义交易的位置,价格和数量。

然而,算法并不能随心所欲。摩根大通指出,客户通常会向执行经纪人发送带有约束和偏好的特定指令。例如,客户可能希望在其投资组合转换中保持货币中立性,好让销售量大致等于购买量。 他们还可能指出已执行的一揽子证券以受控方式暴露给某些部门,国家或行业。

当客户下单时,他们可能想要控制订单的执行如何影响市场价格(控制市场影响),或控制订单如何暴露于市场波动(控制风险),或指定紧急程度以平衡市场影响和风险。

交易委托账本(order book)中包含的数据非常复杂

编写电子交易算法是一项非常复杂的工作。

举例来说,摩根大通分析员指出国际象棋的长度约为 40 步,围棋的长度约为 200 步。 然而,即使只是使用中频电子交易算法每秒重新考虑其选项,每小时也会有 3,600 步。

这还不是唯一的问题。当你在国际象棋和围棋中映射数据,这是一个考虑如何在所有符合条件的棋子中移动一个棋子以及它们接下来可能如何移动的问题。但是,一个电子交易行为就包含多个动作。 摩根大通分析师表示,它是“子订单的集合”。

子订单是什么?摩根大通指出一个单独的动作可能是,提交被动购买订单和积极的购买订单。被动子订单将以指定的价格保留在委托账本中,从而为其他市场参与者提供流动性。提供流动性最终可能是通过本地捕获价差在交易时获得回报:以更好的价格进行交易,与通过获取流动性进行相同交易的人进行交易。另一方面,积极的子订单在预测价格波动的时候可以被发出以捕获机会,两者形成同一个行为。由此产生的行动空间非常大,并且随着我们想要在某个时刻使用的特征组合的数量呈指数增长。

人类写的交易算法往往变得冗余

人类写电子交易算法,事情很快变复杂。

摩根大通分析员指出过去的电子交易算法是科学定量表述世界如何运作的模型的融合,它们包含规则和启发法,表达了人类交易者和算法用户的实践经验,观察和偏好。

尝试封装所有这些是非常困难的。大多数人工编译的算法是数万行手写的、难以维护和修改的代码,当客户反对、市场变化的时候,这些算法在功能蔓延中苦苦挣扎。夜以继日,它们都堆积了用来处理特殊情况的无数层逻辑、参数和微调。

监管使人工算法愈发复杂

交易算法还需要符合 MiFID II 等规则和“最佳执行(bestexecution)”的概念。

因此算法编写还需要考虑到变化的市场环境和市场结构、监管限制和客户的多重目标和偏好。

如果写算法可以自动化并且考虑到上述限制,生活该多简单。

在编写交易算法时,使用数据的三种文化视角(culturalapproaches)

摩根大通称在编写交易算法时有三种文化视角:数据建模文化,机器学习文化和算法决策文化。

数据建模文化基于这样的假设:金融市场就像一个内部有简单模型的黑匣子。你需要做的就是建立一个近似黑匣子的定量模型。鉴于金融市场行为的复杂性,这可能过于简单化了。

机器学习文化试图使用更复杂且有时不透明的函数来模拟观察。它并不要求这些函数揭示潜在过程的本质。

算法决策文化是关于决策而不是建模。这种文化不是试图映射世界的运作方式,而是试图培养电子代理(即算法)来区分好的决策和坏的决策。问题于是变成试图理解为什么算法做出那样的决策,并注入规则,值和约束以确保决策是可接受的。

算法必须在最佳执行速率和期望交易的最佳执行计划之间找到平衡

一旦有了算法,就需要做出权衡。它可以冒着影响市场价格的风险快速执行交易,也冒着价格变得不利订单的风险缓慢执行交易。

构成成功交易的要素仍不明确

要定义成功的算法交易并不容易。它可能是在快速执行交易(效率)和以价格不变的方式执行交易(最优性)之间的权衡——取决于客户的优先级。

例如,算法的目标可能是与市场的其他部分融合。这意味着平衡交易过快带来的市场冲击和交易过慢带来的价格不利。算法作者需要找到一种以适合模型和机器学习方法的方式表示信息和行为的方法。市场状态必须被总结出来,尽管其巨大、可变且变化频繁的维度和订单状态,父订单和子订单都难以作为模型输入。

许多机会“短暂存在并且可能仅以微秒级存在”并没有帮助。此外,摩根大通表示,在执行或避免交易之前,交易是好还是坏并不总是显而易见:局部最优并不一定意味着全局最优:现在可能被认为是不良交易的在一天结束时很可能变成一个优秀交易。

尽管有潜在的问题

但摩根大通任致力于使用强化学习算法来进行交易

摩根大通正全力投入运用动态规划及奖惩机制的各种强化学习(RL,reinforcementlearning)算法。

交易员说:“我们目前使用第二代基于强化学习的限价委托引擎,于有界行为空间内训练算法,选择具备差异化奖励、步长及时程特征的短期目标。”然而,算法训练十分复杂──如果你尝试通过在多重处理设备上同时执行算法以实现算法的平行训练,由于算法与环境之间的闭环反馈,你会得到错误结果。但如果你不这么做,而是尝试基于梯度的训练,最终只会得到大量无关经验而忘却好的交易行为。

摩根大通试图通过“应用超参数优化技术”来避免这种情况。这意味着每次训练都有多个抽样事件,并会尽早停止无意义的优化路径。超参数优化技术的应用使得银行能够通过运行平行训练项目训练算法。

摩根大通表示,研究的重点已经转变为“策略学习算法”:通过在固定参数条件下匹配特定商业目标以最大化累积报酬。分层强化学习可用于要求交易算法必须生成可预测、可控及可解释行为的领域。

在分层方法下,算法决策被分成具有不同抽样频率和不同粒度级别的组。这样使得算法模块化,并且更容易看出目前的工作状态。

摩根大通开发了可处理长尾的强化学习算法

摩根大通指出大多强化学习场景都是靠算法学习行为来达成平均更佳结果。然而,在金融领域,过分关注平均结果很可能是错的——长尾效应也很重要。因此,摩根大通的量化分析员一直致力于打造“重视多维和不确定结果”的算法。

为了达到这一目的,摩根大通通过查看与未来分配相比将实现的预期效用,对不确定结果(长尾)进行排名。这被称为确定性等效强化学习(CERL, Certainty Equivalent ReinforcementLearning)。

在 CERL 下,摩根大通指出该算法根据其风险偏好有效地获取一个特性。 “如果客户厌恶风险,结果的不确定性增加会降低某一行为的确定等价奖励。” 这导致贴现因子 γ 随着风险的增加,结果分布扩大,算法看到了更远的未来而自然出现。

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

如果你想打造你自己的交易算法,摩根大通的研究员们推荐了一些好的起步资源。

有用的早期开源强化学习框架包括OpenAIbaselines, dopamine,deepmind/trfl 和Ray RLlib。

作者: Sarah Butcher

原文地址:https://news.efinancialcareers.com/uk-en/329751/jpmorgans-new-guide-to-machine-learning-in-algorithmic-trading

推荐阅读: | 量化交易  | 期货模拟交易 | python量化交易 | 股票数据  | 量化交易策略 | 机器学习算法  | 多因子选股 |  

                   | 双均线策略 |  网格交易法 |  海龟交易法  |  跨期套利  | 行业轮动  | 指数增强  | 跨品种套利 | 日内交易 |

猜你喜欢

转载自blog.csdn.net/weixin_42219751/article/details/94435265