学思践悟市场监管(利用多主体强化学习优化市场交易)

利用多主体强化学习优化市场交易

文摘——本文将强化学习应用于优化做市商问题。一个多智能体强化学习框架用于优化下导致交易成功的限价单。该框架由两个代理组成。宏观代理优化购买、出售或持有资产的决策。微代理优化在限价订单簿中下限价订单。在本文的背景下,本文提出的框架在比特币密码市场得到了应用和研究。本文的目的是证明强化学习是一种可行的策略,可以应用于复杂的问题(具有复杂的环境),如市场交易。

将预测转化为行动需要特定的决策阈值。然而,想出这样的政策通常是手工完成的。这些策略的开发和优化通常由人和计算机混合完成。因此,如果市场突然转变,这些政策可能无法适应。

二.相关著作

强化学习的概念在金融领域相对较新。很少有人研究强化学习是否是一种可行的做市商方法。做市商的最优化问题是一个复杂的问题,强化学习不是解决这个问题的常用方法。股票交易的多代理方法以前在[被采用。然而,它们不考虑下限价单。奈夫麦卡等人([3)已经展示了微制剂的一般概念(见第3节),朱奇利·[4]进一步扩展了这一概念。这些论文提出了在固定时间范围内最优购买(或出售)资产的问题。这类似于微代理的想法。微代理的工作基本上是基于这两篇论文中提出的想法。

I .导言

算法交易,尤其是高频算法交易(HFT),在最近十年里获得了极大的欢迎。随着硬件和软件的进步,算法交易迅速成为常态。机器学习越来越受欢迎,已经慢慢进入金融市场[1],它主要用于预测资产的价格变动。然而,这些经典的机器学习技术带来了许多挑战:

1)预测时间:在机器学习中,模型复杂性会影响预测时间。很多时候,在有监督的学习环境中,神经网络被用来进行预测。由于这些模型的计算复杂性,随着模型复杂性的增加,决策时间也会增加

[2]。在HFT环境下,当模型做出预测时,采取预测的行动可能已经太迟了。接下来的问题是,如何将这些增加的延迟成本纳入我们的预测?

2)预测的准确性:金融市场是二阶混沌系统,即它们是高度不可预测的,因为市场可以对预测做出反应。金融领域的一般经验法则是,资产的历史表现不能预测资产的未来表现,即仅从历史表现预测和预测市场实际上是不可能的。事实上,市场有时被比作随机漫步过程[10]。因此,仅依赖于资产历史性能的方法可能具有较低的预测精度。

3)策略优化:假设我们的模型预测资产增加55%的可能性和减少45%的可能性。我们模型的预测如何转化为行动?优化的政策和

三.问题定式化

在本文中,一种不太常见的强化学习方法被用来创建一个最优的做市商。更具体地说,使用多代理方法(有两个代理):

1)宏代理:宏代理被给予分钟刻度数据(宏观层面的数据),并决定购买、出售或持有资产。

2)微代理:微代理被给予订单簿数据(微观级别的数据),并决定在限价订单簿内何处下单。

学思践悟市场监管(利用多主体强化学习优化市场交易)(1)

图1。代理采取行动的时间步长。宏代理在每条粗黑线上执行操作,而微代理在虚线之间执行操作。

在每一分钟的开始,宏观代理决定购买、出售或持有资产。它选择进行多少次购买的连续计数被保留下来。将卖出前的买入总数输入微代理,

1

即在每次出售决定时,所有收集的资产都用尽。此外,每次决定出售时,计数都会重置。在接下来的60秒时间范围内,微代理试图通过只下限价订单来耗尽其持有的资产。代理可以下多个限价订单,然而,它被限制为每10秒下一个订单,如图1所示。

A.数据收集

市场的历史订单簿和分钟刻度数据不容易获得。第一步是收集这些数据。比特币密码货币市场被用于这项研究,因为它的数据很容易获得。所有交易、出价和询价数据都是通过在2018年11月2日至11月17日期间订阅Bittrex的WebSocket来收集的。利用WebSocket提供的数据,构建历史订单簿,即在一段时间内历史订单簿状态的序列。然后使用收集的交易数据创建一个分钟刻度数据集。本研究总共收集了41830629个交易、投标和询价数据点,以及10945分钟刻度数据点(图2)。但是,没有使用整个数据集。相反,只选择了最近几天。

学思践悟市场监管(利用多主体强化学习优化市场交易)(2)

图2。2018年11月2日至2018年11月17日收集的比特币分钟刻度数据

四.背景:强化学习概述

强化学习是连续决策中的一种学习技术,在这种技术中,主体学习在环境中采取最佳行动。与超视觉学习不同,在学习型学习中,代理学习采取行动,最大限度地从环境中获得回报。在每个时间步,代理观察其状态,并根据观察结果采取行动。环境以奖励的形式提供关于行为表现的反馈。很多时候,这些奖励会被推迟。例如,持有资产的决定可能不会立即产生回报。

代理与环境交互的过程被形式化为马尔可夫决策过程(MDP)。多学科设计方案被用来描述一个RL问题背景下的环境。在这个问题中,多学科设计方案背后的重要性是多学科设计方案所假设的马尔可夫特性:一些因素的影响

在一些国家采取行动只取决于该国,而不取决于以前遇到的国家。市场价格本质上是马尔可夫的,即资产价格的概率分布只取决于当前价格,而不取决于以前的历史。因此,把这个问题表述为MDP问题是有意义的,目标是通过找到一个最佳政策来解决这个MDP问题。对于每个代理,元组(S,A,P,r,γ)描述了问题:

S是一组状态。是一组动作。

P : S × A × S → R是转换概率分布,它根据代理的状态和所采取的行动决定环境如何变化。

r : S → R是奖励功能。

γ∑(0,1)是决定未来奖励重要性的折扣系数。

让Rt表示未来奖励的总和,即

rt = Rt 1 Rt 2 Rt

然后,在时间步长t,未来折扣奖励由下式给出

R t = Rt 1 γ Rt 2 γ Rt 3 。。。 γ T RT = X

T

i=t

γ i Rt i 1 (4.1)

其中T是最后一个时间步长,可能是无穷大。

市场形成背景下的状态比典型的RL问题复杂得多。事实上,由于环境中还有许多其他的交易者,被交易的州通常不是完整的州。因此,做市商问题是一个部分可观测的马尔可夫决策过程。代理观察到的状态是真实状态的某种推导,即some)。然而,给定环境的适当模拟,代理应该能够针对环境中的未知因素进行优化。

如前所述,RL代理通过与环境交互,不断经历一个状态循环。对于这个问题,代理和环境之间的交互如图3所示。

学思践悟市场监管(利用多主体强化学习优化市场交易)(3)

图3。多智能体强化学习框架

两个代理都会遇到状态和输出动作。由宏代理确定的动作被馈送到微代理,微代理共同变成单个动作:放置

2

限价订单簿中的订单。环境采取这一行动,并输出奖励和下一个状态。正如问题陈述中提到的,选择离散的时间步长(而不是连续的时间步长)是因为连续的时间步长在现实世界中是不可能的,因为WebSocket数据本身是以离散的时间步长到达的。问答学习

用于两种主体的特定强化学习算法是深度问学习。回想一下,我们的目标是找到一个最佳策略π : S → A,即状态和动作之间的函数映射,从而使预期回报最大化。Q-learning是一种无模型的基于价值的方法,它使用动作价值函数Q(s,A),其中s ∈ S和a ∈ A,来估计给定某个状态-动作对的预期回报。换句话说,在策略π下,处于状态s并执行动作a的真实值由下式给出

Q π (s,a) = Eπ [Rt | St = s,At = a,π] (4.2)

典型地,使用贝尔曼方程更新Q值,该方程通过扩展(4.2): Q π (s,a) = Eπ [Rt | St = s,At = a,π]得到

= Eπ

- Rt 1 γRt 1 | St = s,At = a

= Xs Xr P(s,r | s,a)- r γEπ- R t 1 | St 1 = s= Xs,rP(s,r | s,a) [r γQπ (s,πt(s ))]

基于这种扩展,更新规则由以下公式给出:Qt 1(st,at) = X

s,rP(s,r | s,a) [r γ Q π t (s,πt(s ))]

尽管这一更新规则将导致最优策略,但由于不知道P(s,r | s,a),即所收集的数据不能提供市场环境的完整画面,因此这一问题不可行。相反,我们使用以下更新规则:

Qt 1(st,at)=(1α)Qt(ST,at) α h rt 1 γ max a Qt(st 1,a) i,其中α是学习率。

在这个问题中,使用神经网络来逼近输入是状态(而不是状态-动作对)的Q值函数,并且输出是每个动作的Q值。因此,Q值函数由权重θ参数化,即我们假设

Q(s,a;θ≈Q(s,a)

B.勘探-开发权衡

在强化学习中,探索和开发之间有一个权衡:我们希望我们的代理多长时间按照它确定的策略继续采取行动,以及我们希望我们的代理多长时间探索采取新的行动。为了在两个世界之间取得良好的平衡,我们使用了一种腐败贪婪的方法。在这种方法中

代理以概率采取随机行动,以概率1采取策略行动,同时随着时间衰减。这种策略鼓励代理在开始时进行更多的探索,在结束时进行更多的利用,即坚持它已经计算出的策略。体验回放

另一个被使用的概念是体验重放。在在线学习中,我们按顺序接收数据。由于市场的性质,人们总是担心市场的变化。如果市场突然发生变化,代理商可能会忘记过去的经历,因为它的目标是在新的州获得更好的优势。通过将代理的体验存储在存储缓冲器中,并让代理经常重新体验随机采样的批量体验,数据中的高时间相关性得以降低。此外,对这些随机抽样批次的培训给人以iid数据培训的感觉。因此,与监督学习问题一样,这将使函数逼近器更好地收敛到最优策略。此外,这允许用随机梯度下降法更新函数逼近器的参数。

V.宏代理的详细信息

宏观代理负责通过从宏观层面查看数据来做出购买、出售或持有资产的离散决策。使用的数据是微小刻度数据。尽管数据是在几天内收集的,但由于代理可能未充分探索最近的相关状态,而过度探索其他状态,所以没有使用整个数据集。由于大多数数据的波动性很小,而最近的数据波动性更大,所以代理在波动状态下不会表现良好,因为它会更频繁地探索波动性较小的状态。因此,使用了过去几天的最近分钟刻度数据:2018年11月15日至2018年11月17日。图4示出了被选择的数据部分。

图4。比特币分钟刻度数据(2018-11-15 00:00至2018-11-17 17:06)

为了训练代理,数据集被分成训练集和测试集。培训集包括2018年11月16日之前的时间步骤。

3

A.州

某个时间步长t的状态空间由t-h到t范围内的历史价格数据组成,其中h表示代理看起来有多远。此外,各种动量指标和反转指标的特征数据也被纳入状态空间。这些指标特征通过以下方式计算:

市场指标特征

市场交易中一个常用的特征是z分数指标,它决定了数据点x离平均值有多远(标准差σ):

z x =

x

σ

(5.1)

在某种程度上,z分数指标揭示了数据中的异常。它也被证明是确定未来趋势的有用指标,[5]。等式(5.1)可以通过使用窗口大小为n个时间步长的扩展窗口方法来应用。让pt表示时间步长t的收盘价,让SMA(pt n,t)表示t之前n个时间步长的收盘价的简单移动平均线,让STDEV(pt n,t)表示t之前n个时间步长的收盘价的标准差

z n t = pt SMA(pt n,t)STDEV(pt n,t)

z分数指示器也可以扩展到音量。因此,提取的特征如下:

价格水平:为了确定价格水平,计算价格的z分数。这基本上表达了一段时间内每种价格与这段时间内平均价格的差距。

价格变化:为了确定价格变化,将当前价格与之前价格窗口的平均值进行比较,即在时间步长t为窗口大小n计算

PCn t = pt SMA(pt n,t)

取结果的z分数。

成交量水平:为了确定成交量水平,计算交易量的z值。与价格水平一样,这表示每个时间步长的成交量与该时间段的成交量有多远。

体积变化:类似于价格变化,计算时间步长t时窗口大小n的体积变化:

PC nt = v t形状记忆合金(v t n,t)

并获取结果的z分数。

波动性:为了确定波动性,指数移动平均线用于确定n天内的价格变化率。使用均线代替形状记忆合金的理由是均线给予最近的时间步长更大的权重,而形状记忆合金中所有的时间步长权重相等。让pt成为电流

价格,n是窗户的尺寸。时间步长t的均线由下式给出

EMAn t = Pt n 1 Pt j = t n pj n 1因此,m天内的波动率由下式给出

挥发度t = EMAt,n EMat m,n EMat m,n

除了这些市场指标特征和价格数据之外,还有一个额外的状态参数,它在决定回报方面发挥着重要作用。每次代理人选择购买时,代理人购买资产的价格(当前开盘价)都会存储在当前资产列表中。这个价格列表也作为州的一部分存储。每次代理人选择出售时,所有购买的资产都会用尽(出售)。因此,历史价格、市场指标特征和流动资产清单形成了状态。

B.行为

代理可以选择三个操作:1)购买:如果选择了购买决定,则代理是

选择以当前开盘价购买1枚比特币。如前所述,当代理选择购买时,价格会附加到流动资产列表中。请注意,购买1枚比特币的决定纯粹是一种设计选择。提议的框架可以应用于任何数量的比特币。

2)出售:如果选择出售的决定,则代理人选择以当前开盘价出售其所有应计资产。

3)暂停:如果选择暂停的决定,那么代理什么也不做。

C.报酬

一旦采取行动,代理就会从环境中获得奖励。算法1描述了如何管理奖励。

算法1:宏代理奖励函数1如果动作=保持,则2奖励← 0

3如果行动=购买,则为其他

4将当前未清价格附加到当前资产列表5奖励← 0

6否则,如果行动=出售

7如果没有可出售的资产,则8奖励= 19其他

10奖励←出售流动资产列表中的所有资产,并根据当前开盘价确定利润

11端

12剪辑奖励

请注意,奖励分别基于负、零或正奖励被削减到{-1、0、1}。完成了

4

以便让代理处理不同类型的市场环境,例如高/低波动性,并减少异常市场变化的影响。在各种雅达利游戏[6]中,当处理不同等级的奖励时,削减奖励被证明是一种有用的方法。

D.深度问答-网络架构和培训

学思践悟市场监管(利用多主体强化学习优化市场交易)(4)

为了参数化值函数,使用了一个深度的Q网络。选择一个简单的多层感知器,具有两个隐藏层(具有ReLu激活功能)。此外,亚当优化器用于培训。质量网络接收价格数据、市场指标数据和流动资产清单作为输入,并输出3个质量值,然后用于确定最佳行动。在图5中,提供了宏代理的训练框架的描述。

图5。宏观代理培训框架

算法2:宏代理深度问学习训练1初始化重放存储器m 2初始化,折扣因子γ 3初始化具有随机权重4的问网络,时间= 1到E

第5次←重置环境(环境输出初始状态)

6未完成时,请执行以下操作

7 at ←选择有概率的随机动作或选择动作maxa Q(s,a;θ)

8 st 1,rt,done ←根据a(环境输出新状态、奖励和done)动作9如果重放存储器M已满,则10从M 11追加(st,at,rt,st 1,done)中移除第一个元素进行重放

记忆M

12 b ←随机从重放存储器中抽取小批量样本

13 q ←初始化大小为|b的空数组

14 foreach (si,ai,ri,si 1) ∈ b do

qi =( ri γ maxa Q(si 1,ai;θ)未完成ri完成16结束

17应用有损失的梯度下降

-(qi-Q(si,ai;θ))

18衰减19结束20结束

算法2概述了如何在此框架内进行培训的细节。请注意,对于每个时期,代理都在整个训练集中接受训练。

E.结果

有趣的是,我们可以看到宏代理如何独立运行。尽管收盘价和开盘价,以及用于计算宏观代理利润的价格通常并不代表交易可能发生的真实价格,但可以假设它们是用来评估代理的业绩的。对于这些结果,代理在训练集上被训练,并在测试集上被测试,如前所述,500个时期。

为了了解宏观经济主体的潜力,将它的表现与两种常见的投资策略进行比较:

买入并持有投资:买入并持有投资是一种幼稚的长期投资策略,投资者在一段时间开始时买入一项资产,并持有该资产,希望它能随着时间推移而增值。从图4看,由于测试集中的总体趋势是向下的,因此预计这种策略不会产生任何积极的利润。在这个策略中,选择10个比特币在一段时间内买入并持有。为了模拟买入并持有投资策略,假设投资者决定在每个时间步卖出,即如果

p0是资产最初购买时的价格,在每个时间步绘制pt P0的差值。动量投资:动量投资是指

考虑到资产在最后n个阶段的表现,投资者选择在某个时间阶段买入或卖出资产。为了实现这一点,计算窗口大小为n = 20的价格的简单移动平均值,即20分钟前。在每个时间步,如果当前开盘价低于前几分钟的平均价格,则购买1枚比特币。如果当前开盘价高于前几分钟的平均价格,那么迄今为止购买的所有比特币都将被出售。在它们相等的情况下,所有资产都被持有。

这些投资策略作为基准,并与宏观经济主体进行比较。宏观经济主体类似于动量投资,唯一的区别是何时买入、卖出或持有的政策不同。与动量投资类似,宏观经济主体在决定买入时买入一枚比特币,在决定卖出时耗尽所有资产。图6描述了不同策略之间的性能比较。

图6比较了利润方面的策略。累积利润是为动量投资策略和宏观代理人绘制的。宏观代理人的累积利润

5

图6。实现的各种投资策略的绩效——概率神经网络图

增长不是很不稳定,这表明宏观经济策略也很稳定。

六.微代理的细节

在前一节中,结果表明,与两种已知的投资策略相比,宏观代理表现良好。然而,宏观代理的一个问题是,它假设交易以开盘价进行。在真实的市场环境中,以开盘价进行的交易通常不是这样。因此,到目前为止,该订单的定价框架存在这种不确定性。这激发了微代理的目的。这里使用的许多想法来自[3]和

[4]。

A.介绍

愿意在。询问部分包含卖家愿意出售的所有价格和数量。交易者可以通过两种主要方式在订单簿中下单:

1)市场订单(Market Order):当交易者下市场订单时,他们是以市场价格下订单,即订单另一方的最佳价格。大多数情况下,这份订单会立即得到满足。但是,根据订单的订购数量,订单可能不会以相同的价格执行,因为这取决于市场价格下的可用数量。另一个缺点是市场订单通常伴随着额外的交易费用。视州而定,这甚至可能产生负利润。

2)限价单:当交易者下限价单时,他们实际上是在要求订单价格(或更好的价格)。限价单向交易者保证订单价格,然而,订单可能永远不会被填满。当交易者下限价单时,他们会支持所有以该价格下订单的交易者。下限价单的优势在于,由于限价单为其他市场参与者提供流动性,交易所通过取消额外的交易费用来激励限价单。

一旦交易者下了订单,匹配引擎会尝试将交易者的订单与相反订单簿一侧的订单进行匹配。只有当有匹配的订单时,交易才会发生。

代理商应该能够在订单簿中最佳地下订单。如前所述,代理商有两种订单选择:市场订单或限价订单。然而,在下市场订单和下限价订单之间存在权衡。因此,代理人的目标是在这种权衡上进行优化:有没有比在时间跨度开始时简单地下单更好的行动?

这是一个具有挑战性的优化问题,因为这里有许多未知变量:

在金融市场中,有一个订单簿,一个保存所有出价和要价/成交量值的数据结构。图7描绘了订单状态的快照。

其他市场参与者:该代理不是市场上唯一的交易者。代理人还与许多其他市场参与者互动。

对抗性:在这些市场参与者中,也有算法交易员,其中一些人可能在玩对抗性游戏,例如比特币鲸鱼。

代理还必须优化这些未知因素。为此,匹配引擎需要精确模拟市场。由于这个问题是作为一个RL问题提出的,这样一个模拟器是必不可少的,因为代理需要奖励反馈。开源匹配引擎

[7]用于帮助模拟exchange match引擎。然而,由于数据仅限于收集的时间段,匹配引擎模拟器仅指示该时间段。因此,使用人工匹配引擎仍然有一个缺点。

图7。订单簿状态的示例

订单分为两部分:投标和询价。投标部分包含买方的所有价格和数量

B.环境

在强化学习问题中,环境是必不可少的,因为它为代理提供了后续状态,

6

以及奖励反馈。这个问题的环境与宏代理的环境大不相同。环境将订单方作为输入,即从宏观代理处购买或出售。

环境的两个主要组成部分是匹配引擎和订单。订单在环境中起着关键作用。投标、询价和交易数据都是从WebSocket中收集的。此外,在数据收集开始时,会为每侧的前20个级别拍摄当前订单状态的快照。基于该快照,以及单独的出价和要价数据,创建了整个历史订单簿。

数据再次被分成类似于宏代理的训练和测试集。在训练期间,环境在训练集中随机的时间步长开始(在一分钟的开始)。环境持续到一分钟结束。在一分钟内,代理选择下一个匹配引擎试图匹配的订单。如果由于某种原因订单直到最后一步才匹配,环境会强制对所有剩余资产进行市场订购。环境仅在交易发生时或时间跨度用尽时提供奖励反馈。这种单一的相互作用被定义为一个时代。

C.州

作为国家的一部分,使用私人和市场变量的概念:

私有变量:私有变量包含两个特征:剩余数量和剩余时间。市场变量:市场变量包含订单簿

过去30个时间步长的状态和贸易数据。订单状态包括最高20个级别的投标和询价价格和数量。交易数据包括价格和数量,以及最后一次交易发生的订单方。

D.行为

代理商决定的行动是下限价单的价格。更具体地说,代理选择整数动作a∈[50,50],使得时间步长t的价格pt为

pt = pmt 0.10a

pmt是市场价格。因此,代理总共可以选择101个可能的离散操作。

E.报酬

回想一下,微代理的目标是以最佳方式下限价单。因此,代理人会得到相应的奖励。奖励函数是代理商能够卖出的价格和下单前的市场价格之间的差额。体积加权平均价格(VWAP)用于确定代理商能够交易的总价格。因此,奖励功能是

rt = PMT P I VI X P∈P VP P

其中pmt是市场价格,P1 VI是资产总量,P是代理商订购的所有价格。

F.深度问答-网络架构和培训

对于该代理,使用与宏代理相似的培训框架。但是,使用了不同的网络体系结构。

决斗深层问答网络

对于许多州来说,订单边缘的动作a可能对州没有什么价值。因此,对于某些状态,可能没有必要估计所有动作的动作值。决斗深层量子网络提供了一个解决方案。首次应用于雅达利游戏,DDQNs不仅有助于加速训练,还能产生更可靠的Q值[8]。

学思践悟市场监管(利用多主体强化学习优化市场交易)(5)

图8。决斗深层问答网络框架

回想一下,一个Q值可以分解成两个部分:处于特定状态的值和处于状态的值,在状态s采取行动的优势,即Q值分解为

Q(s,a) = V (s) A(s,A)

DDQNs将预测解耦成两个网络流(图8):价值流,其估计值为V (s),优势流,其估计值为A(s,A)。这种分离允许代理了解哪些状态可能没有足够的价值去探索每一个动作。解耦后,有一个聚合层通过以下方式聚合两个流:

Q(s,a;θ,α,β)

= V。θ,β) a(s,a;θ,α)| A | Xa0 A(s,A;θ,α)!

其中θ是MLP的权重,α是优势流的权重,β是价值流的权重。

决斗深层量子网络的概念被应用于微代理。除了决斗的概念,其余的训练框架保持不变(见图3)。算法2的修改详见算法3。

7

算法3:微代理深度问学习训练1初始化重放存储器M 2初始化,折扣因子γ 3初始化具有随机权重4的问网络,时间= 1到E

第5次重置环境(环境输出随机状态并从宏代理获得输入)6,而第6次重置环境60秒

7 at ←选择有概率的随机动作或选择动作maxa Q(s,a;θ)

8 st 1,rt,done ←基于a行动(环境输出新状态、奖励和done,基于匹配引擎输出)

9如果重放存储器满了,那么

10将第一个元素从M中移除

11追加(st,at,rt,st 1,完成)到重放存储器M

12 b ←随机从重放存储器中抽取小批量样本

13 q ←初始化大小为|b的空数组

14 foreach (si,ai,ri,si 1) ∈ b do

qi =( ri γ maxa Q(si 1,ai;θ)未完成ri完成16结束

17应用有损失的梯度下降

-(qi-Q(si,ai;θ))

18衰减19结束20结束

G.结果

在本节中,将评估微代理策略的性能。该代理背后的基本目标是在分配的时间范围内最优地下限价订单来买卖资产。这里,代理通过两个场景进行测试,每个场景评估其在理想和非理想状态下的性能。

1)市场趋势向下:在这种情况下,在测试集中选择一个时间步长,此时市场通常趋势向下。这里,理想的情况是购买资产,因为价格通常在下降。

图9描绘了被选择来测试代理对抗下降趋势的快照。更具体地说,代理是在07:36到07:37的时间范围内测试的。

购买资产

当购买一项呈上升趋势的资产时,代理人决定采取11英镑的行动。这意味着将限价单设定为低于市场价格1.10美元。这导致了立即执行。这是一个正确的选择,因为市场呈下降趋势。

出售资产

当资产呈下跌趋势时,代理人决定采取29点的行动。这相当于一个极限

学思践悟市场监管(利用多主体强化学习优化市场交易)(6)

图9。面向下降趋势的订单可视化

订单价格比市场价格高2.90美元。尽管这似乎不是最佳的决定,但考虑到代理商能够意识到价格下跌,它决定立即出售其资产。以这样的价格,交易几乎是有保证的,就像这里的情况一样。在第一步(在市场下跌之前),该代理人卖出了1枚比特币。

2)市场向上趋势:在这种情况下,在测试集中选择一个时间步长,此时市场通常是向上趋势。在这里,出售资产是理想的情况,因为价格通常在上涨。

学思践悟市场监管(利用多主体强化学习优化市场交易)(7)

图10。面向上升趋势的订单可视化

图10描绘了被选择来测试代理处于上升趋势的快照。更具体地说,在10:09到10:10的时间范围内对代理进行了测试。

购买资产

当购买一项资产呈上升趋势时,代理人决定采取18点的行动。这意味着将限价单设定为比市场价高1.80美元。结果是

8

学思践悟市场监管(利用多主体强化学习优化市场交易)(8)

图11。组合式多代理端到端管道

立即执行。这是一个正确的选择,因为市场呈上升趋势。

出售资产

当销售呈上升趋势时,代理商决定采取21英镑的行动。这意味着将限价单设定为低于市场价格2.10美元。这是一个危险的决定,因为订单可能不匹配。事实上,代理商销售1枚比特币需要两个步骤,即必须下两个限价订单(每个订单部分执行)。在这种情况下,由于价格上涨,采取消极行动是正确的选择。

基于这些特殊情况,微代理看起来能够做出最佳决策。当价格预计下降时,代理人会做出立即出售所有资产的最佳决定(或限制购买价格低于市场出价的资产)。另一方面,当价格预期增长时,代理人会做出立即购买资产(或以低于市场要求的价格出售资产)的最佳决策。

七.宏观和微观主体的结合

在第5节和第6节中,给出了宏代理和微代理框架的深入概述。现在,这两个代理被组合以反映图3中定义的多代理框架。端到端管道包含4个组件,如图11所示,其简要详述如下:

1) WebSocket:原始交易、出价和要价数据通过连接到Bittrex交换机的WebSocket到达。数据一到达,就被发送到特征器。

2)特征器:有两个特征器,每个代理一个。宏代理特征器基于从WebSocket收集的原始交易数据计算市场指标特征和分钟数据。微代理特征器根据原始数据确定订单的新状态。

3)宏代理:如第5节所述,宏代理决定购买、出售或持有资产的行为。宏代理保持当前有多少资产的连续计数。如果选择出售决定,则发送该计数(资产总数)。如果选择购买决定,则发送数量为1。

4)微代理:如第6节所述,微代理决定在限价单中何处下单的动作。订单的侧面和数量由宏代理提供的数据决定。一旦微代理决定了一个动作,这个动作就被输入到匹配引擎中,该引擎试图匹配订单。这一决定被转发回环境,供代理决定取消订单并创建新订单。如果订单匹配,即变成交易,则订单簿被更新。请注意,实际上匹配引擎是实际的交换。

A.决赛成绩

使用第5节中定义的测试集评估端到端管道。类似于对宏观代理的评估,多代理策略与买入持有投资和动量投资策略相比较。

在图12中,给出了买入和持有投资、动量投资、宏观代理和多代理(宏观代理和微观代理)策略之间的性能比较。有趣的是,与宏代理相比,多代理方法表现不佳。以前,在对微代理的评估中,人们注意到代理通常会决定正确的决定是向订单的另一方下订单,即价格略低于市场价格。虽然这导致立即执行,但这导致累计利润下降。

就多代理设置中微代理下的订单总数而言,91%的订单为限价订单。因此,微代理能够优化下限价单。请注意,在其他假设的策略中

9

学思践悟市场监管(利用多主体强化学习优化市场交易)(9)

图12。多种投资策略绩效的概率神经网络实现图(包括多智能体)

价格被假定为市场订单的价格。这也将导致额外的兑换费用。

总体而言,所提出的多代理框架能够很好地优化。此外,多代理方法也是一种稳定的策略,因为累积利润增长不会波动。

八.改进和未来工作

尽管在创建一个优化市场交易的端到端框架方面取得了相当大的进展,但仍有一些改进领域:

风险:贯穿本研究的一个假设是,代理人被允许购买无限数量的资产。这一决定有很高的风险,因为代理人可以控制购买多少资产。在测试多代理策略时,发现有一个代理以相对较低的利润出售84个比特币的案例。与此相关的风险也很高。下一步是通过添加限制宏代理采取的购买操作数量的进一步约束来优化这一点。然而,这要求代理更好地了解何时持有资产。这引起了下一个问题。

奖励工程:奖励工程是强化学习中的一个重要问题。就宏观代理而言,人们发现持有资产的决定非常少。这可能是因为代理因决定保留而获得0的奖励。也许设置前面提到的约束以及能够为持有提供更好的奖励反馈的奖励功能,可以帮助代理学习持有资产更长时间。此外,将兑换费用纳入奖励功能将导致代理能够成功地与兑换环境互动。

市场模拟器:虽然在这个框架中使用的模拟器确实很好地反映了真实情况

市场环境下,它仍然缺少许多变量。特别是其他交易者的影响。还假设微代理是唯一与订单簿交互的交易者。这里的一个选择是创建一个生成模型,它可以创建模拟各种交易者的合成订单。

数据损坏:另一个问题是数据损坏。在多个实例中,发现数据将无序到达,或者由于网络问题仅接收到部分(缺失)数据。在实践中,状态与实际交换相匹配是至关重要的。因此,在将该框架部署到实际交换之前,需要一个解决方案。

九.结论

为解决优化做市商的问题,提出了多智能体强化学习框架。结果表明,这些代理人能够学习的政策导致了稳定的交易策略,从而导致利润的低波动线性增长。将强化学习应用于这样一个问题也表明它有能力在复杂的环境中表现良好,是一个可行的工具,可以用于市场交易。

参考

[1]马修·迪克森。"监督学习的高频交易执行模型."arXiv预印本arXiv:1710.03870 (2017)。

[2]普奈特·拉赫贾普拉哈尔·加内什。"高频交易中的深度强化学习."arXiv预印本arXiv:1809.01506 (2018)。

[3]塞维多夫·内夫卡,冯毅,迈克尔·卡恩斯"雷因——

优化交易执行的强化学习。"

https://www.cis.upenn.edu/·姆卡辛/论文/rlexec.pdf (2006年)。

[4]马克·朱奇利"限额下单优化-

深度强化学习的优化"

https://repository . tudelft . nl/islandora/object/uuid:e2e 99579-541 b-4b 5a-8cb b-36ea 17 a4a 93a?收集=教育(2018年)。

[5]"使用Z分数最大化你投资组合的潜力"

http://seeking alpha . com/article/3224666-use-z-scores-to-maximum-your-portfolio-potential(2015)。

[6] Hado van Hasselt等人,"跨越许多数量级的学习价值",arXiv预印arXiv:1602.07714 (2016)。

[7]加文·陈。"灯光匹配引擎"

https://github.com/gavincyi/LightMatchingEngine(2017)。

[8]王子瑜等人,"深度强化学习的决斗网络体系结构",arXiv预印本arXiv:1511.06581 (2016)。

[9]李在元,蒋敏欧,"多智能体问答学习

优化股票交易系统的框架"

24530153.pdf(2002年)。

[10]投资"随机漫步理论"

https://www.investopedia.com/terms/r/randomwalktheory.asp(2018)。

[11]奥利维耶·冈特。"最佳市场交易"arXiv预印arXiv:1605.01862 (2017)。

10

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页