朱 昆,劉 蓉,王美清
(福州大學(xué)數(shù)學(xué)與計(jì)算機(jī)科學(xué)學(xué)院,福建 福州 350108)
20世紀(jì)50年代,文獻(xiàn)[1-3]提出了均值-方差理論模型,標(biāo)志著現(xiàn)代投資組合理論的開端.很多學(xué)者在此基礎(chǔ)上構(gòu)建了其他模型,文獻(xiàn)[4]在 1966年提出了資本資產(chǎn)定價模型(CAPM);文獻(xiàn)[5]在1976年針對CAPM模型進(jìn)行改進(jìn),提出APT模型;文獻(xiàn)[6]提出使用“收縮”技術(shù),以便在樣本協(xié)方差矩陣中提取極端系數(shù).
隨著機(jī)器學(xué)習(xí)的長足發(fā)展以及大數(shù)據(jù)時代的到來,機(jī)器學(xué)習(xí)在各個領(lǐng)域大放異彩,最為人所知的是人工智能AlphaGo[7].次年,AlphaGo的最強(qiáng)版AlphaGo Zero[8]問世.文獻(xiàn)[9]利用強(qiáng)化學(xué)習(xí)中的策略梯度分別對風(fēng)險(xiǎn)中性投資框架及風(fēng)險(xiǎn)敏感投資框架進(jìn)行了研究;文獻(xiàn)[10]在強(qiáng)化學(xué)習(xí)的狀態(tài)中采用收盤價漲跌信息,通過對沃爾瑪股票以及固定收益?zhèn)慕M合進(jìn)行實(shí)證分析研究,證明該方法能夠得到穩(wěn)定的收益,此方法被稱為Horel-Sarkar-Storchan(HSS)方法.本研究在此基礎(chǔ)上進(jìn)行擴(kuò)展,在狀態(tài)的定義過程中加入了開盤漲跌這一因素,一定程度上納入了市場消息面因素;考慮股票市場的特殊性,提出基于蒙特卡羅算法的狀態(tài)值函數(shù)迭代更新方法.實(shí)證分析證明本研究方法能夠獲得優(yōu)于HSS方法的收益.
考慮最簡單的傳統(tǒng)資本配置問題,投資者僅持有兩種資產(chǎn): 無風(fēng)險(xiǎn)資產(chǎn)b,即固定收益證券,如國債;風(fēng)險(xiǎn)資產(chǎn)s,如個人股票.權(quán)值wb和ws分別表示用于投資無風(fēng)險(xiǎn)資產(chǎn)及風(fēng)險(xiǎn)資產(chǎn)的資金比重.假設(shè)所有資金均用于投資,即:wb+ws=1.分別使用rb與rs表示無風(fēng)險(xiǎn)資產(chǎn)及風(fēng)險(xiǎn)資產(chǎn)的收益率.投資者的目標(biāo)即為動態(tài)確定最優(yōu)ws以優(yōu)化投資組合的回報(bào):
(1)
即投資者在初始時刻t0做出決策,以期在時刻t獲得最大收益.
由于風(fēng)險(xiǎn)資產(chǎn)的未來收益是隨機(jī)變化的,因此投資組合優(yōu)化問題是一個隨機(jī)優(yōu)化問題,可以用MDP來描述并采用強(qiáng)化學(xué)習(xí)方法求解.
強(qiáng)化學(xué)習(xí)的理論基礎(chǔ)是馬爾可夫決策過程(Markov decision process,MDP).一個馬爾可夫決策過程可以簡單地表示為一個五元組MDP=〈S,A,Psa,R,γ〉.即,
S: 狀態(tài)集(States),有s∈S,st表示t時刻Agent所處的狀態(tài).
A: 動作集(Actions),有a∈A,at表示t時刻Agent采取的動作.
Psa: 狀態(tài)轉(zhuǎn)移概率矩陣.Psa指的是Agent在當(dāng)前狀態(tài)s∈S下,經(jīng)過a∈A作用后,轉(zhuǎn)移到其他狀態(tài)的概率分布情況.
R:S×A|→.R是回報(bào)函數(shù),表示Agent位于狀態(tài)s∈S時,采取a∈A后可以獲得的當(dāng)即回報(bào).
γ: 折扣因子,用來表示未來回報(bào)和當(dāng)即回報(bào)之前的差別.
傳統(tǒng)的MDP求解方法是動態(tài)規(guī)劃方法,但是當(dāng)狀態(tài)或動作數(shù)目過大,或者狀態(tài)轉(zhuǎn)移概率矩陣不能完全獲得時,便無法采用動態(tài)規(guī)劃方法.強(qiáng)化學(xué)習(xí)的出現(xiàn)為解決這類MDP問題提供了可能.
在強(qiáng)化學(xué)習(xí)中,智能體(Agent)通過選用某種策略(Policy) 采取動作(Action),和環(huán)境(Environment)進(jìn)行交互,隨后轉(zhuǎn)移至下一個狀態(tài)(State),并且獲得當(dāng)即回報(bào)(Reward),此后Agent根據(jù)Reward值對當(dāng)前Policy進(jìn)行調(diào)整優(yōu)化.
簡而言之強(qiáng)化學(xué)習(xí)即為一個試探評價過程,智能體通過采取一系列動作和環(huán)境進(jìn)行不斷的交互,Agent在此過程中改變了狀態(tài),并獲得環(huán)境回饋的正獎勵或是負(fù)獎勵.
投資組合優(yōu)化問題主要研究如何將資金投資于多樣化的資產(chǎn)(例如股票、債券或基金),并動態(tài)地進(jìn)行調(diào)整,以求獲得最大的收益.由于投資市場行為是隨機(jī)的,因此投資組合優(yōu)化問題本質(zhì)上是一個隨機(jī)優(yōu)化控制問題.
在用MDP描述投資組合優(yōu)化問題時,最直接的想法是把股票的價格或者是收益率作為狀態(tài),買賣份額作為動作.在HSS方法中便是以連續(xù)數(shù)日的漲跌幅信息為狀態(tài),以用于投資股票的資金比重為動作.
假設(shè)交易以天為單位,股票s在時刻t和t-1的收盤價格分別為pct,pct-1,則在時刻t的漲跌幅為:
(2)
文獻(xiàn)[10]提出的HSS方法,定義如下4個狀態(tài)和動作.
1) 狀態(tài).狀態(tài)由經(jīng)處理后連續(xù)4個交易日收盤價的漲跌幅信息構(gòu)成,即:
這里,每個元素取值依照股票漲跌幅的三等分點(diǎn)q33%,q66%離散化為三類,具體如下:
(3)
其中:rsc(t)表示第t個交易日股票的漲跌幅.
2) 動作.動作at用來記錄投入股票市場的資金所占比重ws,離散化為[0,0.2,0.4,0.6,0.8,1.0].
3) 回報(bào).即當(dāng)即收益,rt=atrsc(t+1)+(1-at)rb.
4) 折扣因子γ=1.
在股票市場中,投資者有時會根據(jù)個股早盤的開盤價來判斷當(dāng)天是否具有參與價值,這是由于個股早盤開盤價中隱含了當(dāng)日的投資者情緒、主力意圖等市場信息.雖然這不是左右股價走勢的決定性因素,但其也可以作為投資的參考依據(jù),因此本研究嘗試將開盤價的漲跌幅加入到狀態(tài)中,以期獲得更好的結(jié)果.
假設(shè)t時刻,股票s的開盤價為pot,定義開盤漲跌幅為:
(4)
狀態(tài)由兩部分組成,第一部分為選定股票昨日收盤價格的漲跌幅;第二部分為選定股票當(dāng)日開盤價較之昨日收盤價的漲跌幅.受限于訓(xùn)練樣本數(shù)量,狀態(tài)集不宜過大,本研究令每個狀態(tài)包含3組交易日信息,即:
其中每一個元素取值如下:
(5)
其中:rsc(t)為第t個交易日收盤價較之第t-1個交易日收盤價的漲跌幅,med1為訓(xùn)練集中rsc(t)的中位數(shù);rso(t)為第t個交易日開盤價較之第t-1個交易日收盤價的漲跌幅,med2為訓(xùn)練集中rso(t)的中位數(shù).
本研究方法的動作、回報(bào)以及折扣因子設(shè)置方法與HSS方法相同.
強(qiáng)化學(xué)習(xí)中的策略是一個從環(huán)境狀態(tài)S到動作A的映射,記為策略π:S→A.由于強(qiáng)化學(xué)習(xí)通常具有延遲回報(bào)的特點(diǎn),因此對于任意狀態(tài)st和動作at,回報(bào)函數(shù)rt無法說明策略的好壞,需要定義值函數(shù)來表明當(dāng)前狀態(tài)下策略π的長期影響.
假設(shè)從狀態(tài)s出發(fā),依策略π選取的后續(xù)動作序列為at,at+1,…,at+k,…, 定義總折扣獎勵Gt:
(6)
狀態(tài)值函數(shù)表示從狀態(tài)s出發(fā),依策略π選取該動作序列得到的期望回報(bào):
Vπ(s)=Eπ[Gt|St=s]
(7)
強(qiáng)化學(xué)習(xí)的解即為使得公式(7)取得最大值的動作序列.即,
(8)
一般,狀態(tài)值函數(shù)通過不斷迭代更新來獲得最大值.
HSS方法采用傳統(tǒng)Q-learning算法的值函數(shù)更新方式:
V(st)←V(st)+α[rt+1+γV(st+1)-V(st)]
(9)
其中:V(st)為狀態(tài)st所對應(yīng)的值函數(shù)值;α是學(xué)習(xí)率;rt+1是當(dāng)即回報(bào);γ是折扣因子;V(st+1)為狀態(tài)st+1所對應(yīng)的值函數(shù)值.
基于股票市場的特殊性,本研究更加關(guān)注每組狀態(tài)與動作(s,a)自身的優(yōu)劣,即每組(s,a)所能帶來的收益,因而借鑒蒙特拉羅的思想,將狀態(tài)值函數(shù)更新方式修改如下:
V(st)←rt+1+γV(st)
(10)
其中:V(st)為狀態(tài)st所對應(yīng)的值函數(shù)值,rt+1是當(dāng)即回報(bào),γ是折扣因子.
本研究選取2%年度回報(bào)的國債、金楓酒業(yè)股票以及中信證券股票進(jìn)行實(shí)證分析.交易數(shù)據(jù)是從Tushare金融社區(qū)下載的每日收盤價及開盤價,經(jīng)計(jì)算得出開盤漲跌幅以及收盤漲跌幅.訓(xùn)練期間為2006年9月1日至2010年8月31日,測試期間從2010年9月1日到2014年8月31日.訓(xùn)練期與測試期時長均設(shè)置為4 a,這是為了驗(yàn)證模型的泛化能力.
本研究對模型做以下假設(shè): 不考慮交易費(fèi)用;用于投資股市的資金可盡數(shù)轉(zhuǎn)化為股票;進(jìn)行的投資組合操作不會對股市產(chǎn)生影響.
在訓(xùn)練階段采用ε-greedy策略選取動作,其中ε∈[0,1),即智能體在任一時刻以ε的概率選取當(dāng)前時刻的最優(yōu)動作,以1-ε的概率任意選取動作;在測試階段采用greedy策略選取動作,即智能體在任一時刻以100%的概率選取當(dāng)前時刻的最優(yōu)動作.
本研究算法步驟如下: 1 訓(xùn)練階段 初始化Q-table 在每一個訓(xùn)練周期: 初始化狀態(tài)向量s為s0 在該訓(xùn)練周期的每一天: 在當(dāng)前時刻狀態(tài)s依照ε-greedy策略通過Q-table選取動作a 采取動作a, 得到當(dāng)即回報(bào)r以及下一時刻狀態(tài)s' Q(s, a)←r+γQ(s, a) 更新s至s'直至s'到達(dá)訓(xùn)練期最后一個交易日2 測試階段調(diào)用訓(xùn)練得到的Q-table初始化s為s0在該測試周期的每一天: 在當(dāng)前狀態(tài)s依照greedy策略通過Q-table選取動作a 采取動作a, 得到當(dāng)即回報(bào)r以及下一時刻狀態(tài)s' rt=rt-1(1+arst+(1-a)rb) 更新s至s'直至s'到達(dá)測試期最后一個交易日
本實(shí)驗(yàn)在訓(xùn)練期所采用的ε-greedy策略中ε取值為0.6,其目的是讓智能體能夠充分探索每個狀態(tài)下各種可執(zhí)行動作進(jìn)而做出綜合評判;迭代次數(shù)訓(xùn)練周期取值為2 500,其目的是讓模型得到充分的訓(xùn)練;折扣因子γ的取值為1,其目的是不論數(shù)據(jù)的久遠(yuǎn)程度,平等地看待每一次學(xué)習(xí)帶來的經(jīng)驗(yàn).
經(jīng)過訓(xùn)練期4 a共計(jì)931個交易日的訓(xùn)練,國債與金楓酒業(yè)的組合、國債與中信證券的組合在測試期分別選用四種不同投資方法得到的執(zhí)行結(jié)果見圖1.四種投資方法分別為: 資金全部投資于國債、資金全部投資于股市、HSS方法、本研究(Ours)方法.
觀察圖1(a)可以看出即便金楓酒業(yè)股價在測試期間整體呈下行趨勢,采用Ours方法仍然可以獲得高于單買國債或是采用HSS方法獲得的收益;觀察圖1(b)可以看出中信證券股價在測試期間波動劇烈,采用Ours方法顯著降低了資產(chǎn)總值的波動性,并且可以帶來較為穩(wěn)定的收益.
四種不同投資方法在測試期間的平均年回報(bào)、年波動率以及夏普比率見表1.
表1 四種不同投資方法之間的指標(biāo)比較
為了說明模型的普適性,對上海證券A股市場600代碼段全部8只白酒類股票進(jìn)行實(shí)驗(yàn),訓(xùn)練期與測試期樣本選取與上述實(shí)驗(yàn)相同,實(shí)驗(yàn)結(jié)果如表2所示.
表2 上證A股8只白酒股票的各相關(guān)指標(biāo)
本研究將開盤信息加入到狀態(tài)中,為了說明這一改進(jìn)優(yōu)于HSS方法,以中信證券股票為例進(jìn)行實(shí)驗(yàn).實(shí)驗(yàn)中分別選取中信證券開盤價相對變化劇烈與穩(wěn)定的兩段時期進(jìn)行對照實(shí)驗(yàn),并加入計(jì)數(shù)器進(jìn)行統(tǒng)計(jì).計(jì)數(shù)器計(jì)數(shù)規(guī)則如下: Agent開盤時做出購入股票的決策后當(dāng)日股價上漲計(jì)數(shù)加1(增加收益);Agent開盤時做出不購入股票的決策后當(dāng)日股價下跌計(jì)數(shù)加1(避免損失).計(jì)數(shù)器的計(jì)數(shù)結(jié)果表示正確決策的次數(shù)(天數(shù)).
根據(jù)中信證券2006年至2015年間的每日開盤漲跌幅信息,設(shè)定2006年11月20日至2009年6月9日合計(jì)600個交易日為波動期(平均開盤漲跌幅為1.39%),2009年6月10日至2011年12月27日合計(jì)600個交易日為平穩(wěn)期(平均開盤漲跌幅為0.69%).分別在兩個時期內(nèi)選取前300個交易日數(shù)據(jù)作為訓(xùn)練期數(shù)據(jù),后300個交易日數(shù)據(jù)作為測試期數(shù)據(jù)進(jìn)行對照實(shí)驗(yàn).實(shí)驗(yàn)結(jié)果表明,不論波動期還是平穩(wěn)期,采用本研究方法進(jìn)行投資組合均能取得優(yōu)于HSS方法的投資收益,此外平穩(wěn)期兩種投資方法的決策正確率相差無幾,但波動期該方法的決策正確率明顯優(yōu)于HSS方法的決策正確率.
本實(shí)驗(yàn)研究最簡單的傳統(tǒng)資本配置問題,利用強(qiáng)化學(xué)習(xí)中的Q-learning算法框架,借鑒蒙特卡羅算法的思想更新值函數(shù),得到了明顯優(yōu)于HSS方法的結(jié)果,即使在股價下行或是反復(fù)波動期間也能獲得較為穩(wěn)定的收益.本研究方法獲得成功的關(guān)鍵在于通過對歷史數(shù)據(jù)的學(xué)習(xí),智能體習(xí)得經(jīng)驗(yàn)性的預(yù)測能力: 在預(yù)計(jì)股價下行期間減少持股比重,在預(yù)計(jì)股價上行期間增加持股比重,進(jìn)而從中獲利.