齊 岳,黃碩華
(1.南開大學(xué)商學(xué)院,天津 300071; 2.南開大學(xué)中國公司治理研究院,天津 300071;3.中國特色社會主義經(jīng)濟建設(shè)協(xié)同創(chuàng)新中心,天津 300071)
投資組合管理是將一定資金分配給多個金融資產(chǎn)的決策過程,通過不斷改變分配權(quán)重來提高收益,減小風(fēng)險[1]。已經(jīng)有學(xué)者從理論方面對投資組合優(yōu)化進行了詳盡的研究[2-3],但是由于金融資產(chǎn)價格難以預(yù)測,交易數(shù)據(jù)體量龐大,并具有嚴重非線性,在實踐中僅靠人腦難以做出最優(yōu)決策。然而隨著人工智能技術(shù)的發(fā)展,利用計算機進行自我學(xué)習(xí)和大量計算,并實現(xiàn)優(yōu)化的投資組合管理已經(jīng)成為可能。自從擊敗人類頂尖圍棋高手的AlphaGo問世以來,深度強化學(xué)習(xí)[4]成為人工智能領(lǐng)域的研究熱點,這種技術(shù)被應(yīng)用于包括金融等多個領(lǐng)域,展現(xiàn)出強大的實力,因此深度強化學(xué)習(xí)在金融領(lǐng)域有很廣闊的應(yīng)用前景。
深度學(xué)習(xí)[5]和強化學(xué)習(xí)[6]都是人工智能的重要分支,深度學(xué)習(xí)是指采用深度神經(jīng)網(wǎng)絡(luò)進行學(xué)習(xí)的方法,對于求解復(fù)雜的非線性問題具有較大優(yōu)勢;強化學(xué)習(xí)則是與監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)對等的學(xué)習(xí)模式,善于求解復(fù)雜的優(yōu)化決策問題。這2種方法都可以單獨應(yīng)用于金融領(lǐng)域。
目前深度學(xué)習(xí)和強化學(xué)習(xí)在金融領(lǐng)域的研究主要集中在預(yù)測單個資產(chǎn)價格趨勢,例如Selvin等人[7]使用LSTM(Long Short Term Memory Network), RNN(Recurrent Neural Network)和CNN(Convolutional Neural Network)這3種不同的深度學(xué)習(xí)網(wǎng)絡(luò)對一組上市公司的價格進行預(yù)測并比較它們的表現(xiàn),采用滑動窗口方法,預(yù)測短期內(nèi)的價值;Khare等人[8]對比了多層前饋神經(jīng)網(wǎng)絡(luò)和LSTM應(yīng)用于股票價格預(yù)測的效果,發(fā)現(xiàn)多層前饋神經(jīng)網(wǎng)絡(luò)預(yù)測精度優(yōu)于LSTM;曾志平等人[9]提出了基于深度信念網(wǎng)絡(luò)對短期內(nèi)金融資產(chǎn)價格的漲跌進行預(yù)測,準確率較高;李文鵬等人[10]構(gòu)建3層深度神經(jīng)網(wǎng)絡(luò)模型對股票價格趨勢進行預(yù)測,獲得了較高的正確率。為了對2個資產(chǎn)進行配對交易,胡文偉等人[11]提出了結(jié)合Sarsa強化學(xué)習(xí)方法和自適應(yīng)模式動態(tài)參數(shù)優(yōu)化方法的配對交易策略,提升了交易系統(tǒng)的獲利能力并降低回撤風(fēng)險。Li等人[12]使用中國股市2008-2015年的歷史數(shù)據(jù),通過SVM和LSTM預(yù)測股價趨勢,實驗結(jié)果表明LSTM要優(yōu)于SVM。孫瑞奇[13]采用BP(Back Propagation)神經(jīng)網(wǎng)絡(luò)、RNN和LSTM,預(yù)測標普500指數(shù)在2013年3月-2015年9月的收盤價,與BP神經(jīng)網(wǎng)絡(luò)相比,RNN由于考慮了時間序列的時序關(guān)系的影響,預(yù)測精度比BP神經(jīng)網(wǎng)絡(luò)高,而LSTM是在RNN基礎(chǔ)上改進的,因此預(yù)測精度更高。然而在投資組合交易決策方面,深度學(xué)習(xí)和強化學(xué)習(xí)方法的研究尚有空白。
深度強化學(xué)習(xí)是一種將深度學(xué)習(xí)與強化學(xué)習(xí)結(jié)合的方法,由Google的DeepMind團隊于2015年首次提出并應(yīng)用于游戲[14-15],近年來,已經(jīng)有學(xué)者將深度強化學(xué)習(xí)應(yīng)用于金融領(lǐng)域。例如,Deng等人[16]將其應(yīng)用于單個金融資產(chǎn)的交易,使用深度學(xué)習(xí)網(wǎng)絡(luò)對市場狀態(tài)進行學(xué)習(xí),使用強化學(xué)習(xí)做出交易決策,并在股票和期貨市場得到了驗證。Jiang等人[17]采用深度確定性策略梯度DDPG算法進行虛擬貨幣交易,并獲得極高收益。Zhang等人[18]采用DDPG方法,通過判斷最佳股票并投入絕大多數(shù)資金的方式,獲得較高收益。這些研究仍是集中于單個金融資產(chǎn)的交易,或者雖然針對多個金融資產(chǎn)[17-18],但是將投資權(quán)重幾乎全部集中在一個金融資產(chǎn)上,更類似于每次從幾種金融資產(chǎn)中擇優(yōu)下注,而非投資組合管理。
綜上所述,目前還沒有學(xué)者將深度強化學(xué)習(xí)技術(shù)應(yīng)用于中國股票市場的投資組合管理。本文首次將深度強化學(xué)習(xí)的DDPG算法進行改進,使之能夠應(yīng)用于投資組合管理問題。通過限制投資組合中單個風(fēng)險資產(chǎn)所占的總資金量的權(quán)重,達到分散風(fēng)險的目的,并采用丟棄算法(Dropout)[19],即在訓(xùn)練模型時隨機丟棄一些節(jié)點的方法,解決過擬合的問題,提高投資效益。本文實驗以中國股票市場為例,選取16只中證100指數(shù)成分股作為風(fēng)險資產(chǎn),實驗結(jié)果表明本文基于深度強化學(xué)習(xí)構(gòu)建的投資組合,2年累計價值增幅達到65%,顯著高于其對照組,表明本文的方法是非常有效的。而且通過進一步實驗,表明當(dāng)用于訓(xùn)練的數(shù)據(jù)距離實際測試的時間越近,則本文構(gòu)建的投資組合表現(xiàn)越好。
深度學(xué)習(xí)是一種利用多層非線性變換處理網(wǎng)絡(luò)結(jié)構(gòu)來進行表征學(xué)習(xí)的通用框架。得益于計算機性能的提升,深度學(xué)習(xí)大大提升了人工神經(jīng)網(wǎng)絡(luò)方法的有效性,是近年來人工智能領(lǐng)域的重要方法。
傳統(tǒng)人工神經(jīng)網(wǎng)絡(luò)隨著神經(jīng)網(wǎng)絡(luò)層數(shù)的增加,容易出現(xiàn)局部最優(yōu)解或過擬合問題,因此不適用于深層網(wǎng)絡(luò);另外需要人工設(shè)計數(shù)據(jù)特征并進行數(shù)據(jù)標記,使得學(xué)習(xí)耗時耗力。
深度學(xué)習(xí)的概念由加拿大多倫多大學(xué)的Hinton等人[20]于2006年提出,基于深度信念網(wǎng)絡(luò)DBN(Deep Belief Network)提出無監(jiān)督逐層預(yù)訓(xùn)練和有監(jiān)督調(diào)優(yōu)算法,可以自動學(xué)習(xí)數(shù)據(jù)特征并對學(xué)習(xí)結(jié)果進行有效的優(yōu)化,解決了深層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)容易出現(xiàn)局部最優(yōu)解的問題以及需要人工設(shè)計數(shù)據(jù)特征的問題。后來,Hinton又提出了Dropout方法解決神經(jīng)網(wǎng)絡(luò)過擬合問題[19]。之后深度學(xué)習(xí)快速發(fā)展,并且在語音、圖像、醫(yī)療、金融等領(lǐng)域應(yīng)用廣泛。
深度學(xué)習(xí)常見的網(wǎng)絡(luò)結(jié)構(gòu)包括深度神經(jīng)網(wǎng)絡(luò)DNN(Deep Neural Networks)、深度信念網(wǎng)絡(luò)DBN、卷積神經(jīng)網(wǎng)絡(luò)CNN、循環(huán)神經(jīng)網(wǎng)絡(luò)RNN、LSTM等。
強化學(xué)習(xí),又稱為增強學(xué)習(xí)或再勵學(xué)習(xí)。強化學(xué)習(xí)的主體是智能體,其主要思想是智能體與環(huán)境交互和試錯,利用評價性的反饋信號實現(xiàn)決策的優(yōu)化。當(dāng)智能體的某個動作導(dǎo)致環(huán)境正的獎賞或回報,即為強化信號,則智能體以后產(chǎn)生這個動作的趨勢便會加強;反之,智能體產(chǎn)生這個動作的趨勢會減弱[21]。強化學(xué)習(xí)主要有4個要素,即策略、回報、動作和環(huán)境。強化學(xué)習(xí)的目標是學(xué)習(xí)一個策略,使得智能體選擇的動作能夠獲得環(huán)境最大的回報。回報可以用一個函數(shù)來計算,又稱為回報函數(shù)。為了衡量強化學(xué)習(xí)的長期效果,通常用值函數(shù)(value function)來代替回報函數(shù),不僅衡量動作的即時回報,還衡量從該狀態(tài)起隨后一系列可能的狀態(tài)所累積的回報。
經(jīng)典的強化學(xué)習(xí)方法往往無法解決狀態(tài)和動作空間維度很高的問題,一個有效的解決方法是使用函數(shù)近似,即將值函數(shù)或者策略用一個函數(shù)來表示。常用的近似函數(shù)有線性函數(shù)、核函數(shù)、神經(jīng)網(wǎng)絡(luò)等。近年來最成功的函數(shù)近似方法就是使用深度神經(jīng)網(wǎng)絡(luò)作為強化學(xué)習(xí)的非線性近似函數(shù)[22],將深度學(xué)習(xí)和強化學(xué)習(xí)相結(jié)合,即為深度強化學(xué)習(xí)。深度強化學(xué)習(xí)由DeepMind團隊于2015年首次提出之后,將其發(fā)展并分別應(yīng)用于打敗人類圍棋冠軍的AlphaGo[23]和更強的AlphaGo Zero[24]。然而這時的深度學(xué)習(xí)技術(shù)DQN(Deep Q-Learning)依然解決的是離散動作的問題,無法直接應(yīng)用于權(quán)重連續(xù)的投資組合管理。DeepMind團隊于2016年提出的深度確定性策略梯度方法即DDPG算法[25],解決了連續(xù)動作空間的強化學(xué)習(xí)問題。DDPG算法是一種無模型的離策略Actor-Critic強化學(xué)習(xí)方法,利用深度神經(jīng)網(wǎng)絡(luò)來學(xué)習(xí)連續(xù)動作空間的策略,DDPG算法中,策略是參數(shù)化的,通過策略梯度方法,直接優(yōu)化深度神經(jīng)網(wǎng)絡(luò)的參數(shù)。
投資組合管理是指通過不斷改變資金在金融資產(chǎn)上的分配權(quán)重,從而最大限度提高回報率并降低風(fēng)險的過程。在投資組合管理中,各項資產(chǎn)的權(quán)重是連續(xù)的變量,需要通過深度強化學(xué)習(xí)網(wǎng)絡(luò)進行自我學(xué)習(xí)和大量計算,在實現(xiàn)總收益最大化的目標下,在每個交易時刻之前輸出一次最優(yōu)權(quán)重,并通過自動交易將投資組合各項資產(chǎn)的比例調(diào)整到最優(yōu)權(quán)重,從而實現(xiàn)優(yōu)化的投資組合管理。
在現(xiàn)實中,金融市場運行情況較為復(fù)雜,例如較大的資金量可能會對市場價格產(chǎn)生影響,交易成本不一定與交易額成正比,投資者可能無法恰好以收盤價買入或賣出股票,以及投資者可能不能購買非整股股票。但為了適當(dāng)簡化復(fù)雜的投資組合管理問題,本文作出以下假設(shè):
假設(shè)1交易資金量足夠小,以至于不會對市場中其他投資者行為以及金融資產(chǎn)價格造成影響。
假設(shè)2交易成本為當(dāng)日交易額的固定比例。
假設(shè)3交易過程中能夠?qū)⑹毡P價作為股票交易的成交價格。
假設(shè)4投資者能按照最優(yōu)的資金分配權(quán)重購買任意數(shù)量的股票,包括購買股票數(shù)可以為非整數(shù)。
本文的投資組合由N+1種金融資產(chǎn)組成,分別包括N項風(fēng)險資產(chǎn)和一種貨幣(人民幣)。之所以將貨幣作為投資組合中的一種資產(chǎn),是為了方便深度強化學(xué)習(xí)的網(wǎng)絡(luò)進行計算,投資組合的總權(quán)重被設(shè)為1,這時如果組合中僅包括風(fēng)險資產(chǎn),就會使得在市場表現(xiàn)不佳時,投資者也需全倉持有風(fēng)險資產(chǎn),使得收益率降低,且增加風(fēng)險。而將貨幣作為投資組合中的一種資產(chǎn),則當(dāng)市場表現(xiàn)不佳時,可以僅持有貨幣,即相當(dāng)于不持有風(fēng)險資產(chǎn)。
設(shè)yt為用向量表示的投資組合各項資產(chǎn)在區(qū)間[t-1, t]上的投資收益率,將之稱為收益向量,具體表示如下:
(1)
設(shè)Rt為投資組合在t時刻的累計總收益率,即:
(2)
用wt表示投資組合各項資產(chǎn)在[t-1,t]時刻所占的權(quán)重,將之稱為權(quán)重向量,具體表示如下:
wt=[w1t,w2t,w3t,…,w(N+1)t]
因此易知
(3)
(4)
將式(3)、式(4)相乘,并分別代入式(1)、式(2)中,可知:
rt=(1-μt)wtyt
(5)
(6)
在股票市場中,可能存在個別股票停牌的現(xiàn)象,此時單只股票的價格數(shù)據(jù)為空白,因此將停牌期間的價格設(shè)為停牌之前最后一個交易日的收盤價,避免影響整體的運算。
此外周末和節(jié)假日為非交易日,此時所有股票的數(shù)據(jù)都為空白,因此直接將非交易日的數(shù)據(jù)全部去掉,不會影響到整體數(shù)據(jù)的計算。
在本文的實驗中,從中證100指數(shù)成分股中選取16只股票作為風(fēng)險資產(chǎn),因此N=16,再加上貨幣,構(gòu)成投資組合中的N+1=17種金融資產(chǎn)。其中,選取的中證指數(shù)成分股股票代碼如下:600011,600015,600016,600028,600030,600036,600048,600115,600276,600518,600519,600585,600837,600999,601006,601009。
將交易成本占交易額的比例設(shè)為0.025%,這個數(shù)值的設(shè)定對于中國的股票市場是很合理的,而且由于中國股票市場規(guī)定當(dāng)日買入的股票只能次日或之后才能賣出,因此選用每個交易日最多交易一次的交易頻率,同時為了簡化模型的難度,設(shè)定交易時間間隔必須為整數(shù)天。
強化學(xué)習(xí)的基本要素包括智能體Agent、環(huán)境、狀態(tài)s、策略π、動作a、回報r。Agent從環(huán)境感知當(dāng)前狀態(tài)st,根據(jù)策略π選擇動作at,作用于環(huán)境,得到回報rt,轉(zhuǎn)換到下一狀態(tài)st+1。由于回報rt只能反映當(dāng)前動作和狀態(tài)的回報,不能反映對未來回報的影響,因此又引入了值函數(shù)v,v包含當(dāng)前回報和未來估計的折扣(用γ表示)回報。深度強化學(xué)習(xí)方法利用深度神經(jīng)網(wǎng)絡(luò)來學(xué)習(xí)連續(xù)動作空間的策略,將策略進行參數(shù)化表示,輸出即為動作。
DDPG算法采用強化學(xué)習(xí)的Actor-Critic[16]架構(gòu),由4個神經(jīng)網(wǎng)絡(luò)組成:2個結(jié)構(gòu)相同的Actor策略網(wǎng)絡(luò),分別為Actor_online網(wǎng)絡(luò)和Actor_target網(wǎng)絡(luò);2個結(jié)構(gòu)相同的Critic評價網(wǎng)絡(luò),分別為Critic_online網(wǎng)絡(luò)和Critic_target網(wǎng)絡(luò)。其中Actor_target和Critic_target網(wǎng)絡(luò)主要用于產(chǎn)生訓(xùn)練數(shù)據(jù)集,而Actor_online和Critic_online網(wǎng)絡(luò)主要用于訓(xùn)練優(yōu)化網(wǎng)絡(luò)參數(shù)。根據(jù)引言部分的分析,與其他神經(jīng)網(wǎng)絡(luò)相比LSTM網(wǎng)絡(luò)更適合于時間序列數(shù)據(jù)的預(yù)測[12-13],因此本文的算法中采用LSTM。
2個Actor策略網(wǎng)絡(luò)都是由一個長短時記憶網(wǎng)絡(luò)層LSTM、一個全連接網(wǎng)絡(luò)層(FC)和一個softmax層組成的,其中全連接網(wǎng)絡(luò)層的激活函數(shù)采用線性糾正函數(shù)(ReLU)。網(wǎng)絡(luò)輸入為狀態(tài),即資產(chǎn)價格st,輸出為買賣動作at。
2個Critic評價網(wǎng)絡(luò)都是由一個LSTM網(wǎng)絡(luò)層、一個FC全連接網(wǎng)絡(luò)層(輸入為資產(chǎn)價格st)和一個FC全連接網(wǎng)絡(luò)層(輸入為動作at)組成,最后2個FC相加后接入另一個FC全連接網(wǎng)絡(luò)層。網(wǎng)絡(luò)輸入為資產(chǎn)價格st和買賣動作at,而輸出為估計的未來折扣回報γqt+1。
DDPG算法結(jié)構(gòu)如圖1所示。
圖1 DDPG算法架構(gòu)
DDPG算法具體步驟如下:
1)Actor_online網(wǎng)絡(luò)產(chǎn)生回放數(shù)據(jù)集:根據(jù)資產(chǎn)價格st輸出初始動作,再加上隨機噪聲a_noiset輸出動作at,并計算即時回報rt,即公式(5)所示的當(dāng)前收益率;轉(zhuǎn)換到下一狀態(tài),即下一時刻資產(chǎn)價格st+1。于是得到訓(xùn)練數(shù)據(jù)集,也稱為回放數(shù)據(jù)集,由(st,at,rt,st+1)構(gòu)成。
2)對回放數(shù)據(jù)集進行Mini-batch采樣,即每次隨機采樣相同數(shù)目且連續(xù)的樣本作為網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù)。用(si,ai,ri,si+1)表示單個Mini-batch中的一組數(shù)據(jù)。
3)使用Mini-batch采樣數(shù)據(jù)估計值函數(shù)vi。由Actor_target網(wǎng)絡(luò)計算動作ai+1,由Critic_target網(wǎng)絡(luò)計算未來折扣回報γqi+1,最后計算值函數(shù)vi=ri+γqi+1。
4)使用Mini-batch采樣數(shù)據(jù)和計算的值函數(shù)vi對Critic_online網(wǎng)絡(luò)進行訓(xùn)練,采用Adams(Adaptive Moment Estimation)方法進行優(yōu)化,同時由Critic_online網(wǎng)絡(luò)通過策略梯度對Actor_online網(wǎng)絡(luò)進行優(yōu)化。
5)最后由Critic_online網(wǎng)絡(luò)和Actor_online網(wǎng)絡(luò)分別更新Actor_target網(wǎng)絡(luò)和Critic_target網(wǎng)絡(luò)的參數(shù)。
計算機操作系統(tǒng)為Windows10,運行環(huán)境為Tensorflow1.4,采用Python3.6編程語言。
在實際訓(xùn)練網(wǎng)絡(luò)時主要發(fā)現(xiàn)了過擬合和資產(chǎn)權(quán)重分配不合理的問題,下面具體分析產(chǎn)生的原因和解決辦法。
1)過擬合。
在算法實現(xiàn)的過程中,神經(jīng)網(wǎng)絡(luò)容易出現(xiàn)在訓(xùn)練中效果良好而在測試中表現(xiàn)不佳的現(xiàn)象,說明這時網(wǎng)絡(luò)過于依賴訓(xùn)練數(shù)據(jù)集,因此當(dāng)新數(shù)據(jù)出現(xiàn)時無法有效處理,也就是出現(xiàn)了過擬合現(xiàn)象。為了解決該問題,采取以下措施:在所有的LSTM網(wǎng)絡(luò)中增加Dropout選項;適當(dāng)減少數(shù)據(jù)集的采樣次數(shù)(Max Step);改變輸入資產(chǎn)數(shù)據(jù)的窗口長度(Window Length),“窗口長度”為在交易過程中設(shè)置的歷史數(shù)據(jù)天數(shù),用于計算當(dāng)前的最優(yōu)權(quán)重。
2)資產(chǎn)權(quán)重過于集中。
由于強化學(xué)習(xí)是以馬爾科夫決策過程為基礎(chǔ)的[6],即認為未來的回報與過去的狀態(tài)無關(guān),僅與當(dāng)前和未來狀態(tài)有關(guān)。由于投資組合的風(fēng)險(即方差)需要根據(jù)歷史數(shù)據(jù)計算得到,若將投資組合的風(fēng)險最小化作為優(yōu)化目標,就會使得未來的回報與過去的狀態(tài)有關(guān)。因此本文采用的方法將值函數(shù)v(即當(dāng)前收益率加上未來折扣收益率)最大化作為唯一的優(yōu)化目標,因而無法同時做到風(fēng)險最小化。但是,為了通過投資組合適當(dāng)分散非系統(tǒng)風(fēng)險,可以對原始權(quán)重進行進一步處理,做到在盡量不影響投資組合表現(xiàn)的前提下,適當(dāng)對組合中的各項資產(chǎn)權(quán)重進行分散,從而達到優(yōu)化收益、減小風(fēng)險的目的。具體過程如圖2所示。
首先判斷出原始權(quán)重中的最大值并設(shè)為wmax1,判斷wmax1是否大于0.7,若不大于0.7,則說明輸出的原始權(quán)重已經(jīng)達到一定程度的風(fēng)險分散,此時直接將原始權(quán)重作為最終權(quán)重。若wmax1大于0.7,則說明投資組合的權(quán)重過于集中于一個金融資產(chǎn),這時需要對權(quán)重進行處理。
圖2 投資組合的權(quán)重限制實現(xiàn)
接著將wmax1對應(yīng)的資產(chǎn)設(shè)為無效,重新利用神經(jīng)網(wǎng)絡(luò)計算一組新的最優(yōu)權(quán)重,將第二次得到的權(quán)重中的最大值設(shè)為wmax2,并繼續(xù)將其對應(yīng)的資產(chǎn)設(shè)為無效。繼續(xù)重新計算最優(yōu)權(quán)重,將第三次的最大值設(shè)為wmax3。
令wmax1=0.7,wmax2=0.2,wmax3=0.1,其他權(quán)重保持不變,此時所有資產(chǎn)權(quán)重的總和可能超過1。之后通過等比縮放,使得所有資產(chǎn)的權(quán)重的總和變?yōu)?,得到最終權(quán)重。注意,由于中國的股票市場不允許做空,因此需要設(shè)定單個資產(chǎn)的權(quán)重不為負。
本文選取16只中證100指數(shù)成分股從2011年7月18日-2018年1月15日的收盤價作為實驗數(shù)據(jù)。其中共包括1581個交易日,將其中約2/3的數(shù)據(jù),即1000個交易日,作為神經(jīng)網(wǎng)絡(luò)的訓(xùn)練數(shù)據(jù),剩余的581個交易日作為測試數(shù)據(jù)。因此訓(xùn)練數(shù)據(jù)由2011年7月18日-2015年8月27日的收盤價組成,測試數(shù)據(jù)由2015年8月28日-2018年1月15日的收盤價組成。先對神經(jīng)網(wǎng)絡(luò)進行訓(xùn)練,并用訓(xùn)練好的神經(jīng)網(wǎng)絡(luò)對測試數(shù)據(jù)進行交易,就可得到實驗結(jié)果。
由于本文中的實驗是先隨機挑選16只股票作為風(fēng)險資產(chǎn),再用這16只股票構(gòu)建投資組合,并沒有選擇其他股票的權(quán)利,所以與現(xiàn)實中主動型股票基金情況不同,不能進行直接的績效對比。因此為了評價本文方法的結(jié)果,構(gòu)建另一個投資組合作為對照組(等權(quán)重組合),即假設(shè)該組合在最初分配給各項風(fēng)險資產(chǎn)的權(quán)重都是1/16,并不改變權(quán)重一直持有至期末。
本文實驗的窗口長度為6天;Dropout的概率為0.8,即在訓(xùn)練過程中LSTM網(wǎng)絡(luò)中每個節(jié)點沒有被丟棄的可能性為0.8。
實驗結(jié)果如圖3所示。
圖3 本文投資組合與對照組的總價值變化
圖3中的橫坐標為時間t,縱坐標為公式(6)中的累計收益率Rt,其中DDPG_window_6_predictor_lstm對應(yīng)的曲線為本文構(gòu)建的投資組合的價值,而market_value則為對照組(等權(quán)重組合)的市場價值。從圖3中可以清晰地看出本文采用深度強化學(xué)習(xí)構(gòu)建的投資組合的收益要顯著高于等權(quán)重組合。之后進一步對實驗數(shù)據(jù)進行分析。
2015年8月28日為交易開始的時間,此時本文組合和對照組的價值為初始價值,將其設(shè)為p0,并用p0的倍數(shù)來表示之后不同時間節(jié)點的本文投資組合與對照組價值。選取每年最后一個交易日作為關(guān)鍵時間節(jié)點,將相應(yīng)數(shù)據(jù)進行匯總和對比,結(jié)果如表1所示。
表1 本文投資組合與對照組的價值對比
項 目本文組合對照組2015年8月28日總價值p0p02015年12月31日(最后一個交易日)總價值1.33 p01.15 p02016年12月30日(最后一個交易日)總價值1.69 p01.17 p02017年12月29日(最后一個交易日)總價值2.20 p01.45 p0
根據(jù)表1中的數(shù)據(jù)分別計算出本文投資組合與對照組的2016年增幅、2017年增幅、2016-2017年期間的幾何平均價值增幅以及2016-2017年期間總增幅,結(jié)果如表2所示。
表2 本文投資組合與對照組的價值增幅對比 單位:%
從表2可以看出,本文采用深度強化學(xué)習(xí)構(gòu)建的投資組合價值增幅在不同區(qū)間都顯著高于對照組,說明本文方法進行的積極型投資組合管理取得較好的效果,本方法的應(yīng)用價值得到了證實。
不過,本文投資組合的價值增幅在2016年比對照組高了24.98%,但在2017年卻僅比對照組高了6.84%,因此可以認為本文構(gòu)建的投資組合在2016年的表現(xiàn)優(yōu)于2017年。這可能是因為訓(xùn)練集包含的是2011年7月18日-2015年8月27日的歷史數(shù)據(jù),經(jīng)過這些數(shù)據(jù)訓(xùn)練出來的神經(jīng)網(wǎng)絡(luò)僅僅學(xué)會了這一時間段存在的市場規(guī)律。當(dāng)被應(yīng)用于2017年時,由于與訓(xùn)練數(shù)據(jù)時間的間隔過長,市場情況已經(jīng)發(fā)生了變化,原有規(guī)律有一部分已經(jīng)不能完全適用,因此導(dǎo)致本方法在距離訓(xùn)練數(shù)據(jù)時間較近的2016年表現(xiàn)要優(yōu)于較遠的2017年。
為了驗證這一猜想,進一步進行實驗,仍采用2011年7月18日-2018年1月15日的收盤價作為實驗數(shù)據(jù)。將實驗數(shù)據(jù)中的前1250個交易日作為訓(xùn)練數(shù)據(jù),剩余的331個交易日作為測試數(shù)據(jù)。因此訓(xùn)練數(shù)據(jù)由2011年7月18日-2016年9月5日的收盤價組成,測試數(shù)據(jù)由2016年9月6日-2018年1月15日的收盤價組成。測試結(jié)果如圖4所示。
圖4 進一步實驗中本文組合與對照組總價值變化
從圖4可知,當(dāng)在訓(xùn)練數(shù)據(jù)集中加入2016年的數(shù)據(jù)之后,本文投資組合的表現(xiàn)顯著優(yōu)于之前對照組。對投資組合價值的增幅進行計算,得到表3的結(jié)果。對比表2中未加入2016年數(shù)據(jù)訓(xùn)練的實驗結(jié)果,發(fā)現(xiàn)本文投資組合的表現(xiàn)明顯變好,證實了訓(xùn)練數(shù)據(jù)與測試數(shù)據(jù)的時間間隔越短,則訓(xùn)練效果越好的猜想。
表3 本文投資組合與對照組的價值增幅對比 單位:%
綜上所述,本文方法進行的積極型投資組合管理所構(gòu)建的投資組合具有較好的效果,這一方法的應(yīng)用價值得到了證實。
由于目前還沒有深度強化學(xué)習(xí)技術(shù)在投資組合管理的應(yīng)用,本文首次將深度強化學(xué)習(xí)的DDPG算法進行改進,使之能夠應(yīng)用于投資組合管理,通過限制投資權(quán)重,分散了風(fēng)險,并采用丟棄算法,解決了過擬合問題。本文以中國股票市場為例,選取了16只中證100指數(shù)成分股,作為投資組合中的風(fēng)險資產(chǎn)進行實驗。實驗結(jié)果表明,本文方法構(gòu)建的投資組合表現(xiàn)遠超其他對照組,表明了本文方法的有效性。但是本文方法為了適當(dāng)簡化而提出了一些假設(shè),例如假設(shè)交易資金量足夠小,以至于不會對市場中其他投資者行為以及金融資產(chǎn)價格造成影響,但當(dāng)本方法的使用者為機構(gòu)投資者或資金量較大的個人投資者時,就需要考慮自身交易對市場價格帶來的影響,因此有必要進行更深入的研究。此外,雖然本文僅針對中國股票市場進行了實驗,但這一方法對于期貨市場和外匯市場是否也適用,有待于進一步探索。
參考文獻:
[1] Markowitz H M. Portfolio Selection: Efficient Diversification of Investments[M]. 2nd Ed. New Jersey: Wiley, 1991.
[2] Qi Yue, Wang Zhi-hao, Zhang Su. On analyzing and detecting multiple optima of portfolio optimization [J]. Journal of Industrial and Management Optimization, 2018,14(1):309-323.
[3] Qi Yue. On the criterion vectors of lines of portfolio selection with multiple quadratic and multiple linear objectives[J]. Central European Journal of Operations Research, 2017,25(1):145-158.
[4] 趙冬斌,邵坤,朱圓恒,等. 深度強化學(xué)習(xí)綜述: 兼論計算機圍棋的發(fā)展[J]. 控制理論與應(yīng)用, 2016,33(6):701-717.
[5] 李玉鑑,張婷. 深度學(xué)習(xí)導(dǎo)論及案例分析[M]. 北京:機械工業(yè)出版社, 2016.
[6] 王雪松,朱美強,程玉虎. 強化學(xué)習(xí)原理及其應(yīng)用[M]. 北京:科學(xué)出版社, 2014.
[7] Selvin S, Vinayakumar R, Gopalakrishnan E A, et al. Stock price prediction using LSTM, RNN and CNN-sliding window model[C]// 2017 International Conference on Advances in Computing, Communications and Informatics. 2017:1643-1647.
[8] Khare K, Darekar O, Gupta P, et al. Short term stock price prediction using deep learning[C]//2017 2nd IEEE International Conference on Recent Trends in Electronics, Information & Communication Technology. 2017:482-486.
[9] 曾志平,蕭海東,張新鵬. 基于DBN的金融時序數(shù)據(jù)建模與決策[J]. 計算機技術(shù)與發(fā)展, 2017,27(4):1-5.
[10] 李文鵬,高宇菲,錢佳佳,等. 深度學(xué)習(xí)在量化投資中的應(yīng)用[J]. 統(tǒng)計與管理, 2017(8):104-106.
[11] 胡文偉,胡建強,李湛,等. 基于強化學(xué)習(xí)算法的自適應(yīng)配對交易模型[J]. 管理科學(xué), 2017,30(2):148-160.
[12] Li Wei, Liao Jian. A comparative study on trend forecasting approach for stock price time series[C]//2017 11th IEEE International Conference on Anti-counterfeiting, Security, and Identification. 2017:74-78.
[13] 孫瑞奇. 基于LSTM神經(jīng)網(wǎng)絡(luò)的美股股指價格趨勢預(yù)測模型的研究[D]. 北京:首都經(jīng)濟貿(mào)易大學(xué), 2015.
[14] Mnih V, Kavukcuoglu K, Silver D, et al. Playing Atari with deep reinforcement learning[C]// Advances in Neural Information Processing Systems. 2013:1-9.
[15] Mnih V, Kavukcuoglu K, Silver D, et al. Human-level control through deep reinforcement learning[J]. Nature, 2015,518(7540):529-533.
[16] Deng Yue, Bao Feng, Kong Youyong, et al. Deep direct reinforcement learning for financial signal representation and trading[J]. IEEE Transactions on Neural Networks and Learning Systems, 2017,28(3):1-12.
[17] Jiang Zhengyao, Xu Dixing, Liang Jinjun. A Deep Reinforcement Learning Framework for the Financial Portfolio Management Problem [DB/OL]. https://arxiv.org/abs/1706.10059, 2017-11-30.
[18] Zhang Chi, Zhang Limian, Chen Corey. Deep Reinforcement Learning for Portfolio Management[DB/OL]. http://www-scf.usc.edu/~zhan527/post/cs599, 2017-11-18.
[19] Srivastava N, Hinton G, Krizhevsky A. Dropout: A simple way to prevent neural networks from overfitting[J]. Journal of Machine Learning Research, 2014,15(1):1929-1958.
[20] Hinton G E, Salakhutdinov R R. Reducing the dimensionality of data with neural networks[J]. Science, 2006,313(5786):504-507.
[21] 陳學(xué)松,楊宜民. 強化學(xué)習(xí)研究綜述[J]. 計算機應(yīng)用研究, 2010,27(8):2835-2844.
[22] 李晨溪,曹雷,張永亮,等. 基于知識的深度強化學(xué)習(xí)研究綜述[J]. 系統(tǒng)工程與電子技術(shù), 2017,39(11):2603-2613.
[23] Silver D, Huang Aja, Maddison C J, et al. Mastering the game of Go with deep neural networks and tree search[J]. Nature, 2016,529(7587):484-489.
[24] Silver D, Schrittwieser J, Simonyan K, et al. Mastering the game of Go without human knowledge[J]. Nature, 2017,550(7676):354-359.
[25] Timothy P L, Jonathan J H, Alexander P. Continuous control with deep reinforcement learning[C]// International Conference on Learning Representations. 2016:1-14.