CN109816530A - 一种基于深度强化学习a3c算法的金融交易方法 - Google Patents
一种基于深度强化学习a3c算法的金融交易方法 Download PDFInfo
- Publication number
- CN109816530A CN109816530A CN201910104407.1A CN201910104407A CN109816530A CN 109816530 A CN109816530 A CN 109816530A CN 201910104407 A CN201910104407 A CN 201910104407A CN 109816530 A CN109816530 A CN 109816530A
- Authority
- CN
- China
- Prior art keywords
- transaction
- network
- moving average
- index
- reward
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 45
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 30
- 239000013598 vector Substances 0.000 claims abstract description 36
- 230000003993 interaction Effects 0.000 claims abstract description 4
- 230000009471 action Effects 0.000 claims description 51
- 238000011156 evaluation Methods 0.000 claims description 45
- 239000003795 chemical substances by application Substances 0.000 claims description 26
- 230000006870 function Effects 0.000 claims description 22
- 238000004364 calculation method Methods 0.000 claims description 20
- 230000002787 reinforcement Effects 0.000 claims description 18
- 238000012545 processing Methods 0.000 claims description 17
- 230000004913 activation Effects 0.000 claims description 9
- 238000010606 normalization Methods 0.000 claims description 9
- 230000008685 targeting Effects 0.000 claims description 8
- 238000001914 filtration Methods 0.000 claims description 3
- 238000013507 mapping Methods 0.000 claims description 3
- 238000004088 simulation Methods 0.000 claims description 3
- 238000012549 training Methods 0.000 abstract description 7
- 230000008569 process Effects 0.000 abstract description 6
- 230000002452 interceptive effect Effects 0.000 abstract 1
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Landscapes
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种基于深度强化学习A3C算法的金融交易方法,所述方法包括:构建模拟交易环境,采集历史分钟数据并预处理,得到待输入向量;初始化A3C模型;工作者线程与模拟交易环境的副本交互,并将待执行的动作发送到模拟交易环境的副本;模拟交易环境的副本接跳转到下一个交易状态,计算奖赏值,将下一交易状态和奖赏值发送至智能交易体;交易智能体分别计算工作者线程的策略网络和评估网络的权值梯度并发送至全局网络;全局网络更新权值,重复工作线程的交互直到A3C模型训练完毕;使用全局网络对待执行的交易操作进行选择。本发明通过市场历史数据不断地交互训练模型,得到稳定的交易策略,避免引入大量的专家知识,动态适应环境变化并更新策略。
Description
技术领域
本发明涉及深度学习领域,更具体地,涉及一种基于深度强化学习A3C算法的金融交易方法。
背景技术
金融交易中的量化投资与传统的定性投资的本质都是基于市场是否有效或者弱有效的理论基础,以此设计可靠的交易模型战胜市场,产生超额收益。量化交易有很多种形式,例如:自动化交易,通过预先编制的程序让计算机自动完成交易的指令,这种方式是将交易员的具体逻辑交易转化成程序的方式,可以更快、更严格的执行;算法交易,具体是通过各类实时以及历史数据等各种类型的数据作为输入,这里输入的可以是,价格、成交量等数据,或者一些基本面和技术面指标,将这些数据输入到事先设计好的算法模型中,该算法模型通过分析历史数据,发现一些可以用来判断趋势等的规律或者特征,最后让算法模型产生交易决策的方式,模型可以是解决一个优化问题,也可以是解决一个预测或者分类问题等等,这几类算法交易普遍的逻辑是,由策略研发员通过对交易市场观察、以及对数据进行一些统计分析与可视化,发现待挖掘的规律,产生基本的交易逻辑思想,最后通过一些机器学习或者统计学习的方法将交易的逻辑思想转变成算法模型,通过对未被训练的交易数据测试,以一定的指标判断交易模型的好坏,从而进一步优化,一直迭代直到达到预期目标,最后将执行的过程交给计算机自动完成,很显然这个过程策略的基本逻辑和交易手法还是由人的主观思想和逻辑决定的,没有突破人的思维,强烈依赖于专家的领域知识,在大数据中无法主动发掘潜在的投资机会。
而近年来,人工智能的研究在图像、视频、游戏、自然语言、围棋等多个领域取得了显著的成果。2016年AlphaGo计算机围棋系统战胜顶尖职业棋手李世石,引起了全世界的广泛关注,人工智能进一步被推到了风口浪尖。而其中的深度强化学习算法是AlphaGo的核心,也是通用人工智能的实现关键。异步优势行动者评论家算法(Asynchronous AdvantageActor-Critic),简称A3C,是谷歌公司DeepMind团队在2015年提出的相比DQN更好更通用的一个深度强化学习算法。A3C算法完全使用了Actor-Critic框架,并且引入了异步训练的思想,在提升性能的同时也大大加快了训练速度。A3C算法的基本思想,即Actor-Critic的基本思想,是对输出的动作进行好坏评估,如果动作被认为是好的,那么就调整行动网络(Actor Network)使该动作出现的可能性增加。反之如果动作被认为是坏的,则使该动作出现的可能性减少。通过反复的训练,不断调整行动网络找到最优的动作。基于A3C算法构建稳定可靠的金融交易方法是当前值得研究的问题。
发明内容
本发明为克服上述现有技术中交易方法过度依赖专家的领域知识,无法主动发掘潜在投资机会并输出可靠的交易策略的缺陷,提供一种基于深度强化学习A3C算法的金融交易方法。
本发明的首要目的是为解决上述技术问题,本发明的技术方案如下:
一种基于深度强化学习A3C算法的金融交易方法,所述方法包括以下步骤:
S1:构建模拟交易环境,通过模拟交易环境的数据接口采集金融市场的历史分钟数据,将历史分钟数据进行缺省值处理完毕后,再做归一化处理,得到历史分钟数据指标;同时分别计算按分钟的简单移动平均指标和按分钟的指数移动平均指标,将归一化处理后的历史分钟数据指标和按分钟的简单移动平均指标、按分钟的指数移动平均指标组合得到待输入向量;
S2:初始化包含在智能交易体中的A3C模型,所述A3C模型包含有一个全局网络和若干工作者线程,所述全局网络的结构和每一个工作者线程的结构均相同;所述工作者线程均包括有评估网络和策略网络,所述评估网络和策略网络共用若干隐含层;
所述A3C模型创建工作者线程时,模拟交易环境同时创建模拟交易副本;
所述待输入向量通过输入层输入至工作者线程,然后通过若干隐含层处理,隐含层的最终输出分别输入至策略网络和评估网络,策略网络和评估网络分别对应输出策略网络输出向量和评估网络输出向量,
所述若干工作者线程输出的策略网络输出向量和评估网络输出向量共同作为全局网络的输入,所述全局网络的输入经过全局网络的处理最终得到全局网络的输出;
所述全局网络的权值使用随机初始化,每一个工作者线程的网络权重与全局网络权重同步初始化;
S3:每一个工作者线程与一个模拟交易环境的副本进行交互,所述模拟交易环境副本的数目与工作者线程的数目相同;利用工作者线程中策略网络的输出向量和评估网络输出值计算需要执行的交易动作,并将动作发送到模拟交易环境的副本;
S4:模拟交易环境的副本接收到交易动作,跳转到下一个交易状态st+1,根据交易动作前后的交易状态计算奖赏值rt,奖赏值计算完成后,模拟交易环境的副本将下一交易状态st+1和奖赏值rt发送到交易智能体;
S5:交易智能体接收到st+1和rt,分别计算工作者线程的策略网络权值梯度和评估网络权值梯度,每个工作者线程将各自的策略网络权值梯度和评估网络权值梯度发送至全局网络;
S6:全局网络接收到各工作者发送的策略网络权值梯度和评估网络权值梯度后,更新全局网络的网络权值,全局网络权值更新完成后,以st+1作为工作者线程的新的输入,重复步骤S3直到达到设定的步数或累计奖赏收敛,此时A3C模型训练完毕;
S7:A3C模型训练完毕后,使用全局网络对待执行的交易操作进行选择,模拟交易环境从交易所接收行情数据,计算待输入向量作为全局网络输入,根据全局网络中策略网络输出的最大概率值选取下一目标持仓量,通过ctp自动化交易接口下订单使得当前仓位达到目标仓位。
进一步地,步骤S1所述的历史分钟数据中t时刻的分钟k线st表示如下:
其中,历史分钟数据包含的指标有:表示开盘价、表示最高价、表示最低价、表示收盘价、表示成交量;
所述按分钟的简单移动平均指标包括:5分钟简单移动平均指标30分钟简单移动平均指标60分钟的简单移动平均指标
所述按分钟的指数移动平均指标包括:5分钟指数移动平均指标30分钟指数移动平均指标60分钟指数移动平均指标
所述待输入向量为11维向量,表示如下:
所述待输入向量作为A3C模型的输入。
进一步地,所述5分钟简单移动平均指标30分钟简单移动平均指标60分钟的简单移动平均指标计算公式如下:
其中n=5,30,60;
所述5分钟指数移动平均指标30分钟指数移动平均指标60分钟指数移动平均指标计算公式如下:
其中n=5,30,60。
进一步地,步骤S1所述缺省值处理过程为:首先过滤掉非交易日的金融市场的历史分钟数据,同时删除成交量为零的无效数据;
步骤S1所述归一化处理过程:分别对历史分钟数据中的最高价、开盘价、最低价、收盘价和成交量按如下公式计算,得到归一化后的价格:
p=(p-pmin)/(pmax-pmin)
其中pmax、pmin分别为时间区间内的最高价和最低价,p为待转化数据。
进一步地,步骤S2工作者线程中的评估网络和策略网络共用前4层隐含层,每层隐含层是一个映射函数h=f(w*x+b),其中x为输入,w为隐含层权重,b为偏置,同时每个隐含层的输出h使用线性单元ReLu的非线性激活函数h=max(0,h)进行修正;
所述策略网络输出层使用Softmax激活函数所述评估网络输出层使用线性激活函数o=w×h+b;
每个工作者线程的评估网络输出节点数为1,代表当前动作的评价值;
每个工作者线程的策略网络的输出节点数:期货为2*pmax+1,其中pmax表示最大仓位,股票为pmax+1,其中1代表空仓。
进一步地,步骤S3每一个工作者线程与一个模拟交易环境的副本进行交互的过程为:
初始时刻交易智能体中的工作者线程从模拟交易环境副本中观察到交易状态s0,将s0作为工作者线程的输入,计算工作者线程中策略网络的输出向量π(s0)和评估网络输出值V(s0)选择a0=argmaxaπ(a|s0)作为执行的交易动作并发送到模拟交易环境的副本。
进一步地,步骤S4中奖赏值的计算方式包括:以最大化收益为目标的奖赏计算或以最大化风险调整收益为目标计算奖赏;
以最大化收益为目标的奖赏计算如下:
rt=Δc×pt-(α+β)|Δp|
其中,是前后两个交易状态的收盘价差,pt表示t时刻的持仓量,Δp=pt-pt-1是前后两交易状态的仓位变化量,α表示每单位交易的手续费率,β表示每次交易出现的滑点率;
最大化风险调整收益为目标计算奖赏,计算如下:
其中,为累计奖赏。
进一步地,步骤S6中全局网络的网络权值更新公式如下:
θπ=θ′π+απdθπ
θv=θ′v+αvdθv
其中,θπ表示全局网络中策略网络更新后的网络权值,θ′π表示全局网络中策略网络更新前的网络权值,απ表示更新系数,dθπ表示策略网络权值梯度;θv表示表示全局网络中策略网络更新后的网络权值,θ′v表示表示全局网络中策略网络更新前的网络权值,αv表示更新系数,dθv表示评估网络权值梯度。
进一步地,在步骤S1之后,步骤S2初始化智能交易体中的A3C模型之前还包括定义处理步骤,所述定义包括:状态定义、动作定义、奖赏函数定义、网络定义;
所述状态定义具体操作为构建待输入向量的指标,所述指标包括最高价、开盘价、最低价、收盘价和成交量、按分钟的简单移动平均指标、按分钟的指数移动平均指标;
所述动作定义是在交易智能体中预定义交易动作,所述预定义的交易动作表示下单中的操作,定义目标仓位为交易动作,通过预测下一时刻的仓位,结合当前仓位得出需执行的下单操作;
所述奖赏函数定义是根据前后时间步的价格数据以及执行的动作;
所述网络定义是构建智能交易体中A3C模型的网络结构。
进一步地,所述的金融交易方法通过金融交易模型实现,所述金融交易模型包括:模拟交易环境和交易智能体;
所述模拟交易环境通过数据接口与交易所网络连接,所述模拟交易环境通过函数接口与交易智能体网络连接;
所述函数接口包括:状态推送接口、奖赏推送接口、奖赏推送接口;
所述状态推送接口用于在每个时间步向交易智能体发送当前模拟时刻的交易状态;
所述奖赏推送接口用于模拟交易环境接受动作后根据前后时间步计算奖赏值并发送给交易智能体;
所述奖赏推送接口用于接收发自交易智能体的交易动作,更新时间步并执行相应交易动作。
与现有技术相比,本发明技术方案的有益效果是:
本发明通过在线学习的方式,通过建立基于A3C算法的交易模型利用历史数据不断地交互训练模型,得到稳定的交易策略,避免引入大量的专家知识,动态地适应环境变化并更新策略。
附图说明
图1为模拟交易环境与交易智能体的交互关系示意图。
图2为方法流程图。
图3为A3C模型结构图。
具体实施方式
下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例1
本发明的所述的金融交易方法实现通过金融交易模型实现,所述金融交易模型包括:模拟交易环境和交易智能体;如图1所示,为模拟交易环境与交易智能体的交互关系示意图。
所述模拟交易环境通过数据接口与交易所网络连接,所述模拟交易环境通过函数接口与交易智能体网络连接。
所述函数接口包括:状态推送接口、奖赏推送接口、奖赏推送接口;
所述状态推送接口用于在每个时间步向交易智能体发送当前模拟时刻的交易状态;
所述奖赏推送接口用于模拟交易环境接受动作后根据前后时间步计算奖赏值并发送给交易智能体;
所述奖赏推送接口用于接收发自交易智能体的交易动作,更新时间步并执行相应交易动作。
其中,在初始化智能交易体中的A3C模型之前还将进行状态定义、动作定义、奖赏函数定义、网络定义;
所述状态定义具体操作为构建待输入向量的指标,所述指标包括最高价、开盘价、最低价、收盘价和成交量、按分钟的简单移动平均指标、按分钟的指数移动平均指标;
所述动作定义是在交易智能体中预定义交易动作,所述预定义的交易动作表示下单中的操作,定义目标仓位为交易动作,通过预测下一时刻的仓位,结合当前仓位得出需执行的下单操作;
所述奖赏函数定义是根据前后时间步的价格数据以及执行的动作;
所述网络定义是构建智能交易体中A3C模型的网络结构。
如图2所示,一种基于深度强化学习A3C算法的金融交易方法,所述方法具体包括以下步骤:
S1:构建模拟交易环境,通过模拟交易环境的数据接口采集金融市场的历史分钟数据,t时刻的分钟k线st表示如下:
其中,表示开盘价、表示最高价、表示最低价、表示收盘价、表示成交量;
将历史分钟数据进行缺省值处理完毕后,再做归一化处理;同时分别计算简单移动平均指标和指数移动平均指标,将归一化处理后的历史分钟数据指标和简单移动平均指标、指数移动平均指标做归一化处理后得到11维待输入向量如下:
其中,简单移动平均指标包括:5分钟简单移动平均指标30分钟简单移动平均指标60分钟的简单移动平均指标
指数移动平均指标包括:5分钟指数移动平均指标30分钟指数移动平均指标60分钟指数移动平均指标
S2:初始化包含在智能交易体中的A3C模型,如图3所示,所述A3C模型包含有一个全局网络和若干工作者线程,所述全局网络的结构和每一个工作者线程的结构均相同,
所述工作者线程均包括有评估网络和策略网络,所述评估网络和策略网络共用若干隐含层;
所述工作者线程均包括有评估网络和策略网络,所述评估网络和策略网络共用前4层隐含层,每层隐含层是一个映射函数h=f(w*x+b),其中x为输入,w为隐含层权重,b为偏置,同时每个隐含层的输出h使用线性单元ReLu的非线性激活函数h=max(0,h)进行修正;
所述策略网络输出层使用Softmax激活函数代表各动作的概率,所述评估网络输出层使用线性激活函数o=w×h+b;
所述A3C模型创建工作者线程时,模拟交易环境同时创建模拟交易副本;
所述待输入向量通过输入层输入至工作者线程,然后通过若干隐含层处理,隐含层的最终输出分别输入至策略网络和评估网络,策略网络和评估网络分别对应输出策略网络输出向量和评估网络输出向量,
所述若干工作者线程输出的策略网络输出向量和评估网络输出向量共同作为全局网络的输入,所述全局网络的输入经过全局网络的处理最终得到全局网络的输出;
每个工作者线程的评估网络输出节点数为1,代表当前动作的评价值;
每个工作者线程的策略网络的输出节点数:期货为2*pmax+1,其中pmax表示最大仓位,股票为pmax+1,其中1代表空仓;
所述全局网络的权值使用随机初始化,每一个工作者线程的网络权重与全局网络权重同步初始化;
S3:每一个工作者线程与一个模拟交易环境的副本进行交互,所述模拟交易环境副本的数目与工作者线程的数目相同;本实施例采用8个工作者线程;初始时刻交易智能体从模拟交易环境副本中观察到交易状态s0,将s0作为工作者线程的输入,计算工作者线程中策略网络的输出向量π(s0)和评估网络输出值V(s0)选择a0=argmaxaπ(a|s0)作为执行的动作并发送到模拟交易环境的副本;
S4:模拟交易环境的副本接收到交易动作a0,跳转到下一个交易状态st+1,根据交易动作前后的交易状态计算交易动作的奖赏值;
本发明中计算奖赏的方式包括两种:以最大化收益为目标的奖赏计算或以最大化风险调整收益为目标计算奖赏;
以最大化收益为目标的奖赏交易操作的奖赏计算如下:
rt=Δc×pt-(α+β)|Δp|
其中,是前后两个交易状态的收盘价差,pt表示t时刻的持仓量,Δp=pt-pt-1是前后两交易状态的仓位变化量,α表示每单位交易的手续费率,β表示每次交易出现的滑点率;考虑手续费和滑点是为了使模型更接近与真实交易环境;
最大化风险调整收益为目标计算奖赏,计算如下:
其中,为累计奖赏。
奖赏值计算完成后,模拟交易环境的副本将下一交易状态st+1和奖赏值rt发送到交易智能体;
S5:交易智能体接收到st+1和rt,分别计算工作者线程的策略网络权值梯度和评估网络权值梯度,每个工作者线程将各自的策略网络权值梯度和评估网络权值梯度发送至全局网络;
S6:全局网络接收到各工作者发送的策略网络权值梯度和评估网络权值梯度后,更新全局网络的网络权值,更新公式如下:
θπ=θ′π+απdθπ
θv=θ′v+αvdθv
其中,θπ表示全局网络中策略网络更新后的网络权值,θ′π表示全局网络中策略网络更新前的网络权值,απ表示更新系数,dθπ表示策略网络权值梯度;θv表示表示全局网络中策略网络更新后的网络权值,θ′v表示表示全局网络中策略网络更新前的网络权值,αv表示更新系数,dθv表示评估网络权值梯度;
全局网络权值更新完成后,以st+1作为工作者线程的新的输入,重复步骤S3直到达到设定的步数或累计奖赏收敛,A3C模型训练完毕。此时,A3C模型已经从数据中提炼出相应出最大化奖赏的交易模式。
S7:A3C模型训练完毕后,使用全局网络对待执行的交易操作进行选择,
模拟交易环境从交易所接收行情数据,计算得到11维待输入向量作为A3C模型的输入,根据全局网络中策略网络输出的最大概率值选取下一目标持仓量,通过ctp自动化交易接口下订单使得当前仓位达到目标仓位,从而获得稳定的收益。
本发明能根据下一时刻交易所发回的行情数据,按步骤S3-S6动态更新A3C模型。A3C模型在不断与市场交互过程中在线学习策略,不断调整使得模型适应市场,并朝着目标函数方向优化。
进一步地,所述缺省值处理过程为:首先过滤掉非交易日的历史分钟数据,同时删除成交量为零的无效数据;
所述归一化处理过程:分别对历史分钟数据中的最高价、开盘价、最低价、收盘价和成交量按如下公式计算,得到归一化后的价格:
p=(p-pmin)/(pmax-pmin)
其中pmax、pmin分别为时间区间内的最高价和最低价,p为待转化数据。
进一步地,所述5分钟简单移动平均指标30分钟简单移动平均指标60分钟的简单移动平均指标计算公式如下:
其中n=5,30,60;
所述5分钟指数移动平均指标30分钟指数移动平均指标60分钟指数移动平均指标计算公式如下:
其中n=5,30,60。
本发明通过在线学习的方式,与历史数据不断地交互和试错,动态更新A3C模型中的策略网络参数和评估网络参数,提炼市场状态的表示并提升策略质量,最后得到稳定的策略,通过接入交易所接口即可用于实际市场交易,在交易过程中同时也不断通过训练更新策略。本发明避免了引入大量专家领域知识,只需提供原始行情数据及少量人工构造的技术指标,通过深度神经网络学习潜在的交易模式,并且利用强化学习的在线学习特性,动态地适应环境变化并更新策略,是一种先进且有效的金融交易方法。
相同或相似的标号对应相同或相似的部件;
附图中描述位置关系的用语仅用于示例性说明,不能理解为对本专利的限制;
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (10)
1.一种基于深度强化学习A3C算法的金融交易方法,其特征在于,所述方法包括以下步骤:
S1:构建模拟交易环境,通过模拟交易环境的数据接口采集金融市场的历史分钟数据,将历史分钟数据进行缺省值处理完毕后,再做归一化处理,得到历史分钟数据指标;同时分别计算按分钟的简单移动平均指标和按分钟的指数移动平均指标,将归一化处理后的历史分钟数据指标和按分钟的简单移动平均指标、按分钟的指数移动平均指标组合得到待输入向量;
S2:初始化包含在智能交易体中的A3C模型,所述A3C模型包含有一个全局网络和若干工作者线程,所述全局网络的结构和每一个工作者线程的结构均相同;所述工作者线程均包括有评估网络和策略网络,所述评估网络和策略网络共用若干隐含层;
所述A3C模型创建工作者线程时,模拟交易环境同时创建模拟交易副本;
所述待输入向量通过输入层输入至工作者线程,然后通过若干隐含层处理,隐含层的最终输出分别输入至策略网络和评估网络,策略网络和评估网络分别对应输出策略网络输出向量和评估网络输出向量,
所述若干工作者线程输出的策略网络输出向量和评估网络输出向量共同作为全局网络的输入,所述全局网络的输入经过全局网络的处理最终得到全局网络的输出;
所述全局网络的权值使用随机初始化,每一个工作者线程的网络权重与全局网络权重同步初始化;
S3:每一个工作者线程与一个模拟交易环境的副本进行交互,所述模拟交易环境副本的数目与工作者线程的数目相同;利用工作者线程中策略网络的输出向量和评估网络输出值计算需要执行的交易动作,并将动作发送到模拟交易环境的副本;
S4:模拟交易环境的副本接收到交易动作,跳转到下一个交易状态st+1,根据交易动作前后的交易状态计算奖赏值rt,奖赏值计算完成后,模拟交易环境的副本将下一交易状态st+1和奖赏值rt发送到交易智能体;
S5:交易智能体接收到st+1和rt,分别计算工作者线程的策略网络权值梯度和评估网络权值梯度,每个工作者线程将各自的策略网络权值梯度和评估网络权值梯度发送至全局网络;
S6:全局网络接收到各工作者发送的策略网络权值梯度和评估网络权值梯度后,更新全局网络的网络权值,全局网络权值更新完成后,以st+1作为工作者线程的新的输入,重复步骤S3直到达到设定的步数或累计奖赏收敛,此时A3C模型训练完毕;
S7:A3C模型训练完毕后,使用全局网络对待执行的交易操作进行选择,模拟交易环境从交易所接收行情数据,计算待输入向量作为全局网络输入,根据全局网络中策略网络输出的最大概率值选取下一目标持仓量,通过ctp自动化交易接口下订单使得当前仓位达到目标仓位。
2.根据权利要求1所述的一种基于深度强化学习A3C算法的金融交易方法,其特征在于,步骤S1所述的历史分钟数据中t时刻的分钟k线st表示如下:
其中,历史分钟数据包含的指标有:表示开盘价、表示最高价、表示最低价、表示收盘价、表示成交量;
所述按分钟的简单移动平均指标包括:5分钟简单移动平均指标30分钟简单移动平均指标60分钟的简单移动平均指标
所述按分钟的指数移动平均指标包括:5分钟指数移动平均指标30分钟指数移动平均指标60分钟指数移动平均指标
所述待输入向量为11维向量,表示如下:
所述待输入向量作为A3C模型的输入。
3.根据权利要求2所述的一种基于深度强化学习A3C算法的金融交易方法,其特征在于,所述5分钟简单移动平均指标30分钟简单移动平均指标60分钟的简单移动平均指标计算公式如下:
其中n=5,30,60;
所述5分钟指数移动平均指标30分钟指数移动平均指标60分钟指数移动平均指标计算公式如下:
其中n=5,30,60。
4.根据权利要求1所述的一种基于深度强化学习A3C算法的金融交易方法,其特征在于,
步骤S1所述缺省值处理过程为:首先过滤掉非交易日的金融市场的历史分钟数据,同时删除成交量为零的无效数据;
步骤S1所述归一化处理过程:分别对历史分钟数据中的最高价、开盘价、最低价、收盘价和成交量按如下公式计算,得到归一化后的价格:
p=(p-pmin)/(pmax-pmin)
其中pmax、pmin分别为时间区间内的最高价和最低价,p为待转化数据。
5.根据权利要求1所述的一种基于深度强化学习A3C算法的金融交易方法,其特征在于,步骤S2工作者线程中的评估网络和策略网络共用前4层隐含层,每层隐含层是一个映射函数h=f(w*x+b),其中x为输入,w为隐含层权重,b为偏置,同时每个隐含层的输出h使用线性单元ReLu的非线性激活函数h=max(0,h)进行修正;
所述策略网络输出层使用Softmax激活函数所述评估网络输出层使用线性激活函数o=w×h+b;
每个工作者线程的评估网络输出节点数为1,代表当前动作的评价值;
每个工作者线程的策略网络的输出节点数:期货为2*pmax+1,其中pmax表示最大仓位,股票为pmax+1,其中1代表空仓。
6.根据权利要求1所述的一种基于深度强化学习A3C算法的金融交易方法,其特征在于,步骤S3每一个工作者线程与一个模拟交易环境的副本进行交互的过程为:
初始时刻交易智能体中的工作者线程从模拟交易环境副本中观察到交易状态s0,将s0作为工作者线程的输入,计算工作者线程中策略网络的输出向量π(s0)和评估网络输出值V(s0)选择a0=argmaxaπ(a|s0)作为执行的交易动作并发送到模拟交易环境的副本。
7.根据权利要求1所述的一种基于深度强化学习A3C算法的金融交易方法,其特征在于,步骤S4中奖赏值的计算方式包括:以最大化收益为目标的奖赏计算或以最大化风险调整收益为目标计算奖赏;
以最大化收益为目标的奖赏计算如下:
rt=Δc×pt-(α+β)|Δp|
其中,是前后两个交易状态的收盘价差,pt表示t时刻的持仓量,Δp=pt-pt-1是前后两交易状态的仓位变化量,α表示每单位交易的手续费率,β表示每次交易出现的滑点率;
最大化风险调整收益为目标计算奖赏,计算如下:
其中,为累计奖赏。
8.根据权利要求1所述的一种基于深度强化学习A3C算法的金融交易方法,其特征在于,步骤S6中全局网络的网络权值更新公式如下:
θπ=θ′π+απdθπ
θv=θ′v+αvdθv
其中,θπ表示全局网络中策略网络更新后的网络权值,θ′π表示全局网络中策略网络更新前的网络权值,απ表示更新系数,dθπ表示策略网络权值梯度;θv表示表示全局网络中策略网络更新后的网络权值,θ′v表示表示全局网络中策略网络更新前的网络权值,αv表示更新系数,dθv表示评估网络权值梯度。
9.根据权利要求1-8任一项所述的一种基于深度强化学习A3C算法的金融交易方法,其特征在于,在步骤S1之后,步骤S2初始化智能交易体中的A3C模型之前还包括定义处理步骤,所述定义包括:状态定义、动作定义、奖赏函数定义、网络定义;
所述状态定义具体操作为构建待输入向量的指标,所述指标包括最高价、开盘价、最低价、收盘价和成交量、按分钟的简单移动平均指标、按分钟的指数移动平均指标;
所述动作定义是在交易智能体中预定义交易动作,所述预定义的交易动作表示下单中的操作,定义目标仓位为交易动作,通过预测下一时刻的仓位,结合当前仓位得出需执行的下单操作;
所述奖赏函数定义是根据前后时间步的价格数据以及执行的动作;
所述网络定义是构建智能交易体中A3C模型的网络结构。
10.根据权利要求9所述的一种基于深度强化学习A3C算法的金融交易方法,其特征在于,所述的金融交易方法通过金融交易模型实现,所述金融交易模型包括:模拟交易环境和交易智能体;
所述模拟交易环境通过数据接口与交易所网络连接,所述模拟交易环境通过函数接口与交易智能体网络连接;
所述函数接口包括:状态推送接口、奖赏推送接口、奖赏推送接口;
所述状态推送接口用于在每个时间步向交易智能体发送当前模拟时刻的交易状态;
所述奖赏推送接口用于模拟交易环境接受动作后根据前后时间步计算奖赏值并发送给交易智能体;
所述奖赏推送接口用于接收发自交易智能体的交易动作,更新时间步并执行相应交易动作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910104407.1A CN109816530A (zh) | 2019-02-01 | 2019-02-01 | 一种基于深度强化学习a3c算法的金融交易方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910104407.1A CN109816530A (zh) | 2019-02-01 | 2019-02-01 | 一种基于深度强化学习a3c算法的金融交易方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109816530A true CN109816530A (zh) | 2019-05-28 |
Family
ID=66605260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910104407.1A Pending CN109816530A (zh) | 2019-02-01 | 2019-02-01 | 一种基于深度强化学习a3c算法的金融交易方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109816530A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110415462A (zh) * | 2019-07-31 | 2019-11-05 | 中国工商银行股份有限公司 | Atm设备加钞优化方法及装置 |
-
2019
- 2019-02-01 CN CN201910104407.1A patent/CN109816530A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110415462A (zh) * | 2019-07-31 | 2019-11-05 | 中国工商银行股份有限公司 | Atm设备加钞优化方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Li et al. | Risk prediction in financial management of listed companies based on optimized BP neural network under digital economy | |
Liang et al. | Adversarial deep reinforcement learning in portfolio management | |
Wang et al. | DeepTrader: a deep reinforcement learning approach for risk-return balanced portfolio management with market conditions Embedding | |
WO2021155706A1 (zh) | 利用不平衡正负样本对业务预测模型训练的方法及装置 | |
CN108921298B (zh) | 强化学习多智能体沟通与决策方法 | |
CN106023195A (zh) | 基于自适应遗传算法的bp神经网络图像分割方法及装置 | |
CN109242207A (zh) | 一种基于深度强化学习的金融时序数据预测方法 | |
CN108734220A (zh) | 基于k线聚类和强化学习的自适应金融时间序列预测方法 | |
Zhang et al. | An evolutionary trend reversion model for stock trading rule discovery | |
CN111061959B (zh) | 一种基于开发者特征的群智化软件任务推荐方法 | |
CN116757497B (zh) | 基于图类感知Transformer的多模态军事智能辅助作战决策方法 | |
CN113269540B (zh) | 专家系统的更新方法、业务处理方法及装置 | |
Li et al. | Learning to trade with deep actor critic methods | |
Wang et al. | Inference-based posteriori parameter distribution optimization | |
CN117036011A (zh) | 一种基于多智能体深度强化学习的最优执行策略优化方法及系统 | |
CN109816530A (zh) | 一种基于深度强化学习a3c算法的金融交易方法 | |
CN117633184A (zh) | 一种模型构建和智能回复方法、设备及介质 | |
CN111445024B (zh) | 一种医学影像识别训练方法 | |
CN112418575A (zh) | 一种基于云计算和人工智能深度学习算法的期货主力合约量化择时决策系统 | |
Ge et al. | Single stock trading with deep reinforcement learning: A comparative study | |
Hao et al. | Application of deep reinforcement learning in financial quantitative trading | |
CN113300884B (zh) | 一种基于gwo-svr的分步网络流量预测方法 | |
Wang et al. | SNIP-FSL: Finding task-specific lottery jackpots for few-shot learning | |
CN113807005A (zh) | 基于改进fpa-dbn的轴承剩余寿命预测方法 | |
Zha et al. | A hierarchical reinforcement learning framework for stock selection and portfolio |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190528 |
|
RJ01 | Rejection of invention patent application after publication |