金融交易最主要的挑战是金融资产的不确定性,投资组合管理是减少不确定性的重要方法.投资组合问题是一个多期的动态决策过程,在金融数据量增大的情况下,传统模型难以达到理论最优.机器学习与深度学习的可以处理多期决策过程[1-5],但基于预测的交易模型很难预测长期利益,通常会选择短视的交易策略从而带来风险.因此,越来越多的学者选择用强化学习去处理投资组合问题.强化学习的优势在于智能体可以自动探索陌生的环境并做出长期利益最大化的决策,这更贴合现实的交易环境与交易目标.在具体实践中,文献[6]用策略梯度算法构建了交易框架 ;文献[7]使用Q-学习来构建智能投资组合管理系统.上述文献使用的浅层网络已经难以适应日趋复杂的金融环境.随着强化学习理论的发展,兼具值学习与策略学习优势的Actor-Critic(简称A-C)框架也被应用到量化投资中.文献[8]使用确定性策略梯度方法(DPG)去分配一组加密货币的权重,提出一种无模型卷积网络做特征提取;文献[9]则在DPG的基础上设计一种状态增强的方法去解决数据异质性问题;文献[10]则应用A-C框架下的深度确定性策略梯度算法(DDPG)去处理投资组合问题;文献[11]提出一种A-C框架下的近端优化方法去处理考虑交易成本的投资组合问题;文献[12]结合模糊表述与A-C框架,提出一种自适应模糊强化学习方法.上述论文表明A-C框架具有实时更新和低方差的优点,这更契合要求时效性与风险控制的量化投资.当应用强化学习处理投资组合问题时[6-12],都是采用经典的强化学习算法,考虑的是未来长期收益的均值.金融市场普遍具有偏态分布的特征[13],而投资组合中长期收益均值会受到极端值的影响,从而使决策偏离最优决策.所以投资者更应该关注整个分布信息,特别要避免因为过度自信而带来的风险.值分布强化学习是强化学习的一个新兴发展方向,通过学习整个分布从而使智能体可以利用更多的分布信息来做决策.值分布强化学习算法在Atari等基准测试场景的表现要比经典强化学习算法更出色,因此值分布强化学习算法有非常高的研究价值.近年来,值分布强化学习领域已经出现很多实用的算法[14-17],这些算法通过学习未来回报的分布信息,相较于均值可以更好刻画风险特征.文献[18]首次在投资组合管理中应用值分布强化学习,实验结果表明值分布强化学习在量化投资组合领域具有较大探索空间和研究价值.由于A-C框架的时效性与值分布强化学习在刻画风险的优势,因此本研究将A-C框架与值分布强化学习理论相结合以达到协同配合效应,提出一种算法VD-MEAC(值分布最大熵的A-C算法)进行投资组合管理.本研究的主要创新点有:a.在分布函数参数化上选择全参数分位数函数(FQF)算法,由于金融市场充满复杂性,相较于文献[18]选择21个固定值的方法,FQF算法全参数化的特点可以更灵活表征投资组合未来收益的分布;b.状态空间的设计结合多因子模型的思想,选择股票的因子数据而非经常使用的基础价格数据;c.在数值实验部分突出与投资实务逻辑相符合,首先须要严格避免未来信息引入,其次训练期收敛的策略才能进行测试,并且通过多次实验以证明模型的稳定性.1 强化学习求解框架1.1 投资组合问题描述投资组合问题是指投资者调整资产的权重,希望在投资终期时可以获得最大效用.投资问题可以写为优化形式,即maxx[u(W(x,p(ε)))],(1)式中:x为投资者的交易策略即资产的权重向量;u(∙)为效用函数;W(∙)为终期财富值;ε为随机因素;p(ε)为资产的价格.为了更严谨地描述问题,对投资者与金融环境做出如下假设:a.投资者为风险中性,即效用函数为线性函数;b.资产池为固定的N种风险资产与1种无风险资产,不会在投资期间增加新的风险资产;c.不存在最低的交易单位,即资产可以无限细分;d.交易价格为每一期的收盘价,不考虑买卖价差;e.交易成本可以用比例成本表示.针对式(1)的最优决策问题,可以使用强化学习框架去求解,强化学习是建立在马尔可夫决策过程(S,A,R,ρ,γ)上,其中:S为状态空间;A为动作空间;R为奖励函数;ρ为状态转移矩阵,与具体的策略π及环境有关;γ为奖励的折扣因子.如图1所示,投资者通过观察金融市场的状态信息,做出调整权重的动作,金融环境会给出投资组合的损失或者收益即奖励.强化学习最终目的是训练出一个可以基于长期利益的投资者而非短视行为的投资者.10.13245/j.hust.229289.F001图1强化学习投资组合框架1.2 强化学习框架设计1.2.1 状态空间设计投资者须要观察金融市场的状态信息来做出交易动作,本研究选择用因子信息来描述金融市场.状态St可表示为St=s01ts02t…s0nts11ts12t…s1nt⋮⋱⋮sN1tsN2t…sNnt,(2)式中:St为由资产的因子信息构成的矩阵;sijt为矩阵元素,表示t时刻第i个资产的j因子值.从因子库中使用轻量化梯度提升机(Light-GBM)[19]方法选择重要的因子,因子重要性如图2所示.投资者选择重要性靠前的15个因子做为每次交易前对金融环境的观察,即n=15.具体状态信息如表1所示.10.13245/j.hust.229289.F002图2因子重要性10.13245/j.hust.229289.T001表1具体状态信息因子类型因子名称因子表示成长因子市盈率相对盈利增长比率,净利润与营业总收入之比PEG,net_profit_to_total_operate_revenue_ttm风险因子120日收益方差,20日收益方差,120日夏普比率,60日收益方差,20日收益峰度,120日收益偏度Variance120,Variance20,Sharpe ratio120,Variance60,Kurtosis20,Skewness120技术因子资金流量指标MFI14情绪因子20日平均换手率,成交量震荡,20日平均换手率与120日平均换手率之比VOL20,VOSC,DAVOL20风格因子贝塔,流动性,动量beta,liquidity,momentum表1的部分因子如20日换手率等已经包含了历史信息,所以投资者只观察当期的因子信息,并未使用三维张量.1.2.2 动作空间设计投资者在每一期开始时调整资产权重,每一期资产权重用N+1维向量x表示.动作At也是N+1维的向量,可表示为At=(a0t,a1t,⋯,aNt)T,(3)式中ait为t期对第i个资产的调整,ait=0表示保持第i个资产权重不变,ait0表示增加该资产权重,ait0则表示减少该资产权重.1.2.3 奖励函数设计由于强化学习的奖励函数的设计非常重要,因此针对不同的学习任务,奖励函数也应该有不同的设计.本研究的奖励设计参考文献[20]在奖励函数设计上更关心收益方面,考虑了比例交易成本,用来更贴近实际的交易带来的成本.奖励函数的定义为Rt+1=(1-C)∙(xt+1T∙Pt+1-xtT∙Pt),(4)式中:Pt为资产的相对价格向量;C为比例交易成本系数;xtT∙Pt-1为t期投资组合的收益率;xt+1T∙Pt+1-xtT∙Pt为资产价格变动和调整权重带来的投资组合价值的变化.2 VD-MEAC算法经典强化学习通过计算期望的方法来处理长期决策过程中的不确定性,具体可表示为Q*(s,a)=E[R(s,a)]+γE[maxa'Q*(s',a')],(5)式中Q*(s,a)为用来评估当前时刻状态动作对(s,a)能带来的最大期望回报.在求解最优决策的过程中,无论是基于值函数还是策略函数的强化学习算法,Q*(s,a)的准确性都是直接影响算法在任务的表现的.但由式(5)的定义可以得知:Q*(s,a)只利用了分布Zπ(s,a)的期望信息,而期望值是容易收到极端值影响的.此外,式(5)中的最大化及训练中使用属于自举法的TD(时间差分)算法都不可避免产生高估现象[21],这在投资中的表现为过度自信,容易造成投资损失.为了更好地利用分布信息及缓解高估现象,本研究采用值分布强化学习方法直接学习分布而非期望值,可表示为Zπ(s,a)=R(s,a)+γZπ(S',A').(6)2.1 分布函数参数化首先须要处理的问题是如何将分布Zπ(s,a)参数化,本研究参考FQF的思想将Zπ(s,a)参数化.FQF引入分数提议网络与分数值网络来将分布Zπ(s,a)完全参数化,即Zθ,τ(s,a)∶ =∑i=0N-1(τi+1-τi)δθi(s,a),(7)式中:δθi(s,a)为狄拉克函数;τ为对于分位数,有0=τ0τi-1τiτN=1.对每个状态动作对(s,a),分位数提议网络输出分位数τ,分位数值网络则对输入的每一组τ输出分位数值θ.设Zπ(s,a)的累积分布函数为FZ(z)=P(Zz),则有反函数FZ-1(p)∶ =inf{z∈R∶p≤FZ(z)}.根据式(7),可以得出分位数值的表达式为FZθ,τ-1(ω)=θ0+∑i=0N-1(θi+1-θi)Hτi+1(ω),(8)式中Hτi+1(ω)为单位阶跃函数.对于分位数提议网络,输出分位数τ与实际分位数距离越小越好,于是定义损失函数为W1(Z,τ)=∑i=0N-1∫τiτi+1FZ-1(ω)-FZ-1(τi^)dω,(9)式中τ^i=(τi+τi+1)/2,采用Wasserstein距离.梯度信息则可以通过含参变量积分求导得到,即∂W1/∂τi=2FZ-1(τi)-FZ-1(τ^i)-FZ-1(τ^i-1).(10)式(10)通过化简可以避免积分运算,降低网络训练难度.对于分位数值网络,则结合分位数回归与贝尔曼方程,有TD误差,即δijt=rt+γFZ',w1-1(τ^i)-FZ,w1-1(τ^j).(11)损失函数则选用Huber分位数回归函数,即L(st,at,rt,st+1)=1N∑i=0N-1∑j=0N-1ρτj^κ(δijt),(12)式中:ρτj^κ(δijt)=τ-I(δijt0)ℒκ(δijt)κ,其中,I(∙)为示性函数,ℒκ(∙)为Huber损失函数;κ为临界值;当δij≤κ时为平方误差,其余部分为线性误差.2.2 值分布强化学习在将分布Zπ(s,a)参数化后,就须要考虑如何利用分布信息.本研究采用Actor-Critic框架,Critic网络如同评论家将指导投资者Actor网络做交易决策.不同于经典强化学习Critic网络只给出一个均值信息,值分布强化学习的Critic网络得到是一组分位数值.高分位数意味着对当前状态动作对(s,a)未来的收益有较高的估计,这在金融中会带来因为过度自信而造成的风险.因为网络训练本身带来的高估问题,迫使须要舍弃可能造成高估的信息.本研究对分布信息的利用定义为Qπ(s,a)=∑i=0(N-1)β(τi+1-τi)FZ,w2-1(τi^),(13)式中:Qπ(s,a)为Critic网络的指导信息,传递给Actor网络;β为分布信息利用系数,(N-1)β∈N+.状态价值函数Vπ(s)定义为Vπ(s)=Qπ(s,a)+αH(π(∙s)).(14)在收益方面,本研究加入了熵正则H(π(∙s)),利用最大熵原理鼓励投资者探索动作空间,找寻利益更大的交易决策,设α为正则化系数,α越大探索性越强.金融市场不同于固定的游戏场景,是一个存在多个次优或者最优决策的场景,因此本研究更倾向学习一个随机性的策略以适应复杂的金融市场.图3所示为值分布强化学习策略VD-MEAC算法流程.10.13245/j.hust.229289.F003图3VD-MEAC算法流程图3 实验及分析3.1 模型训练本研究选取的是沪深300的成分股,剔除有大量缺失数据的股票后选取9只股票作为风险资产,即N=9.无风险资产则选用国债.股票名单如表2所示.10.13245/j.hust.229289.T002表2股票名单股票名称股票代码股票名称股票代码兖州煤业600188石基信息002153圆通速递600233金证股份600446中南建设000961紫光股份000938金钼股份601958石化油服600871中航电子600372本研究通过python来实现VD-MEAC策略,训练的时间为2017年7月1日—2020年7月1日.模型主要参数设置如表3所示.10.13245/j.hust.229289.T003表3模型主要参数设置参数名称参数取值分位数个数32分布信息利用系数0.75记忆容量1×106批次大小128Critic网络结构[300,200]Actor网络结构[64,32]学习率初始值0.001此外,模型优化器选择Adam,激活函数选择Relu函数,共训练5×105步,模型训练结果如图4所示.10.13245/j.hust.229289.F004图4模型训练结果图图4(a)为模型学习率,模型设置学习率衰减防止因学习率过大导致模型不收敛;图4(c)和图4(d)分别为Actor网络和Critic网络的损失值,可以看出网络训练已经趋于稳定.强化学习的损失值与深度学习的损失值的意义不同,网络训练稳定不代表模型已经学会可盈利的交易策略.观察图4(b),模型在每一回合的夏普比率在随着训练的进行在不断增加并最终趋于稳定,综上分析,模型达到收敛状态.3.2 模型测试测试的时间为2020年7月1日—2021年9月1日,交易成本设为0.25%.VD-MEAC策略学习的是一个随机策略,为避免选取极端表现来影响策略评估,使用VD-MEAC策略在测试期交易100次,得到的交易结果如图5所示.VD-MEAC策略在100次交易中,夏普比率的均值为2.978,方差为0.015;而财富比率的均值则达到2.490,方差为0.011.可以看出:随机策略VD-MEAC本身波动较小,最差的一次测试其夏普比率也接近2.70.10.13245/j.hust.229289.F005图 5VD-MEAC测试期交易结果选择其中一次测试结果与其他策略进行对比,交易结果如图6所示,可以看出:策略VD-MEAC除了在交易初期落后其他策略,其余时间走势都明显优于基础对照组(沪深300,等权重)和经典的强化学习算法(TD3,DDPG,SAC).10.13245/j.hust.229289.F006图 6不同策略的财富比率图为进一步比较策略,本研究引入更多的量化指标来评价投资组合的效果,如表4所示,表中加粗数据表示模型在该量化指标下表现最优.10.13245/j.hust.229289.T004表4策略评价指标对比策略等权重沪深300DDPGTD3SACVD-MEAC年化收益0.070 70.114 00.516 20.617 10.195 61.194 4夏普比率0.447 60.619 02.219 02.097 30.986 62.850 2卡玛比率0.370 90.626 84.252 03.838 01.325 09.380 8稳定性0.266 30.250 50.644 40.718 80.044 80.722 3最大回撤0.190 60.181 90.121 40.160 80.147 60.127 3波动性0.194 80.210 90.196 30.243 40.201 50.290 7从表4可以看出:等权重的年化收益率为0.070 7,不如沪深300,但强化学习策略收益表现都超越了沪深300;VD-MEAC策略表现最为优秀,达到1.194 4,这表明VD-MEAC策略有很强的盈利能力.在风险方面,VD-MEAC策略在夏普比率和卡玛比率的表现也明显优于其他策略,表明利用更多的分布信息可以有效提升抗风险能力.在投资中须要特别关注回撤这一指标,最大回撤可以衡量投资者可能发生的最大亏损,同时回撤持续时间也会影响投资者信心从而影响交易决策.如表5所示,尽管DDPG在最大回撤上要稍优于VD-MEAC策略,但直到测试期结束,DDPG策略也没有回到财富值最高点,这也是盈利能力不如VD-MEAC策略的体现.在VD-MEAC的财富值要明显高于其他策略的条件下,VD-MEAC策略的最大回撤期更短,表明VD-MEAC策略有极强的恢复能力.综合比较下,VD-MEAC在最大回撤这一指标下的表现也比其他策略更好.10.13245/j.hust.229289.T005表5最大回撤期对比策略等权重沪深300DDPGTD3SACVD-MEAC最大回撤0.190 60.181 90.121 40.160 80.147 60.127 3波峰日期2020-07-092021-02-102021-01-182021-01-122020-12-042021-02-22波谷日期2021-02-052021-07-272021-07-282021-05-212021-05-102021-05-20恢复日期———2021-07-19—2021-08-10持续期419203226188271169注:“—”表示无此项.结合多个维度的评估,VD-MEAC策略在风险和收益方面都要优于对照组的策略.4 结语本研究针对投资组合问题,提出一种基于值分布强化学习VD-MEAC策略的投资方法,并使用实际的股票数据验证了VD-MEAC策略的有效性,证明了其优秀的盈利与抗风险能力.该方法完善了值分布强化学习理论在投资组合上的应用,展现了值分布理论在风险控制上的应用前景;数值实验部分突出模型训练达到收敛状态才可以进行测试,并从多角度评估策略的有效性,与实际投资逻辑相符合.本算法的有效性在实际股票数据上得到了验证,但是实验效果是在诸多假设的交易环境下得到,未来须要进一步贴近实际的交易环境;尽管模型表现优异,但是仍须进一步解决智能体决策的可解释性问题,未来应结合可解释性人工智能理论去解释分析智能体的决策,使其可以应用到实盘交易中.

使用Chrome浏览器效果最佳,继续浏览,你可能不会看到最佳的展示效果,

确定继续浏览么?

复制成功,请在其他浏览器进行阅读