一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于策略神经网络的投资组合方法及智能体

2022-06-29 21:59:25 来源:中国专利 TAG:


1.本发明涉及机器学习中的深度强化学习技术领域,尤其是基于策略神经网络的投资组合方法及智能体。


背景技术:

2.随着人工智能技术的发展,强化学习算法已经被广泛运用于金融领域。目前,通过搭建适合的交互环境,基于强化学习的投资组合管理模型已经被初步地应用于资产管理,例如申请号为201810030006.1所示方法,运用q learning的强化学习deep q-network(dqn)模型进行投资组合的管理。
3.由于deep q-network只适用于离散的行动空间,需要对于投资组合的动作空间进行离散化处理,这会导致智能体在随机动作探索阶段无法对每个动作进行充分探索,并且使deep q-network的全连接层出现大量神经元。这样一来,不仅对于动作空间的探索效率很低,而且神经网络的训练也会变得非常困难。并且,对于行动空间进行离散化处理通常需要限制投资标的的个数,并且忽略手续费,以此来减少权重向量的个数。这严重影响了该模型的应用价值和泛化能力。


技术实现要素:

4.本发明的目的在于提供一种能力较佳的基于策略神经网络的投资组合方法及智能体。
5.本发明的目的通过以下技术方法来实现:
6.一种基于策略神经网络的投资组合方法,包括如下步骤:
7.s1,构建进行加密货币交易的基于深度强化学习的策略神经网络;
8.所述策略神经网络含有基于软阈值函数和注意力机制的网络拓扑结构,包括两个部分,所述策略神经网络的第一部分的输入为第t个交易周期的价格张量和上一个交易周期的资金分配权重,转化为投资组合中各个加密货币在下一个交易周期中的价格增长潜力的打分输出;所述策略神经网络的第二部分将所述策略神经网络的第一部分输出的各个加密货币在下一个交易周期中的价格增长潜力的打分转化为各个加密货币在下一个交易周期中资金分配权重,以此实现下一个交易周期中加密货币投资组合的最高收益,所述策略神经网络的决策对应着一个马尔可夫决策过程;
9.s2,基于梯度上升对所述策略神经网络进行训练,以实现所述策略神经网络的参数最优化;
10.s3,加载训练好的所述策略神经网络,接受实时的加密货币数据,通过所述策略神经网络获得下一个交易周期的资产分配权重,并根据资产分配权重来调整资金在加密货币市场中各个投资标的间的分配,从而实现最优的投资策略。
11.优选的,所述s1中,所述第t个交易周期的价格张量,通过如下方法得到:
12.s11,以三十分钟以一个交易周期,分别提取所要管理的加密货币前0.5n小时中每
个交易周期的收盘价,最高价和最低价,形成三个(n*m)的矩阵,m为投资组合中的加密货币数量;
13.s12,将s11中得到的三个矩阵分别除以当前交易周期的上一个交易周期的收盘价,使每个矩阵都标准化;
14.s13,将s12中,对于价格张量中由于价格数据缺失无法计算得到数据的位置,用相对价格1进行填充;
15.s14,将经过s13得到的三个矩阵组合成的一个(n*m*3)维的价格张量,即为第t个交易周期的价格张量。
16.优选的,所述s2中,所述策略神经网络的训练过程如下:
17.s21,初始化策略神经网络的参数θ
μ

18.s22,在训练集的整个时间段中,基于几何概率分布选择训练集的时间段[tb,tb nb];
[0019]
s23,在该时间段中的每个交易周期开始的时间点从环境中提取环境状态st,获得
[0020]
s24,基于所述策略神经网络和每个交易周期的环境状态张量获得每个交易周期中所执行的投资组合向量
[0021]
s25,执行每个投资组合向量后从环境中获得每个投资组合向量在其交易周期中的收益
[0022]
s26,计算选定的时间段内的累计收益
[0023]
s27,基于累计收益函数使用梯度上升算法进行参数训练策略神经网络的参数θμ:
[0024][0025]
从而找到最优参数θ
*
使该累计收益函在训练集的数值达到最大;
[0026]
s29,将最优参数赋值给策略神经网络π
θ
(s
t
);
[0027]
s210,重复上述s22-s29的步骤直到训练集的累计收益率最大化。
[0028]
优选的,所述s3中,所述策略神经网络的第一部分执行的过程如下:
[0029]
s311,接受(m,n,3)维的价格张量;
[0030]
s312,通过所述策略神经网路进行特征提取,形成一个的张量,m为投资组合中投资标的的个数;
[0031]
s313,将s312中得到的的张量,通过一层卷积规模为的卷积层输出一个(m,1,10)的张量;
[0032]
s314,将s313得到的(m,1,10)的张量输入一层卷积规模为1*1的卷积层输出一个(m,1)的向量,该(m,1)向量中的数值是对于投资组合中m个投资标的在下一个交易周期中的增长潜力的打分。
[0033]
优选的,所述s312包括:
[0034]
s3121,对s311得到的(m,n,3)价格张量,通过一层卷积规模为1*3的卷积层得到16个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0035]
s3122,将s3121得到的16个特征矩阵输入到一层池化核规模为1*3的平均池化层输出16个的特征矩阵;
[0036]
s3123,将s3122得到的16个的特征矩阵输入到一层卷积核规模为1*1的卷积层得到16个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0037]
s3124,将s3123得到的16个的特征矩阵输入到一层卷积核规模为1*3的卷积层得到16个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0038]
s3125,将s3124得到的16个的特征矩阵输入到一层卷积核规模为1*1的卷积层得到一个的张量;
[0039]
s3126,将s3122得到的16个的特征矩阵输入到一层卷积核规模为1*1的卷积层得到16个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0040]
s3127,将s3126得到的16个的特征矩阵输入到一层卷积核规模为1*3的卷积层得到16个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0041]
s3128,将s3127得到的16个的特征矩阵输入到一层卷积核规模为1*1的卷积层得到一个的张量;
[0042]
s3129,将s3122得到的16个的特征矩阵输入到一层卷积核规模为1*1的卷积层得到16个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0043]
s31210,将s3129得到的16个的特征矩阵输入到一层卷积核规模为1*3的卷积层得到16个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0044]
s31211,将s31210得到的16个的特征矩阵输入到一层卷积核规模为1*1的卷积层得到一个的张量;
[0045]
s31212,将s1211,s3128,s125得到的三个的张量堆叠,得到一个的张量;
[0046]
s31213,计算s31212得到的的张量在第一维度上的平均值,得到一个的张量;
[0047]
s31214,计算s31213得到的的张量在第二维度上的平均值,得到一个(1,192)的向量;
[0048]
s31215,将s31214得到的(1,192)向量输入全连接神经网络层,得到一个(1,192)的向量,其中选用softmax函数作为神经元的激活函数;
[0049]
s31216,将s31215得到的(1,192)向量输入全连接神经网络层,得到一个(1,192)的向量,其中选用sigmoid函数作为神经元的激活函数;
[0050]
s31217,对s31216得到的(1,192)向量和s31214得到的(1,192)向量对位相乘得到一个(1,192)的向量;
[0051]
s31218,将s31217得到的张量中的每个元素求绝对值,得到一个的张量;
[0052]
s31219,将s31212得到的的张量中每个第三维度的向量都对位减去s31218得到的(1,192)向量,得到一个的张量;
[0053]
s31220,将31219得到的的张量中,每个小于0的值都替换为0,得到一个的张量;
[0054]
s31221,将s31212得到的的张量中的每个元素,如果大于0则为1,如果等于0则取0.如果小于0则取-1,得到一个的张量;
[0055]
s31222,将s31221得到的的张量和s31220得到的的张量对位相乘,得到一个的张量;
[0056]
s31223,计算s31222得到的的张量在第一维度上的平均值,得到一个的张量;
[0057]
s31224,计算s31223得到的的张量在第二维度上的平均值,得到一个(1,192)的向量;
[0058]
s31225,将s31224得到的(1,192)向量输入全连接神经网络层,得到一个(1,192)的向量,其中选用relu函数作为神经元的激活函数;
[0059]
s31226,将s31225得到的(1,192)向量输入全连接神经网络层,得到一个(1,192)的向量,其中选用sigmoid函数作为神经元的激活函数;
[0060]
s31227,将s31222得到的的张量中的第三维度的每个二维张量都对位乘以s31226得到的(1,192)的张量的对位值,得到一个的张量;
[0061]
s31228,将s31227得到的192个的特征矩阵输入到一层卷积核规模为1*1的卷积层得到32个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0062]
s31229,将s31228得到的32个的特征矩阵输入到一层卷积核规模为1*3的卷积层得到32个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0063]
s31230,将s31229得到的32个的特征矩阵输入到一层卷积核规模为1*1的卷积层得到一个的张量;
[0064]
s31231,将s31227得到的32个的特征矩阵输入到一层卷积核规模为1*1的卷积层得到32个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0065]
s31232,将s31231得到的32个的特征矩阵输入到一层卷积核规模为1*3的卷积层得到32个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0066]
s31233,将s31232得到的32个的特征矩阵输入到一层卷积核规模为1*1的卷积层得到一个的张量;
[0067]
s31234,将s31227得到的32个的特征矩阵输入到一层卷积核规模为1*1的卷积层得到32个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0068]
s31235,将s31234得到的32个的特征矩阵输入到一层卷积核规模为1*3的卷积层得到32个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0069]
s31236,将s31235得到的32个的特征矩阵输入到一层卷积核规模为1*1的卷积层得到一个的张量;
[0070]
s31237,将s1236,s31233,s1230得到的三个的张量堆叠,得到一个的张量;
[0071]
s31238,计算s31237得到的的张量在第一维度上的平均值,得到一个
的张量;
[0072]
s31239,计算s31238得到的的张量在第二维度上的平均值,得到一个(1,384)的向量;
[0073]
s31240,将s31239得到的(1,384)向量输入全连接神经网络层,得到一个(1,384)的向量,其中选用softmax函数作为神经元的激活函数;
[0074]
s31241,将s31240得到的(1,384)向量输入全连接神经网络层,得到一个(1,384)的向量,其中选用sigmoid函数作为神经元的激活函数;
[0075]
s31242,对s31241得到的(1,384)向量和s31239得到的(1,384)向量对位相乘得到一个(1,384)的向量;
[0076]
s31243,将s31242得到的张量中的每个元素求绝对值,得到一个的张量;
[0077]
s31244,将s31237得到的的张量中每个第三维度的向量都对位减去s31243得到的(1,384)向量,得到一个的张量;
[0078]
s31245,将31244得到的的张量中,每个小于0的值都替换为0,得到一个的张量;
[0079]
s31246,将s31237得到的的张量中的每个元素,如果大于0则为1,如果等于0则取0.如果小于0则取-1,得到一个的张量;
[0080]
s31247,将s31246得到的的张量和s31245得到的的张量对位相乘,得到一个的张量;
[0081]
s31248,计算s31247得到的的张量在第一维度上的平均值,得到一个的张量;
[0082]
s31249,计算s31248得到的的张量在第二维度上的平均值,得到一个(1,384)的向量;
[0083]
s31250,将s31249得到的(1,384)向量输入全连接神经网络层,得到一个(1,384)的向量,其中选用relu函数作为神经元的激活函数;
[0084]
s31251,将s31250得到的(1,384)向量输入全连接神经网络层,得到一个(1,384)的向量,其中选用sigrnoid函数作为神经元的激活函数;
[0085]
s31252,将s31247得到的的张量中的第三维度的每个二维张量都对位乘以s31226得到的(1,384)的张量的对位值,得到一个的张量;
[0086]
s31253,将s31252得到的384个的特征矩阵输入到一层卷积核规模为1*1的卷积层得到64个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0087]
s31254,将s31253得到的64个的特征矩阵输入到一层卷积核规模为1*3的卷积层得到32个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0088]
s31255,将s31254得到的64个的特征矩阵输入到一层卷积核规模为1*1的卷积层得到一个的张量;
[0089]
s31256,将s31252得到的384个的特征矩阵输入到一层卷积核规模为1*1的卷积层得到64个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0090]
s31257,将s31256得到的64个的特征矩阵输入到一层卷积核规模为1*3的卷积层得到64个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0091]
s31258,将s31257得到的64个的特征矩阵输入到一层卷积核规模为1*1的卷积层得到一个的张量;
[0092]
s31259,将s31252得到的384个的特征矩阵输入到一层卷积核规模为1*1的卷积层得到64个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0093]
s31260,将s31259得到的64个的特征矩阵输入到一层卷积核规模为1*3的卷积层得到64个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0094]
s31261,将s31260得到的64个的特征矩阵输入到一层卷积核规模为1*1的卷积层得到一个的张量;
[0095]
s31262,将s1261,s31258,s1255得到的三个的张量堆叠,得到一个的张量;
[0096]
s31263,计算s31262得到的的张量在第一维度上的平均值,得到一个的张量;
[0097]
s31264,计算s31263得到的的张量在第二维度上的平均值,得到一个
(1,768)的向量;
[0098]
s31265,将s31264得到的(1,768)向量输入全连接神经网络层,得到一个(1,768)的向量,其中选用softmax函数作为神经元的激活函数;
[0099]
s31266,将s31265得到的(1,768)向量输入全连接神经网络层,得到一个(1,768)的向量,其中选用sigmoid函数作为神经元的激活函数;
[0100]
s31267,对s31266得到的(1,768)向量和s31264得到的(1,768)向量对位相乘得到一个(1,768)的向量;
[0101]
s31268,将s31267得到的张量中的每个元素求绝对值,得到一个的张量;
[0102]
s31269,将s31262得到的的张量中每个第三维度的向量都对位减去s31218得到的(1,384)向量,得到一个的张量;
[0103]
s31270,将31269得到的的张量中,每个小于0的值都替换为0,得到一个的张量;
[0104]
s31271,将s31262得到的的张量中的每个元素,如果大于0则为1,如果等于0则取0.如果小于0则取-1,得到一个的张量;
[0105]
s31272,将s31271得到的的张量和s31270得到的的张量对位相乘,得到一个的张量;
[0106]
s31273,计算s31272得到的的张量在第一维度上的平均值,得到一个的张量;
[0107]
s31274,计算s31273得到的的张量在第二维度上的平均值,得到一个(1,384)的向量;
[0108]
s31275,将s31274得到的(1,768)向量输入全连接神经网络层,得到一个(1,768)的向量,其中选用relu函数作为神经元的激活函数;
[0109]
s31276,将s31275得到的(1,768)向量输入全连接神经网络层,得到一个(1,768)的向量,其中选用sigmoid函数作为神经元的激活函数;
[0110]
s31277,将s31272得到的的张量中的第三维度的每个二维张量都对位乘以s31276得到的(1,768)的张量的对位值,得到一个的张量。
[0111]
优选的,所述s3中,所述策略神经网络的第二部分执行的过程如下:
[0112]
s315,将在s314得到的向量插入现金偏置项,形成一个(m 1,1)的向量;
[0113]
s316,将s315形成的向量通过softmax激活函数得到投资权重向量,根据投资权重
向量中各个投资标的的目标权重,在下一个交易周期开始的时候对于投资组合中各个投资标的和现金分配的资金进行调整。
[0114]
优选的,还包括:s4,定期使用不用的数据对策略神经网络进行训练及参数调整。
[0115]
一种智能体,包括如前所述的策略神经网络。
[0116]
本发明技术方案的要点主要体现在:
[0117]
本发明所述基于策略神经网络的投资组合方法及智能体,在策略神经网络中,通过引入软阈值函数,对市场中的噪声进行有效过滤;通过使用注意力机制,实现强化学习智能体对于不同类型数据的重要性权重进行调节。这样极大的提高了强化学习智能体的学习能力和对于最优投资组合的探索能力,并且避免训练时候的梯度消失问题的出现,使得策略神经网络可以进行有效训练,并找出每一个投资周期内的最优投资组合。
附图说明
[0118]
图1是本发明所述基于策略神经网络的投资组合方法的流程示意图;
[0119]
图2是本发明所述策略神经网络的第一部分的工作流程示意图;
[0120]
图3图2中的神经网络模块1的工作流程示意图;
[0121]
图4图2中的神经网络模块2的工作流程示意图;
[0122]
图5图2中的神经网络模块3的工作流程示意图;
[0123]
图6是图3、图4、图5中软阈值计算模块的工作流程示意图;
[0124]
图7是图3、图4、图5中注意力机制模块的工作流程示意图;
[0125]
图8是本发明所述策略神经网络的第二部分的工作流程示意图;
[0126]
图9是本发明测试数据的结果对比图。
具体实施方式
[0127]
本发明的目的、优点和特点,将通过下面优选实施例的非限制性说明进行图示和解释。这些实施例仅是应用本发明技术方案的典型范例,凡采取等同替换或者等效变换而形成的技术方案,均落在本发明要求保护的范围之内。
[0128]
在方案的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“前”、“后”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。并且,在方案的描述中,以操作人员为参照,靠近操作者的方向为近端,远离操作者的方向为远端。
[0129]
下面结合附图对本发明揭示的基于策略神经网络的投资组合方法及智能体进行阐述。请参阅图1所示,本发明揭示的一种基于策略神经网络的投资组合方法,其包括如下步骤:
[0130]
s1,构建进行加密货币交易的基于深度强化学习的策略神经网络;
[0131]
所述策略神经网络含有基于软阈值函数和注意力机制的网络拓扑结构,包括两个部分,所述策略神经网络的第一部分的输入为第t个交易周期开始时从环境中提取的价格张量和上一个交易周期的资金分配权重,转化为投资组合中各个加密货币在下一个交易周
期中的价格增长潜力的打分输出;所述策略神经网络的第二部分将所述策略神经网络的第一部分输出的各个加密货币在下一个交易周期中的价格增长潜力的打分转化为各个加密货币在下一个交易周期中资金分配权重,以此实现下一个交易周期中加密货币投资组合的最高收益,所述策略神经网络的决策对应着一个马尔可夫决策过程;
[0132]
s2,基于梯度上升对所述策略神经网络进行训练,以实现所述策略神经网络的参数最优化;
[0133]
s3,加载训练好的所述策略神经网络,接受实时的加密货币数据,通过所述策略神经网络获得下一个交易周期的资产分配权重,并根据资产分配权重来调整资金在加密货币市场中各个投资标的间的分配,从而实现最优的投资策略。
[0134]
具体的,通过深度策略神经网络构建智能代理,所述智能代理与使用加密货币收盘价,最高价,最低价的时间序列数据所构建的环境进行交互,环境会产生状态转移和即时回报,通过状态转移和即时回报的数据,训练深度神经网络,再次采取动作,依照上述过程循环,使智能代理每次采取动作的累计折扣即时回报最大化。
[0135]
其中,智能代理的状态{s
t
}定义为第t个交易周期的价格张量以及上一个交易周期资金分配比例权重所构成的二维数组。
[0136]
所述第t个交易周期的价格张量,通过如下方法得到:
[0137]
s11,以三十分钟为一个交易周期,分别提取所要管理加密货币的前0.5n小时中每个交易周期的收盘价,最高价,最低价,形成三个(n*m)的矩阵,m为投资组合中的加密货币的数量;
[0138]
s12,将s11中得到的三个矩阵分别除以当前交易周期的上一个交易周期的收盘价,使每个矩阵都标准化;
[0139]
s13,将s12中,对于价格张量中由于价格数据缺失无法计算得到数据的位置,用相对价格1进行填充;
[0140]
s14,将经过s13得到的三个矩阵组合成的一个(n*m*3)维的价格张量,即为第t个交易周期的价格张量。
[0141]
智能代理的动作定义为进行交易后的投资组合中各个资产标的和现金(或现金等价物)的资金分配比例。
[0142]
此时,所述策略神经网络的决策对应着一个马尔科夫决策过程,每个马尔科夫决策过程的动作空间是一个连续空间,每个策略神经网络对应的马尔科夫决策的奖励r如下:
[0143]
r=in(所负责资产经过一个交易周期的资产总额/上一时期所负责资产的资产总额)。
[0144]
进一步,所述s2中,所述策略神经网络训练过程如下:
[0145]
s21,初始化策略神经网络均参数θ
μ

[0146]
s22,在训练集的整个时间段中,基于几何概率分布选择训练集的时间段[tb,tb nb];
[0147]
s23,在该时间段中的每个交易周期开始的时间点从环境中提取环境状态st,获得
[0148]
s24,基于所述策略神经网络和每个交易周期的环境状态张量获得每个交易周期
中所执行的投资组合向量
[0149]
s25,执行每个投资组合向量后从环境中获得每个投资组合向量在其交易周期中的收益
[0150]
s26,计算选定的时间段内的累计收益
[0151]
s27,基于累计收益函数使用梯度上升算法进行参数训练策略神经网络的参数θ
μ

[0152][0153]
从而找到最优参数θ
*
使该累计收益函在训练集的数值达到最大;
[0154]
s29,将最优参数赋值给策略神经网络π
θ
(s
t
);
[0155]
s210,重复上述s22-s29的步骤直到训练集的累计收益率最大化。
[0156]
然后,所述s3中,所述策略神经网络的第一部分执行的过程如下:s311,接受(m,n,3)维的价格张量;
[0157]
s312,通过所述策略神经网路进行特征提取,形成一个的张量,m为投资组合中投资标的的个数;
[0158]
s313,将s312中得到的的张量,通过一层卷积规模为的卷积层输出一个(m,1,10)的张量;
[0159]
s314,将s313得到的(m,1,10)的张量输入一层卷积规模为1*1的卷积层输出一个(m,1)的向量,该(m,1)向量中的数值是对于投资组合中m个投资标的在下一个交易周期中的增长潜力的打分。
[0160]
请参阅图2-图7所示,
[0161]
所述s312包括:
[0162]
s3121,对s311得到的(m,n,3)价格张量,通过一层卷积规模为1*3的卷积层得到16个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0163]
s3122,将s3121得到的16个特征矩阵输入到一层池化核规模为1*3的平均池化层输出16个的特征矩阵;
[0164]
s3123,将s3122得到的16个的特征矩阵输入到一层卷积核规模为1*1的卷积层得到16个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0165]
s3124,将s3123得到的16个的特征矩阵输入到一层卷积核规模为1*3的卷积层得到16个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0166]
s3125,将s3124得到的16个的特征矩阵输入到一层卷积核规模为1*1的卷积层得到一个的张量;
[0167]
s3126,将s3122得到的16个的特征矩阵输入到一层卷积核规模为1*1的卷积层得到16个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0168]
s3127,将s3126得到的16个的特征矩阵输入到一层卷积核规模为1*3的卷积层得到16个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0169]
s3128,将s3127得到的16个的特征矩阵输入到一层卷积核规模为1*1的卷积层得到一个的张量;
[0170]
s3129,将s3122得到的16个的特征矩阵输入到一层卷积核规模为1*1的卷积层得到16个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0171]
s31210,将s3129得到的16个的特征矩阵输入到一层卷积核规模为1*3的卷积层得到16个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0172]
s31211,将s31210得到的16个的特征矩阵输入到一层卷积核规模为1*1的卷积层得到一个的张量;
[0173]
s31212,将s1211,s3128,s125得到的三个的张量堆叠,得到一个的张量;
[0174]
s31213,计算s31212得到的的张量在第一维度上的平均值,得到一个的张量;
[0175]
s31214,计算s31213得到的的张量在第二维度上的平均值,得到一个(1,192)的向量;
[0176]
s31215,将s31214得到的(1,192)向量输入全连接神经网络层,得到一个(1,192)的向量,其中选用softmax函数作为神经元的激活函数;
[0177]
s31216,将s31215得到的(1,192)向量输入全连接神经网络层,得到一个(1,192)的向量,其中选用sigmoid函数作为神经元的激活函数;
[0178]
s31217,对s31216得到的(1,192)向量和s31214得到的(1,192)向量对位相乘得到一个(1,192)的向量;
[0179]
s31218,将s31217得到的张量中的每个元素求绝对值,得到一个的张量;
[0180]
s31219,将s31212得到的的张量中每个第三维度的向量都对位减去
s31218得到的(1,192)向量,得到一个的张量;
[0181]
s31220,将31219得到的的张量中,每个小于0的值都替换为0,得到一个的张量;
[0182]
s31221,将s31212得到的的张量中的每个元素,如果大于0则为1,如果等于0则取0.如果小于0则取-1,得到一个的张量;
[0183]
s31222,将s31221得到的的张量和s31220得到的的张量对位相乘,得到一个的张量;
[0184]
s31223,计算s31222得到的的张量在第一维度上的平均值,得到一个的张量;
[0185]
s31224,计算s31223得到的的张量在第二维度上的平均值,得到一个(1,192)的向量;
[0186]
s31225,将s31224得到的(1,192)向量输入全连接神经网络层,得到一个(1,192)的向量,其中选用relu函数作为神经元的激活函数;
[0187]
s31226,将s31225得到的(1,192)向量输入全连接神经网络层,得到一个(1,192)的向量,其中选用sigmoid函数作为神经元的激活函数;
[0188]
s31227,将s31222得到的的张量中的第三维度的每个二维张量都对位乘以s31226得到的(1,192)的张量的对位值,得到一个的张量;
[0189]
s31228,将s31227得到的192个的特征矩阵输入到一层卷积核规模为1*1的卷积层得到32个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0190]
s31229,将s31228得到的32个的特征矩阵输入到一层卷积核规模为1*3的卷积层得到32个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0191]
s31230,将s31229得到的32个的特征矩阵输入到一层卷积核规模为1*1的卷积层得到一个的张量;
[0192]
s31231,将s31227得到的32个的特征矩阵输入到一层卷积核规模为1*1的卷积层得到32个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0193]
s31232,将s31231得到的32个的特征矩阵输入到一层卷积核规模为1*3的卷积层得到32个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0194]
s31233,将s31232得到的32个的特征矩阵输入到一层卷积核规模为1*1的卷积层得到一个的张量;
[0195]
s31234,将s31227得到的32个的特征矩阵输入到一层卷积核规模为1*1的卷积层得到32个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0196]
s31235,将s31234得到的32个的特征矩阵输入到一层卷积核规模为1*3的卷积层得到32个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0197]
s31236,将s31235得到的32个的特征矩阵输入到一层卷积核规模为1*1的卷积层得到一个的张量;
[0198]
s31237,将s1236,s31233,s1230得到的三个的张量堆叠,得到一个的张量;
[0199]
s31238,计算s31237得到的的张量在第一维度上的平均值,得到一个的张量;
[0200]
s31239,计算s31238得到的的张量在第二维度上的平均值,得到一个(1,384)的向量;
[0201]
s31240,将s31239得到的(1,384)向量输入全连接神经网络层,得到一个(1,384)的向量,其中选用softmax函数作为神经元的激活函数;
[0202]
s31241,将s31240得到的(1,384)向量输入全连接神经网络层,得到一个(1,384)的向量,其中选用sigmoid函数作为神经元的激活函数;
[0203]
s31242,对s31241得到的(1,384)向量和s31239得到的(1,384)向量对位相乘得到一个(1,384)的向量;
[0204]
s31243,将s31242得到的张量中的每个元素求绝对值,得到一个的张量;
[0205]
s31244,将s31237得到的的张量中每个第三维度的向量都对位减去s31243得到的(1,384)向量,得到一个的张量;
[0206]
s31245,将31244得到的的张量中,每个小于0的值都替换为0,得到一个的张量;
[0207]
s31246,将s31237得到的的张量中的每个元素,如果大于0则为1,如果等于0则取0.如果小于0则取-1,得到一个的张量;
[0208]
s31247,将s31246得到的的张量和s31245得到的的张量对位相乘,得到一个的张量;
[0209]
s31248,计算s31247得到的的张量在第一维度上的平均值,得到一个的张量;
[0210]
s31249,计算s31248得到的的张量在第二维度上的平均值,得到一个(1,384)的向量;
[0211]
s31250,将s31249得到的(1,384)向量输入全连接神经网络层,得到一个(1,384)的向量,其中选用relu函数作为神经元的激活函数;
[0212]
s31251,将s31250得到的(1,384)向量输入全连接神经网络层,得到一个(1,384)的向量,其中选用sigmoid函数作为神经元的激活函数;
[0213]
s31252,将s31247得到的的张量中的第三维度的每个二维张量都对位乘以s31226得到的(1,384)的张量的对位值,得到一个的张量;
[0214]
s31253,将s31252得到的384个的特征矩阵输入到一层卷积核规模为1*1的卷积层得到64个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0215]
s31254,将s31253得到的64个的特征矩阵输入到一层卷积核规模为1*3的卷积层得到32个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0216]
s31255,将s31254得到的64个的特征矩阵输入到一层卷积核规模为1*1的卷积层得到一个的张量;
[0217]
s31256,将s31252得到的384个的特征矩阵输入到一层卷积核规模为1*1的卷积层得到64个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0218]
s31257,将s31256得到的64个的特征矩阵输入到一层卷积核规模为1*3的
卷积层得到64个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0219]
s31258,将s31257得到的64个的特征矩阵输入到一层卷积核规模为1*1的卷积层得到一个的张量;
[0220]
s31259,将s31252得到的384个的特征矩阵输入到一层卷积核规模为1*1的卷积层得到64个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0221]
s31260,将s31259得到的64个的特征矩阵输入到一层卷积核规模为1*3的卷积层得到64个的特征矩阵,其中选用relu函数作为神经元的激活函数;
[0222]
s31261,将s31260得到的64个的特征矩阵输入到一层卷积核规模为1*1的卷积层得到一个的张量;
[0223]
s31262,将s1261,s31258,s1255得到的三个的张量堆叠,得到一个的张量;
[0224]
s31263,计算s31262得到的的张量在第一维度上的平均值,得到一个的张量;
[0225]
s31264,计算s31263得到的的张量在第二维度上的平均值,得到一个(1,768)的向量;
[0226]
s31265,将s31264得到的(1,768)向量输入全连接神经网络层,得到一个(1,768)的向量,其中选用softmax函数作为神经元的激活函数;
[0227]
s31266,将s31265得到的(1,768)向量输入全连接神经网络层,得到一个(1,768)的向量,其中选用sigmoid函数作为神经元的激活函数;
[0228]
s31267,对s31266得到的(1,768)向量和s31264得到的(1,768)向量对位相乘得到一个(1,768)的向量;
[0229]
s31268,将s31267得到的张量中的每个元素求绝对值,得到一个的张量;
[0230]
s31269,将s31262得到的的张量中每个第三维度的向量都对位减去s31218得到的(1,384)向量,得到一个的张量;
[0231]
s31270,将31269得到的的张量中,每个小于0的值都替换为0,得到一
个的张量;
[0232]
s31271,将s31262得到的的张量中的每个元素,如果大于0则为1,如果等于0则取0.如果小于0则取-1,得到一个的张量;
[0233]
s31272,将s31271得到的的张量和s31270得到的的张量对位相乘,得到一个的张量;
[0234]
s31273,计算s31272得到的的张量在第一维度上的平均值,得到一个的张量;
[0235]
s31274,计算s31273得到的的张量在第二维度上的平均值,得到一个(1,384)的向量;
[0236]
s31275,将s31274得到的(1,768)向量输入全连接神经网络层,得到一个(1,768)的向量,其中选用relu函数作为神经元的激活函数;
[0237]
s31276,将s31275得到的(1,768)向量输入全连接神经网络层,得到一个(1,768)的向量,其中选用sigmoid函数作为神经元的激活函数;
[0238]
s31277,将s31272得到的的张量中的第三维度的每个二维张量都对位乘以s31276得到的(1,768)的张量的对位值,得到一个的张量。
[0239]
请参阅图8所示,所述s3中,所述策略神经网络的第二部分执行的过程如下:
[0240]
s315,将在s314得到的向量插入现金偏置项,形成一个(m 1,1)的向量;
[0241]
s316,将s315形成的向量通过softmax激活函数得到投资权重向量,根据投资权重向量中各个投资标的的目标权重,在下一个交易周期开始的时候对于投资组合中各个投资标的和现金分配的资金进行调整。
[0242]
另外,在模型训练完成后,投入使用前,可以采用测试数据集进行模型的性能检测,具体的,以十一支拥有最大交易量加密货币为例构成测试数据集,十一支加密货币的简称分别为:reversed_usdt、reversed_usdc、eth、xrp、ltc、xmr、bchsv、atom、dash、eto和zeo。具体是通过polonix.com下载十一支加密货币的时间序列数据,分别提取所选股票的前n天的收盘、最高、最低价格,形成三个11*n的价格矩阵,这些矩阵分别代表前n期十一支加密货币的收盘价,最高价,最低价。对于前n天中空缺的数据,用上一个期的收盘价,最高价,最低价和移动平均相对应的指标分别进行填充。并且通过三个矩阵分别除以上一交易日的收盘价,使每个矩阵都标准化。实际将2018/2/1-2020/2/1的加密货币时间序列数据分别设定为测试数据集。
[0243]
将测试数据集输入本方案的智能体后所得的结果和传统资产管理方法结果的对比呈现如附图9所示,其中涉及的传统方法如下:
[0244]
online moving average reversion(olmar)
[0245]
passive aggressive mean reversion(pamr)
[0246]
confidence weighted mean reversion(cwmr)
[0247]
robust median reversion(rmr)
[0248]
online newton step(ons)
[0249]
universal portfolios(up)
[0250]
exponential gradient(eg)。
[0251]
从比对图可以看出,本方案的方案相对其他方法,其获得的收益水平最佳,取得了更好的效果。
[0252]
最后,本发明所述基于深度强化学习投资组合方法,还包括:s4,定期使用不同的数据对策略神经网络模型进行叠加训练及参数调整。
[0253]
本发明还提供一种智能体,包括如前所述的策略神经网络。
[0254]
当然,所述智能体还包括其他各种已知智能体所具有的通用结构,例如数据采集模块、执行器等,此处为已知技术,不作赘述。
[0255]
本发明所述基于策略神经网络的投资组合方法及智能体,在策略神经网络中,通过引入软阈值函数,对市场中的噪声进行有效过滤;通过使用注意力机制,实现强化学习智能体对于不同类型数据的重要性权重进行调节。这样极大的提高了强化学习智能体的学习能力和对于最优投资组合的探索能力,并且避免训练时候的梯度消失问题的出现,使得策略神经网络可以进行有效训练,并找出每一个投资周期内的最优投资组合。
[0256]
本发明尚有多种实施方式,凡采用等同变换或者等效变换而形成的所有技术方案,均落在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献