Sarah Butcher作者efinancialcareers.com来源张玺编译

如何在算法交易中使用AI?摩根大通发布新版指南


JPM(摩根大通) 一直是银行金融行业中积极应用大数据人工智能技术的典范和先行者。今年五月,他们在 NIPS 上提交了一份题目为 Idiosyncrasies and challenges of data driven learning in electronic trading 的报告(其实是一篇小论文)。不过直至最近,内容才得以对外公布。这篇并不长的文章中,他们探讨了算法交易中机器学习等技术的应用情况,也分享了摩根大通的最新经验。


如果你对银行与金融领域的 AI 应用有兴趣的话,你肯定了解 JPM(摩根大通)最近十年对大数据人工智能的出色运用,也会对他们最新发布的一份报告感兴趣。在这份报告中,他们探讨了如何将「数据驱动下的机器学习」应用于算法交易。

去年那份巨长的报告出自 Marko Kolanovic 之手,素有「半人半神」之称的 Marko Kolanovic 是 JPM 宏观量化研究团队负责人。另外一位合作者是去年四月刚从美林银行离职的量化策略师 Rajesh Krishnamachari。

不过,这篇报告并没那么长,共由五位 JPM 员工共同完成。他们分别是 Vacslav Glukhov(EMEA 电子交易量化研究中心负责人)、Vangelis Bacoyannis(电子交易定量研究中心副总裁)、Tom Jin(量化分析师)、Jonathan Kochems(量化研究员)及 Doo Re Song(量化研究员)。

2018 年 5 月,我们就在神经信息处理系统大会(NIPS conference)上提交过这份报告,不过直到最近才得以公开。想知道如何将「数据驱动的机器学习」用于算法交易的朋友们请注意了,报告概要如下:

如今算法控制关键交易决策,客户设置部分参数

算法在金融业务中控制「微观层」的交易,如股票和电子期货合约:「算法决定交易的波段、价格及数量。」然而,算法并不会完全按照人们的预期工作。JPM 提醒客户,「算法通常只是把具体约束及偏好下的交易指令告诉经纪人。」

例如,客户可能想在投资组合时保持货币中立,以实现买卖数量大体相等。客户也可能会指定某组交易证券的主题、国家或行业。

客户下单交易时,他们也许想控制交易执行对市场价格影响的方式(操控市场影响)、或控制市场波动影响交易的方式(控制风险)、或指定一个能够平衡市场影响与风险的紧急程度。

交易委托账本包含的数据十分复杂

编写电子交易算法是一件让人抓狂且十分复杂的任务。

举个例子。JPM 分析师指出,一局国际象棋每人大约要走 40 步,一局围棋大约走 200 步。然而,即便是中等交易频率的电子交易算法(每秒都需要重新考虑交易选择)每小时大约要完成 3600 次交易选择。

问题远不止于此。当绘制国际象棋与围棋数据时,如何在所有可选项中选择走哪一步、下一步又该如何应对,这都是需要解决的问题。然而,一次电子交易行为包括了许多步骤。JPM 分析师认为「这就是一个子订单(child order)集合。」

什么是子订单(child order)?JPM 解释道,系指可能会「提交被动买入订单和主动买入订单」的单次(single)交易。被动子订单是交易委托账本中指定价位水平的交易,因此,能为其它市场参与者提供流动性。提供流动性可能最终通过抓住局部上涨趋势,在交易时获得回报:更好的交易价格,或者更好的交易对象。另一方面,主动子订单会被用来基于预期的价格变动,捕捉交易良机。上述两种情况都会产生单次(single)交易行为。最终,交易行为范围被无限扩大,根据瞬时交易特征的组合数量呈指数增长。

诚然如是。

人工编写的交易算法容易变得庞大而笨拙

人工编写电子交易算法时,情况会迅速变得复杂。

过去,JPM 分析师认为:电子交易算法融合了许多科学的量化模型;量化模型是「从定量角度描述世界的运行机制」;算法包含着「代表交易员和算法使用者的实践经验、观察结论和风险偏好的规则和启发式方法。」

想把算法的方方面面都说清楚是十分困难的。「多数人编写的算法代码冗长至极且难于维护及修改。」JPM 认为,每当客户目标及市场条件变化时,人工算法都深感「功能拓展」之难。

随着时间的推移,算法将学会「积累多层逻辑参数及微调,以处理特殊情况。」

监管让人工编写的算法再次变得更加复杂

此外,交易算法还必须应对诸如 MiFID II(新版欧盟金融工具市场指导)的监管及「最优执行」的理念。因此,算法编写必须考虑「变化发展的市场条件与结构、监管约束及客户的多重目标与不同偏好。」

如果算法编写实现自动化且满足各类约束,一切都将变得简单。

编写交易算法时,使用数据的三种文化手段(cultural approaches)

机器学习文化尝试运用更多复杂且有时晦涩的函数表达观测结果,不要求函数能揭示潜在流程的本质。

算法决策文化更关注于决策,而非建模。算法决策文化尝试训练电子代理(譬如算法)以区分决策好坏,而不是试图映射出世界运行机制。如此一来,理解算法为何做出决策,及如何利用规则、价值及约束确保决策可被接受就成为新的问题。

算法必须实现最优执行率与最优执行计划之间的平衡

算法一旦写完,首先需要解决平衡问题:快速交易,其风险是影响市场价格;慢速交易,其风险是成交价格变化或将引起交易损失(升了,买家赚钱;跌了,卖家赚钱)。

是什么构成了成功交易?并非总是清晰可见

算法交易成功与否很难界定,因为这与如何权衡快速交易(效率)与固定价格交易(最优)有关──而这又取决于客户如何设定他的优先等级。

例如,算法的目标可能是与市场其他部分融合(blend with the rest of the market)。这意味着,需要平衡极速交易与价格变动引起的市场影响、或是通过慢速交易确保价格与交易反向。算法编写人员需要寻找一种表达信息和行为的方式,该方式能与模型与机器学习方法相匹配。尽管「市场庞大、多变,规模和订单状态经常变化,父订单与子订单数还不够作为模型输入。」,市场状态都需要能被总结和概括出来。

不过,这也无助于抓住瞬即逝的绝佳机会。而且,JPM 认为,算法交易执行或取消后,就无法判断交易的好坏,但这一点并非总是那么显而易见。「局部最优并不需要转变成全局最优。现在失败的交易也许以后某天又会赚的盆满钵满。」

即便可能出现问题,JPM 已经开始使用强化学习算法处理交易

JPM 正急于掌握运用动态规划及奖惩机制的各种强化学习算法。

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

JPM 尝试应用超参数优化技术避免此问题。这代表每次训练都有多个抽样事件,并会尽早停止无意义的优化路径。银行应用超参数优化技术,通过运行平行训练项目训练算法。

JPM 表示,研究的主要目标已转变为「策略学习算法」,通过在固定参数条件下匹配特定商业目标以最大化累积报酬。分层强化学习可用于要求必须「生成可预测、可控制及可解释行为」的交易算法。在分层方法中,根据抽样频率和粒度水平将算法决策划分为不同组别,使得算法能够模块化,其求解效果也容易甄别。

JPM 已开发具备「某种特征」的强化学习算法,以应对长尾效应

在多数强化学习情况中,JPM 强调算法学习行为通常会产生更好的结果。然而,在金融业,过度关注平均结果是错误的──想想长尾效应。基于此原因,银行的量化专家始终基于多维度与不确定结果评价构建算法。

为实现该目标,银行会基于期望效用的未来分布对比结果,对不确定结果(长尾)排序──即 CERL(确定等值强化学习)。

通过 CERL,JPM 注意到算法能够有效获得基于风险偏好的特性。「如果客户是风险厌恶,结果的不确定增加会降低行为的确定等值奖励。」算法很自然的需要折扣因素 γ──代表结果分布,分布范围与风险正相关。算法将更加关注远期目标。

还有许多非常有用的开源强化学习框架

如果你也想构建自己的交易算法,JPM 研究人员推荐了许多学习网站。他们给出了许多有益的早期开源强化学习框架,包括 OpenAI baselines、 dopamine、deepmind/trfl 及 Ray RLlib。

原文链接:

https://news.efinancialcareers.com/nl-en/329751/jpmorgans-new-guide-to-machine-learning-in-algorithmic-trading

长按小程序识别二维码,查看报告全文

产业金融算法摩根大通NIPS
1
相关数据
人工智能技术
Artificial Intelligence

在学术研究领域,人工智能通常指能够感知周围环境并采取行动以实现最优的可能结果的智能体(intelligent agent)

大数据技术
Big data

大数据,又称为巨量资料,指的是传统数据处理应用软件不足以处理它们的大或复杂的数据集的术语。

动态规划技术
Dynamic programming

动态规划(也称为动态优化),是一种在数学、管理科学、计算机科学、经济学和生物信息学中使用的,通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划将复杂的问题分解成一系列相对简单的子问题,只解决一次子问题并存储它的解决方案(solution),下一次遇到同样的子问题时无需重新计算它的解决方案,而是简单地查找先前计算的解决方案,从而节省计算时间。动态规划适用于有最优子结构(Optimal Substructure)和重叠子问题(Overlapping Subproblems)性质的问题。

超参数技术
Hyperparameter

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

基准技术
baseline

一种简单的模型或启发法,用作比较模型效果时的参考点。基准有助于模型开发者针对特定问题量化最低预期效果。

逻辑技术
Logic

人工智能领域用逻辑来理解智能推理问题;它可以提供用于分析编程语言的技术,也可用作分析、表征知识或编程的工具。目前人们常用的逻辑分支有命题逻辑(Propositional Logic )以及一阶逻辑(FOL)等谓词逻辑。

分层强化学习技术
Hierarchical reinforcement learning

分层强化学习是强化学习领域中的一个分支。传统强化学习通过与环境的交互,进行试错(trial-and-error),从而不断优化策略(policy)。但是强化学习的一个重要不足就是维数灾难 (curse of dimensionality),当系统状态(state)的维度增加时,需要训练的参数数量会随之进行指数增长,这会消耗大量的计算和存储资源。 分层强化学习将复杂问题分解成若干子问题(sub-problem),通过分而治之(divide and conquer)的方法,逐个解决子问题从而最终解决一个复杂问题。这里的子问题分解有两种方法:①所有的子问题都是共同解决被分解的任务(share tasks);②不断把前一个子问题的结果加入到下一个子问题解决方案中(reuse tasks)。分层强化学习核心思想是通过算法结构设计对策略(policy)和价值函数(value function)施加各种限制(constraints),或者使用本身就可以开发这种限制的算法。

机器学习技术
Machine Learning

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

映射技术
Mapping

映射指的是具有某种特殊结构的函数,或泛指类函数思想的范畴论中的态射。 逻辑和图论中也有一些不太常规的用法。其数学定义为:两个非空集合A与B间存在着对应关系f,而且对于A中的每一个元素x,B中总有有唯一的一个元素y与它对应,就这种对应为从A到B的映射,记作f:A→B。其中,y称为元素x在映射f下的象,记作:y=f(x)。x称为y关于映射f的原象*。*集合A中所有元素的象的集合称为映射f的值域,记作f(A)。同样的,在机器学习中,映射就是输入与输出之间的对应关系。

参数技术
parameter

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

强化学习技术
Reinforcement learning

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

OpenAI 机构
OpenAI

OpenAI是一家非营利性人工智能研究公司,旨在以惠及全人类的方式促进和发展友好的人工智能。OpenAI成立于2015年底,总部位于旧金山,旨在通过向公众开放其专利和研究与其他机构和研究人员“自由合作”。创始人的部分动机是出于对通用人工智能风险的担忧。

https://openai.com/
超参数优化技术
Hyperparameter optimization

推荐文章