?

應用于投資組合優化的強化學習狀態與值函數的選擇

2020-04-07 04:16王美清
關鍵詞:交易日時刻股票

朱 昆,劉 蓉,王美清

(福州大學數學與計算機科學學院,福建 福州 350108)

0 引言

20世紀50年代,文獻[1-3]提出了均值-方差理論模型,標志著現代投資組合理論的開端.很多學者在此基礎上構建了其他模型,文獻[4]在 1966年提出了資本資產定價模型(CAPM);文獻[5]在1976年針對CAPM模型進行改進,提出APT模型;文獻[6]提出使用“收縮”技術,以便在樣本協方差矩陣中提取極端系數.

隨著機器學習的長足發展以及大數據時代的到來,機器學習在各個領域大放異彩,最為人所知的是人工智能AlphaGo[7].次年,AlphaGo的最強版AlphaGo Zero[8]問世.文獻[9]利用強化學習中的策略梯度分別對風險中性投資框架及風險敏感投資框架進行了研究;文獻[10]在強化學習的狀態中采用收盤價漲跌信息,通過對沃爾瑪股票以及固定收益債券的組合進行實證分析研究,證明該方法能夠得到穩定的收益,此方法被稱為Horel-Sarkar-Storchan(HSS)方法.本研究在此基礎上進行擴展,在狀態的定義過程中加入了開盤漲跌這一因素,一定程度上納入了市場消息面因素;考慮股票市場的特殊性,提出基于蒙特卡羅算法的狀態值函數迭代更新方法.實證分析證明本研究方法能夠獲得優于HSS方法的收益.

1 投資組合優化問題

考慮最簡單的傳統資本配置問題,投資者僅持有兩種資產: 無風險資產b,即固定收益證券,如國債;風險資產s,如個人股票.權值wb和ws分別表示用于投資無風險資產及風險資產的資金比重.假設所有資金均用于投資,即:wb+ws=1.分別使用rb與rs表示無風險資產及風險資產的收益率.投資者的目標即為動態確定最優ws以優化投資組合的回報:

(1)

即投資者在初始時刻t0做出決策,以期在時刻t獲得最大收益.

由于風險資產的未來收益是隨機變化的,因此投資組合優化問題是一個隨機優化問題,可以用MDP來描述并采用強化學習方法求解.

2 強化學習框架

2.1 馬爾科夫決策過程

強化學習的理論基礎是馬爾可夫決策過程(Markov decision process,MDP).一個馬爾可夫決策過程可以簡單地表示為一個五元組MDP=〈S,A,Psa,R,γ〉.即,

S: 狀態集(States),有s∈S,st表示t時刻Agent所處的狀態.

A: 動作集(Actions),有a∈A,at表示t時刻Agent采取的動作.

Psa: 狀態轉移概率矩陣.Psa指的是Agent在當前狀態s∈S下,經過a∈A作用后,轉移到其他狀態的概率分布情況.

R:S×A|→.R是回報函數,表示Agent位于狀態s∈S時,采取a∈A后可以獲得的當即回報.

γ: 折扣因子,用來表示未來回報和當即回報之前的差別.

2.2 強化學習

傳統的MDP求解方法是動態規劃方法,但是當狀態或動作數目過大,或者狀態轉移概率矩陣不能完全獲得時,便無法采用動態規劃方法.強化學習的出現為解決這類MDP問題提供了可能.

在強化學習中,智能體(Agent)通過選用某種策略(Policy) 采取動作(Action),和環境(Environment)進行交互,隨后轉移至下一個狀態(State),并且獲得當即回報(Reward),此后Agent根據Reward值對當前Policy進行調整優化.

簡而言之強化學習即為一個試探評價過程,智能體通過采取一系列動作和環境進行不斷的交互,Agent在此過程中改變了狀態,并獲得環境回饋的正獎勵或是負獎勵.

3 基于強化學習的動態投資組合

投資組合優化問題主要研究如何將資金投資于多樣化的資產(例如股票、債券或基金),并動態地進行調整,以求獲得最大的收益.由于投資市場行為是隨機的,因此投資組合優化問題本質上是一個隨機優化控制問題.

在用MDP描述投資組合優化問題時,最直接的想法是把股票的價格或者是收益率作為狀態,買賣份額作為動作.在HSS方法中便是以連續數日的漲跌幅信息為狀態,以用于投資股票的資金比重為動作.

假設交易以天為單位,股票s在時刻t和t-1的收盤價格分別為pct,pct-1,則在時刻t的漲跌幅為:

(2)

3.1 HSS方法

文獻[10]提出的HSS方法,定義如下4個狀態和動作.

1) 狀態.狀態由經處理后連續4個交易日收盤價的漲跌幅信息構成,即:

這里,每個元素取值依照股票漲跌幅的三等分點q33%,q66%離散化為三類,具體如下:

(3)

其中:rsc(t)表示第t個交易日股票的漲跌幅.

2) 動作.動作at用來記錄投入股票市場的資金所占比重ws,離散化為[0,0.2,0.4,0.6,0.8,1.0].

3) 回報.即當即收益,rt=atrsc(t+1)+(1-at)rb.

4) 折扣因子γ=1.

3.2 改進HSS方法

在股票市場中,投資者有時會根據個股早盤的開盤價來判斷當天是否具有參與價值,這是由于個股早盤開盤價中隱含了當日的投資者情緒、主力意圖等市場信息.雖然這不是左右股價走勢的決定性因素,但其也可以作為投資的參考依據,因此本研究嘗試將開盤價的漲跌幅加入到狀態中,以期獲得更好的結果.

假設t時刻,股票s的開盤價為pot,定義開盤漲跌幅為:

(4)

狀態由兩部分組成,第一部分為選定股票昨日收盤價格的漲跌幅;第二部分為選定股票當日開盤價較之昨日收盤價的漲跌幅.受限于訓練樣本數量,狀態集不宜過大,本研究令每個狀態包含3組交易日信息,即:

其中每一個元素取值如下:

(5)

其中:rsc(t)為第t個交易日收盤價較之第t-1個交易日收盤價的漲跌幅,med1為訓練集中rsc(t)的中位數;rso(t)為第t個交易日開盤價較之第t-1個交易日收盤價的漲跌幅,med2為訓練集中rso(t)的中位數.

本研究方法的動作、回報以及折扣因子設置方法與HSS方法相同.

3.3 狀態值函數更新方式改進

強化學習中的策略是一個從環境狀態S到動作A的映射,記為策略π:S→A.由于強化學習通常具有延遲回報的特點,因此對于任意狀態st和動作at,回報函數rt無法說明策略的好壞,需要定義值函數來表明當前狀態下策略π的長期影響.

假設從狀態s出發,依策略π選取的后續動作序列為at,at+1,…,at+k,…, 定義總折扣獎勵Gt:

(6)

狀態值函數表示從狀態s出發,依策略π選取該動作序列得到的期望回報:

Vπ(s)=Eπ[Gt|St=s]

(7)

強化學習的解即為使得公式(7)取得最大值的動作序列.即,

(8)

一般,狀態值函數通過不斷迭代更新來獲得最大值.

HSS方法采用傳統Q-learning算法的值函數更新方式:

V(st)←V(st)+α[rt+1+γV(st+1)-V(st)]

(9)

其中:V(st)為狀態st所對應的值函數值;α是學習率;rt+1是當即回報;γ是折扣因子;V(st+1)為狀態st+1所對應的值函數值.

基于股票市場的特殊性,本研究更加關注每組狀態與動作(s,a)自身的優劣,即每組(s,a)所能帶來的收益,因而借鑒蒙特拉羅的思想,將狀態值函數更新方式修改如下:

V(st)←rt+1+γV(st)

(10)

其中:V(st)為狀態st所對應的值函數值,rt+1是當即回報,γ是折扣因子.

4 算法實現

4.1 數據預處理

本研究選取2%年度回報的國債、金楓酒業股票以及中信證券股票進行實證分析.交易數據是從Tushare金融社區下載的每日收盤價及開盤價,經計算得出開盤漲跌幅以及收盤漲跌幅.訓練期間為2006年9月1日至2010年8月31日,測試期間從2010年9月1日到2014年8月31日.訓練期與測試期時長均設置為4 a,這是為了驗證模型的泛化能力.

4.2 算法

本研究對模型做以下假設: 不考慮交易費用;用于投資股市的資金可盡數轉化為股票;進行的投資組合操作不會對股市產生影響.

在訓練階段采用ε-greedy策略選取動作,其中ε∈[0,1),即智能體在任一時刻以ε的概率選取當前時刻的最優動作,以1-ε的概率任意選取動作;在測試階段采用greedy策略選取動作,即智能體在任一時刻以100%的概率選取當前時刻的最優動作.

本研究算法步驟如下: 1 訓練階段 初始化Q-table 在每一個訓練周期: 初始化狀態向量s為s0 在該訓練周期的每一天: 在當前時刻狀態s依照ε-greedy策略通過Q-table選取動作a 采取動作a, 得到當即回報r以及下一時刻狀態s' Q(s, a)←r+γQ(s, a) 更新s至s'直至s'到達訓練期最后一個交易日2 測試階段調用訓練得到的Q-table初始化s為s0在該測試周期的每一天: 在當前狀態s依照greedy策略通過Q-table選取動作a 采取動作a, 得到當即回報r以及下一時刻狀態s' rt=rt-1(1+arst+(1-a)rb) 更新s至s'直至s'到達測試期最后一個交易日

5 實證與分析

本實驗在訓練期所采用的ε-greedy策略中ε取值為0.6,其目的是讓智能體能夠充分探索每個狀態下各種可執行動作進而做出綜合評判;迭代次數訓練周期取值為2 500,其目的是讓模型得到充分的訓練;折扣因子γ的取值為1,其目的是不論數據的久遠程度,平等地看待每一次學習帶來的經驗.

5.1 實驗結果對比與分析

經過訓練期4 a共計931個交易日的訓練,國債與金楓酒業的組合、國債與中信證券的組合在測試期分別選用四種不同投資方法得到的執行結果見圖1.四種投資方法分別為: 資金全部投資于國債、資金全部投資于股市、HSS方法、本研究(Ours)方法.

觀察圖1(a)可以看出即便金楓酒業股價在測試期間整體呈下行趨勢,采用Ours方法仍然可以獲得高于單買國債或是采用HSS方法獲得的收益;觀察圖1(b)可以看出中信證券股價在測試期間波動劇烈,采用Ours方法顯著降低了資產總值的波動性,并且可以帶來較為穩定的收益.

四種不同投資方法在測試期間的平均年回報、年波動率以及夏普比率見表1.

表1 四種不同投資方法之間的指標比較

為了說明模型的普適性,對上海證券A股市場600代碼段全部8只白酒類股票進行實驗,訓練期與測試期樣本選取與上述實驗相同,實驗結果如表2所示.

表2 上證A股8只白酒股票的各相關指標

5.2 模型有效性說明

本研究將開盤信息加入到狀態中,為了說明這一改進優于HSS方法,以中信證券股票為例進行實驗.實驗中分別選取中信證券開盤價相對變化劇烈與穩定的兩段時期進行對照實驗,并加入計數器進行統計.計數器計數規則如下: Agent開盤時做出購入股票的決策后當日股價上漲計數加1(增加收益);Agent開盤時做出不購入股票的決策后當日股價下跌計數加1(避免損失).計數器的計數結果表示正確決策的次數(天數).

根據中信證券2006年至2015年間的每日開盤漲跌幅信息,設定2006年11月20日至2009年6月9日合計600個交易日為波動期(平均開盤漲跌幅為1.39%),2009年6月10日至2011年12月27日合計600個交易日為平穩期(平均開盤漲跌幅為0.69%).分別在兩個時期內選取前300個交易日數據作為訓練期數據,后300個交易日數據作為測試期數據進行對照實驗.實驗結果表明,不論波動期還是平穩期,采用本研究方法進行投資組合均能取得優于HSS方法的投資收益,此外平穩期兩種投資方法的決策正確率相差無幾,但波動期該方法的決策正確率明顯優于HSS方法的決策正確率.

6 結論

本實驗研究最簡單的傳統資本配置問題,利用強化學習中的Q-learning算法框架,借鑒蒙特卡羅算法的思想更新值函數,得到了明顯優于HSS方法的結果,即使在股價下行或是反復波動期間也能獲得較為穩定的收益.本研究方法獲得成功的關鍵在于通過對歷史數據的學習,智能體習得經驗性的預測能力: 在預計股價下行期間減少持股比重,在預計股價上行期間增加持股比重,進而從中獲利.

猜你喜歡
交易日時刻股票
冬“傲”時刻
捕獵時刻
本周創出今年以來新高的股票
本周創出今年以來新高的股票
本周連續上漲3天以上的股票
近期連續漲、跌3天以上的股票
繼續看漲
一天的時刻
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合