李曉杰,崔超然*,宋廣樂,蘇雅茜,吳天澤,張春云
(1.山東財(cái)經(jīng)大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,濟(jì)南 250014;2.山東省人工智能學(xué)會(huì),濟(jì)南 250101;3.齊魯工業(yè)大學(xué)(山東省科學(xué)院)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,濟(jì)南 250353)
股票趨勢(shì)預(yù)測(cè)問題已經(jīng)被研究了數(shù)十年,因?yàn)樗趯で蠊善蓖顿Y收益最大化方面有巨大的價(jià)值,但股票市場(chǎng)錯(cuò)綜復(fù)雜,除自身波動(dòng)外,還受國(guó)家政策、突發(fā)事件等影響。因此預(yù)測(cè)股價(jià)走勢(shì)是金融領(lǐng)域的一大難題。
近年來,深度學(xué)習(xí)[1]發(fā)展迅猛,越來越多的學(xué)者開始使用深度神經(jīng)網(wǎng)絡(luò)進(jìn)行股票等時(shí)序數(shù)據(jù)分析;但傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)層各節(jié)點(diǎn)之間無連接,各時(shí)刻樣本相互獨(dú)立,時(shí)序關(guān)系表示能力不足。循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)[2]可在一定程度上緩解上述問題,RNN 在每個(gè)時(shí)間步將輸入特征和隱藏狀態(tài)特征輸入到相同的結(jié)構(gòu),從而捕捉輸入特征的長(zhǎng)期依賴。最為著名的RNN 變體是長(zhǎng)短期記憶(Long Short-Term Memory,LSTM)網(wǎng)絡(luò)[3]和門控循環(huán)單元(Gated Recurrent Unit,GRU)網(wǎng)絡(luò)[4]。盡管以上模型可從時(shí)序相關(guān)性的角度建模,但它們通常將各股票視為相互獨(dú)立,忽略了金融市場(chǎng)的許多可解釋因素。隨著金融市場(chǎng)的發(fā)展,企業(yè)之間存在著廣泛的聯(lián)系,使得目標(biāo)公司的股價(jià)變動(dòng)可能會(huì)受相關(guān)公司的影響。
最近,伴隨圖卷積神經(jīng)網(wǎng)絡(luò)(Graph Convolutional Neural Network,GCN)[5]與圖表示學(xué)習(xí)[6]興起,研究人員利用關(guān)系數(shù)據(jù)建模股票之間的顯式關(guān)聯(lián)進(jìn)行股市預(yù)測(cè)[7-8]。研究表明,股票間豐富的關(guān)系包含著有利于趨勢(shì)預(yù)測(cè)的有價(jià)值信號(hào),但是基于GCN 的股票間關(guān)系建模仍處于初級(jí)階段,且當(dāng)前工作僅考慮股票之間的成對(duì)連接,忽略了股票實(shí)體之間的高階復(fù)雜關(guān)系,例如各行業(yè)板塊包含多支股票,基金經(jīng)理同時(shí)選擇投資多支股票構(gòu)建主動(dòng)型基金,以上關(guān)系均超出了成對(duì)連接。如圖1(a)展示了平安銀行(000001.SZ)、寧波銀行(002142.SZ)、招商銀行(600036.SH)三支同屬銀行類板塊股票的每日收盤價(jià)格走勢(shì)圖;圖1(b)展示了2019 年基金持倉(cāng)規(guī)模前三名的股票,即貴州茅臺(tái)(600519.SH)、中國(guó)平安(601318.SH)、格力電器(000651.SZ)的每日收盤價(jià)格走勢(shì)圖??梢钥吹?,這些股票均具有相似的漲跌趨勢(shì),因而也說明充分利用股票間的高階關(guān)系信息對(duì)于有效進(jìn)行股票價(jià)格趨勢(shì)預(yù)測(cè)至關(guān)重要。
圖1 2020年三支銀行類板塊股票、2019年基金持倉(cāng)規(guī)模前三名股票每日收盤價(jià)走勢(shì)Fig.1 Daily closing price trends of three stocks in bank industry in 2020,top three stocks held by fund in 2019
由于傳統(tǒng)的簡(jiǎn)單圖在對(duì)高階關(guān)系建模時(shí)存在局限性,超圖(Hypergraph)模型被提出。超圖是對(duì)傳統(tǒng)圖論中簡(jiǎn)單圖的擴(kuò)展,其區(qū)別在于超圖的一條邊可以連接2 個(gè)及以上的頂點(diǎn),稱為超邊(Hyperedge)。任一超邊都是若干頂點(diǎn)的集合,能夠?qū)ι鲜龇浅蓪?duì)關(guān)系建模。為了更有效地學(xué)習(xí)高階圖結(jié)構(gòu)數(shù)據(jù)的深度嵌入,文獻(xiàn)[9]中提出了超圖卷積算子,利用該算子,圖神經(jīng)網(wǎng)絡(luò)可輕易地?cái)U(kuò)展到其他模型,并應(yīng)用于處理各種非成對(duì)關(guān)系。
受此啟發(fā),本文主要研究金融市場(chǎng)中高階關(guān)系的抽取方法,以及提出基于GRU 網(wǎng)絡(luò)[4]與超圖卷積神經(jīng)網(wǎng)絡(luò)(HyperGraph Convolutional neural Network,HGCN)[9]的聯(lián)合預(yù)測(cè)模型。該模型一方面通過GRU 網(wǎng)絡(luò)對(duì)歷史數(shù)據(jù)進(jìn)行時(shí)間序列建模,另一方面利用HGCN 建模多元關(guān)系數(shù)據(jù),進(jìn)行股票趨勢(shì)預(yù)測(cè)。
本文在中國(guó)A 股市場(chǎng)真實(shí)數(shù)據(jù)集上對(duì)所提模型進(jìn)行了實(shí)驗(yàn)驗(yàn)證和模擬回測(cè),并與已有的股票預(yù)測(cè)模型進(jìn)行充分對(duì)比,實(shí)驗(yàn)結(jié)果表明本文模型具有更好的預(yù)測(cè)性能,魯棒性更強(qiáng),投資回報(bào)率更高。
本文的主要貢獻(xiàn)包括3 個(gè)方面:
1)提出了將超圖學(xué)習(xí)用于股票預(yù)測(cè),其中股票為節(jié)點(diǎn),股票之間的多元關(guān)系為超邊構(gòu)建超圖,通過超圖卷積聚合鄰居節(jié)點(diǎn)信息。
2)提出了基于GRU 網(wǎng)絡(luò)和超圖卷積神經(jīng)網(wǎng)絡(luò)的級(jí)聯(lián)模型,其中GRU 用于時(shí)間建模,超圖卷積進(jìn)行高階關(guān)系建模。將原始金融交易數(shù)據(jù)和關(guān)系數(shù)據(jù)作為輸入,同時(shí)考慮兩種建模,進(jìn)行端到端的趨勢(shì)預(yù)測(cè)。
3)不同于以往的幾十支股票的數(shù)據(jù)訓(xùn)練量,本文構(gòu)建了一個(gè)大型A 股數(shù)據(jù)集,包括2013 年到2019 年的日線行情數(shù)據(jù),以及將所屬行業(yè)分類和基金投資組合報(bào)告等非結(jié)構(gòu)化數(shù)據(jù)轉(zhuǎn)化為結(jié)構(gòu)化數(shù)據(jù),探索基于真實(shí)市場(chǎng)信息的公司關(guān)系模型?;陬A(yù)測(cè)分類和模擬回測(cè)的實(shí)驗(yàn)結(jié)果表明,與基線模型(如LSTM、GRU、GCN 等)相比,本文模型能夠得到更加理想的預(yù)測(cè)效果,且具有更強(qiáng)的盈利能力。
早期的股票預(yù)測(cè)方法主要是基于歷史股價(jià)序列,使用整合移動(dòng)平均自回歸(AutoRegressive Integrated Moving Average,ARIMA)等自回歸模型的傳統(tǒng)統(tǒng)計(jì)學(xué)方法[10];然而這類方法對(duì)于高度非線性、不平穩(wěn)的金融數(shù)據(jù)等擬合能力較差。
近些年,以支持向量機(jī)(Support Vector Machine,SVM)[11]、隨機(jī)森林[12]等為主的機(jī)器學(xué)習(xí)方法在股票預(yù)測(cè)方面取得了不錯(cuò)的進(jìn)展。隨著深度學(xué)習(xí)與時(shí)間序列傳統(tǒng)模型的融合發(fā)展,通過利用大量數(shù)據(jù)在整個(gè)時(shí)間序列中估計(jì)全局模型參數(shù),使得傳統(tǒng)的建模方法得到了實(shí)質(zhì)性的改進(jìn)。RNN 由于隱藏層之間特有的有向循環(huán)連接使其具備對(duì)時(shí)序數(shù)據(jù)的記憶功能,在自然語言處理和時(shí)序數(shù)據(jù)分析上得到了廣泛的應(yīng)用[13]。RNN 模型是基于梯度的算法,處理長(zhǎng)時(shí)間序列數(shù)據(jù)可能會(huì)有梯度消失或者梯度爆炸問題,因此更常用的是LSTM、GRU 這些衍生變體。Akita 等[14]利用LSTM 結(jié)合歷史數(shù)據(jù)和文本信息來預(yù)測(cè)價(jià)格;Zhang 等[15]提出了基于狀態(tài)頻率內(nèi)存(State Frequency Memory,SFM)方法,將LSTM 存儲(chǔ)單元的隱藏狀態(tài)分解為多個(gè)頻率分量,以發(fā)現(xiàn)多頻交易模式;黎鐳等[16]利用GRU 網(wǎng)絡(luò)解決時(shí)間序列數(shù)據(jù)的預(yù)測(cè)問題。以上基于時(shí)序建模的方法使得股票價(jià)格預(yù)測(cè)精度有所提升,但這些方法僅對(duì)時(shí)序相關(guān)性建模,忽略了股票市場(chǎng)的動(dòng)態(tài)聯(lián)動(dòng)關(guān)系。
最近,基于圖結(jié)構(gòu)數(shù)據(jù)的深度學(xué)習(xí)方法[5]引起了研究者的廣泛關(guān)注,與傳統(tǒng)的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)不同,GCN 能夠?qū)Σ煌斎霐?shù)據(jù)的關(guān)系圖結(jié)構(gòu)進(jìn)行編碼,從而利用公司關(guān)系數(shù)據(jù)進(jìn)行股市預(yù)測(cè)。Feng等[8]提出時(shí)間圖卷積組件,結(jié)合行業(yè)和維基百科關(guān)系修改股票序列嵌入來執(zhí)行關(guān)系股票排名(Relational Stock Ranking,RSR)方案;Chen 等[7]利用相關(guān)公司持股信息構(gòu)建圖結(jié)構(gòu),基于GCN 模型進(jìn)行股價(jià)漲跌預(yù)測(cè)。然而,在實(shí)際金融市場(chǎng)中,股票實(shí)體之間的關(guān)系往往會(huì)超出成對(duì)連接,而普通圖結(jié)構(gòu)只能表達(dá)兩點(diǎn)之間的關(guān)系,利用圖模型對(duì)高階關(guān)系提取具有局限性。
為了描述以上高階關(guān)系,研究者們開始采用超圖模型來提取關(guān)系信息,其超邊可和任意個(gè)數(shù)頂點(diǎn)連接,使其能夠更好地體現(xiàn)對(duì)象間的拓?fù)浣Y(jié)構(gòu)。近年來,超圖日益為研究者所關(guān)注,其應(yīng)用體現(xiàn)在諸多方面,例如在計(jì)算機(jī)視覺中,超圖可描述視覺特征之間的關(guān)系,實(shí)現(xiàn)視覺分類[17]、圖像檢索[18]等任務(wù);在社交媒體方面,多模態(tài)超圖學(xué)習(xí)(Multimodal Hypergraph Learning,MHG)[19]和雙層多模態(tài)超圖學(xué)習(xí)(Bilayer Multimodal Hypergraph Learning,Bi-MHG)[20]被提出,以處理多模態(tài)數(shù)據(jù)。Feng 等[9]提出一種用于數(shù)據(jù)表示學(xué)習(xí)的超圖卷積神經(jīng)網(wǎng)絡(luò)框架,在考慮高階數(shù)據(jù)結(jié)構(gòu)的情況下學(xué)習(xí)隱層表示;Bai 等[21]從數(shù)學(xué)上證明當(dāng)非成對(duì)關(guān)系退化為成對(duì)關(guān)系時(shí),圖卷積即為超圖卷積的一個(gè)特例。
由此,本文提出一種基于GRU 網(wǎng)絡(luò)和HGCN 的股票趨勢(shì)預(yù)測(cè)模型,其中GRU 單元作為時(shí)間序列建模模塊,HGCN 用于建模金融市場(chǎng)中的股票實(shí)體之間的多元關(guān)系,學(xué)習(xí)股票內(nèi)在關(guān)系屬性,將實(shí)體間的關(guān)系信息引入到傳統(tǒng)的時(shí)間序列建模中,進(jìn)行端到端的趨勢(shì)預(yù)測(cè)。
GRU 是RNN 的變體之一,通過引入門控結(jié)構(gòu),解決了RNN 難以處理長(zhǎng)距離信息捕獲的問題[4]。GRU 相較于LSTM的門結(jié)構(gòu)做了簡(jiǎn)化,只引入了重置門rt和更新門zt:重置門rt用于控制忽略前一時(shí)刻的狀態(tài)信息的程度,rt值越小,說明忽略前一時(shí)刻的信息越多;更新門zt用于控制前一時(shí)刻狀態(tài)信息流入當(dāng)前狀態(tài)中的程度,zt值越大,說明保留前一時(shí)刻的信息越少。GRU 的前向傳播公式如下:
其中:xt是當(dāng)前時(shí)刻的輸入,ht-1是前一時(shí)刻的狀態(tài)值,Wr、Wz分別為重置門和更新門的權(quán)重矩陣,σ和tanh 為激活函數(shù)。是GRU 單元當(dāng)前時(shí)刻的候選狀態(tài),為候選狀態(tài)的權(quán)值矩陣,ht是最終輸出狀態(tài)。
由于GRU 相較于LSTM,網(wǎng)絡(luò)結(jié)構(gòu)簡(jiǎn)單、參數(shù)少、收斂速度快,且能達(dá)到相似的性能,因此本文采用GRU 單元作為時(shí)間建模的基礎(chǔ)組件,以捕獲順序依賴關(guān)系并學(xué)習(xí)股票序列嵌入;另一方面,現(xiàn)有方法對(duì)金融市場(chǎng)數(shù)據(jù)的關(guān)系提取仍有不完全的問題,本文考慮使用超圖模型進(jìn)行關(guān)系建模。
超圖可以表示各實(shí)體間的多元關(guān)系且不丟失信息,既可以表示一對(duì)多的關(guān)系,也可以表示多對(duì)多的關(guān)系。
2.2.1 超圖的定義及概念
定義1超圖。定義為G=(V,E,W),包括頂點(diǎn)集V,超邊集E,每條超邊ε∈E都被賦予一個(gè)正的權(quán)值Wεε,所有的權(quán)值都存儲(chǔ)在對(duì)角矩陣W∈RM×M中(M是超邊個(gè)數(shù))。當(dāng)且僅當(dāng)每條超邊關(guān)聯(lián)2 個(gè)頂點(diǎn)v時(shí),超圖退化為普通圖。
定義2關(guān)聯(lián)矩陣。簡(jiǎn)單圖可以用鄰接矩陣來表示,超圖G也可以用關(guān)聯(lián)矩陣H∈R|V|×|E|表示。H中的項(xiàng)定義為:
那么,頂點(diǎn)度矩陣D中的項(xiàng)定義為:
超邊度矩陣B中的項(xiàng)定義為:
本文由股票實(shí)體和關(guān)系數(shù)據(jù)構(gòu)建超圖模型,其中節(jié)點(diǎn)代表股票,超邊則代表股票間的多元關(guān)系。如前所述,本文主要基于行業(yè)板塊關(guān)系和主動(dòng)型基金投資組合季度報(bào)告數(shù)據(jù)生成超圖。對(duì)于行業(yè)板塊關(guān)系,任一行業(yè)內(nèi)的股票作為一條超邊內(nèi)的節(jié)點(diǎn)集合,由于股票所屬行業(yè)唯一,該超圖頂點(diǎn)度矩陣為單位矩陣;對(duì)于基金組合關(guān)系,季度內(nèi)各個(gè)基金投資多支股票,各支股票亦可能被多個(gè)基金投資,類似地,任一基金投資的股票作為一條超邊內(nèi)的節(jié)點(diǎn)集合。通過超圖生成模塊擬合股票間的多元關(guān)系,在考慮高階數(shù)據(jù)結(jié)構(gòu)的情況下學(xué)習(xí)隱層表示。
2.2.2 超圖卷積
Feng 等[9]提出超圖卷積神經(jīng)網(wǎng)絡(luò)框架(HGCN),利用超圖拉普拉斯算子從譜卷積角度進(jìn)行表示學(xué)習(xí)。HGCN 旨在基于超圖G學(xué)習(xí)一個(gè)特征函數(shù),輸入:1)特征矩陣X∈RN×dim,其中N表示節(jié)點(diǎn)個(gè)數(shù),dim表示輸入特征的維度;2)關(guān)聯(lián)矩陣H∈R|V|×|E|,由定義2 可得到對(duì)應(yīng)的頂點(diǎn)度矩陣D∈R|V|×|V|和超邊度矩陣B∈R|E|×|E|。HGCN 傳播規(guī)則如式(8)所示:
其中:l為卷積層數(shù),X(0)=X,Θ∈RC1×C2是訓(xùn)練過程中需要學(xué)習(xí)的參數(shù)。超邊卷積層通過node-hyperedge-node 變換有效地提取超圖上節(jié)點(diǎn)之間的高階相關(guān)性。
由以上兩部分基礎(chǔ)組件,本文提出基于GRU 和HGCN 的聯(lián)合預(yù)測(cè)模型,整體結(jié)構(gòu)如圖2 所示。
圖2 聯(lián)合預(yù)測(cè)模型總體框架Fig.2 Overall framework of joint prediction model
由過去T天時(shí)間步的輸入特征矩陣{X1,X2,…,XT}先經(jīng)過GRU 網(wǎng)絡(luò)進(jìn)行時(shí)間序列編碼,得到聚合歷史序列信息的表示{h1,h2,…,hT};然后輸入到兩層HGCN 關(guān)系建模模塊;最后輸入到全連接層得到股票漲跌分類。記g=D-1/2HWB-1HTD-1/2,整個(gè)過程的節(jié)點(diǎn)更新如式(9)所示:
最終輸出未來1 日節(jié)點(diǎn)標(biāo)簽概率矩陣YT+1∈RN×C,其中C表示類別數(shù),Θ(0)∈RD×H表示輸入層到隱藏層之間的H維權(quán)重矩陣;Θ(1)∈RH×C表示隱藏層到輸出層之間的C維權(quán)重矩陣。本文使用交叉熵作為損失函數(shù)。
現(xiàn)有研究大多是對(duì)幾十支股票進(jìn)行預(yù)測(cè),缺乏大型公開數(shù)據(jù)集進(jìn)行廣泛的評(píng)價(jià),因此,本文考慮構(gòu)建大型A 股數(shù)據(jù)集。具體來說,本文使用開源的Python 財(cái)經(jīng)數(shù)據(jù)接口包——Tushare(https://tushare.pro/)獲取2013 年1 月4 日至2019 年12 月31 日期間A 股市場(chǎng)有交易記錄的股票,共2 433 支。然后通過保留交易日超過98%的條件進(jìn)行篩選,得到最終用于實(shí)驗(yàn)的758 支股票。
對(duì)于這些股票,進(jìn)一步收集3 種類型數(shù)據(jù):1)歷史價(jià)格數(shù)據(jù),2)所屬行業(yè),3)季度基金持倉(cāng)數(shù)據(jù)。
3.1.1 序列數(shù)據(jù)及預(yù)處理
本文選取影響股票價(jià)格波動(dòng)的主要的6 個(gè)技術(shù)指標(biāo),包括開盤價(jià)(Open)、最高價(jià)(High)、最低價(jià)(Low)、收盤價(jià)(Close)、交易量(Volume)、交易額(Amount)。由于股票市場(chǎng)常常會(huì)受到諸如政策、突發(fā)事件等因素干擾而出現(xiàn)停盤,造成數(shù)據(jù)缺失,本文使用停盤前一日的數(shù)據(jù)填充;然后計(jì)算收盤價(jià)的4 個(gè)序列特征:5、10、20 和30 日移動(dòng)平均線(Moving Average,MA),分別代表每周和每月趨勢(shì);最后將每支股票的特征除以整個(gè)數(shù)據(jù)集期間的最大值進(jìn)行標(biāo)準(zhǔn)化。最終得到10 維特征作為輸入。
本文將序列數(shù)據(jù)按6∶2∶2 的比例分為訓(xùn)練集、驗(yàn)證集和測(cè)試集,然后按照文獻(xiàn)[22]中的設(shè)置,根據(jù)收盤價(jià)的移動(dòng)百分比(closei+1-closei)/closei得到標(biāo)簽,將移動(dòng)百分比≥0.55%的標(biāo)記為“up”,≤-0.5%的為“down”,其余為“remain”。本文在股票漲跌預(yù)測(cè)上選擇如上三分類預(yù)測(cè),能夠更好地實(shí)現(xiàn)區(qū)分小范圍漲跌幅、大漲和大跌的情況,更具有實(shí)際意義。詳細(xì)的統(tǒng)計(jì)數(shù)據(jù)如表1 所示。
表1 序列數(shù)據(jù)統(tǒng)計(jì)Tab.1 Statistics of sequential data
3.1.2 行業(yè)關(guān)系
同一行業(yè)內(nèi)股票價(jià)格可能會(huì)呈現(xiàn)相似的趨勢(shì),因?yàn)樗鼈兺鶗?huì)受到類似外部事件的影響。因此本文收集了758 支股票的所屬行業(yè)分類,共104 個(gè)行業(yè)。表2 列出了部分股票所屬行業(yè)情況。
表2 部分股票和所屬行業(yè)Tab.2 Part of stock and industry
3.1.3 基金季度持倉(cāng)數(shù)據(jù)
本文還收集了公募基金季度持倉(cāng)數(shù)據(jù),本文選擇2013—2019 年均有投資組合公告的61 支主動(dòng)型基金,得到28 個(gè)季度的關(guān)聯(lián)矩陣H。表3 是該數(shù)據(jù)集中華夏大盤精選基金(000011.OF)在2013 年4 個(gè)季度的持股列表示例。
表3 000011.OF 2013年持股列表Tab.3 000011.OF Shareholding list in 2013
本文選用準(zhǔn)確率(Accuracy,Acc)、精確率(Precision,P)、召回率(Recall,R)和F1-score(精確率和召回率之間的調(diào)和平均值),作為模型預(yù)測(cè)的評(píng)價(jià)指標(biāo)。根據(jù)真正性(true positives,tp)、真負(fù)性(true negatives,tn)、假正性(false positives,fp)、假負(fù)性(false negatives,fn)計(jì)算,具體定義如下:
以上指標(biāo)僅用于衡量模型基于分類的預(yù)測(cè)能力,而在真實(shí)市場(chǎng)中真正重要的是盈利能力。以下利用金融業(yè)廣泛使用的回報(bào)率(Return,R)、年回報(bào)率(Annual Return,AR)和夏普比率(Sharpe Ratio,SR)、最大回撤率(Max DrawDown,MDD)作為度量指標(biāo)。
具體來說,模擬期T時(shí)累計(jì)收益記為ProfitT,ProfitT=PortfolioT-Portfoliot0,其中PortfolioT表示模擬期T時(shí)資產(chǎn)總值,Portfoliot0表示模擬期開始時(shí)t0總值,回報(bào)率(R)和年回報(bào)率(AR)計(jì)算為:
其中:Ts是模擬期總時(shí)間跨度(單位:d),244 是一年的平均交易日數(shù)。
此外,夏普比率(SR)同時(shí)對(duì)收益與風(fēng)險(xiǎn)加以考慮,SR定義為平均超額收益與風(fēng)險(xiǎn)波動(dòng)的比率:
其中:Rt表示t日回報(bào)率,Rf表示無風(fēng)險(xiǎn)利率(官方的無風(fēng)險(xiǎn)利率選擇一年期定期存款利率,本文實(shí)驗(yàn)選擇2019 年的央行年利率1.5%),σ 表示收益標(biāo)準(zhǔn)差。注意,SR不應(yīng)作為絕對(duì)值,而應(yīng)被視為與基準(zhǔn)相比的性能指標(biāo)。
同樣,最大回撤率(MDD)是另一重要的風(fēng)險(xiǎn)衡量指標(biāo),用于描述投資可能面臨的最大虧損,計(jì)算為:
其中:Pt為第t日資產(chǎn)總值;Pt+i則是t之后i日資產(chǎn)總值,該指標(biāo)衡量某一段時(shí)期內(nèi)資產(chǎn)總值從最高點(diǎn)回落到最低點(diǎn)的幅度。
為了評(píng)估本文模型,本文進(jìn)行一系列對(duì)比實(shí)驗(yàn)。具體來說,使用過去10 d的歷史數(shù)據(jù)來預(yù)測(cè)未來1 d的漲跌情況。對(duì)于每種方法,重復(fù)三次并報(bào)告平均性能,以消除由不同初始化引起的波動(dòng),其中“_industry”表示使用行業(yè)關(guān)系,“_fund”表示使用基金關(guān)系,“_hybrid”則表示同時(shí)使用兩種關(guān)系。
3.3.1 建模關(guān)系信息方法比較
本文研究在加入關(guān)系信息之后,超圖卷積神經(jīng)網(wǎng)絡(luò)(HGCN)與圖卷積神經(jīng)網(wǎng)絡(luò)(GCN)的性能比較,以驗(yàn)證利用超圖建模股票間高階關(guān)系的有效性,實(shí)驗(yàn)結(jié)果如表4 所示。
表4 圖學(xué)習(xí)與超圖學(xué)習(xí)方法的性能比較 單位:%Tab.4 Performance comparison of graph learning and hypergraph learning methods unit:%
與基于圖學(xué)習(xí)的關(guān)系建模方法GCN 相比,基于超圖學(xué)習(xí)的HGCN 有所改進(jìn)。HGCN_industry 和HGCN_fund 相對(duì)于GCN_industry 和GCN_fund,在Precision 指標(biāo)上分別提高了9.59%和9.84%,說明HGCN 能夠更有效利用高階相關(guān)性來學(xué)習(xí)數(shù)據(jù)表示,體現(xiàn)了利用超圖建模股票間多元關(guān)系的優(yōu)勢(shì)。其中,HGCN_industry 表現(xiàn)優(yōu)于HGCN_fund,分析原因可能是,行業(yè)關(guān)系反映的是股票之間的長(zhǎng)期關(guān)聯(lián)性,較為穩(wěn)定;而基金關(guān)系更加復(fù)雜,波動(dòng)性較大,且隨季度動(dòng)態(tài)變化。因此,本文認(rèn)為利用動(dòng)態(tài)的基金關(guān)系融合相關(guān)股票之間的特征具有一定的可行性,但效果欠佳,需要進(jìn)一步的研究。
此外,本研究通過將行業(yè)關(guān)系和基金關(guān)系的鄰接矩陣(A_industry 和A_fund)相 加,關(guān)聯(lián)矩陣(H_industry 和H_fund)相拼接,得到融合兩種關(guān)系的表示,進(jìn)行實(shí)驗(yàn)“_hybrid”。從結(jié)果可看出結(jié)合兩者關(guān)系之后性能有所提升,“GRU+HGCN_hybrid”表現(xiàn)最好,說明兩種關(guān)系具有一定的互補(bǔ)性,結(jié)合多源關(guān)系信息進(jìn)行高階關(guān)系建模有利于股票預(yù)測(cè)。
3.3.2 不同模型性能比較
進(jìn)一步,本文將所提模型“GRU+HGCN_hybrid”與現(xiàn)有股票預(yù)測(cè)模型LSTM、GRU、SFM[15]、RSR[8]進(jìn)行對(duì)比,實(shí)驗(yàn)結(jié)果如表5 所示??梢钥闯?,考慮股票間關(guān)系的方法均顯著優(yōu)于LSTM、GRU、SFM。由于這些方法都以LSTM 或GRU 單元為基礎(chǔ),說明編碼股票間關(guān)系有利于提高預(yù)測(cè)精度。本文模型“GRU+HGCN_hybrid”相較于GRU 網(wǎng)絡(luò)在Accuracy 和F1_score 指標(biāo)上的增幅分別為9.74%和8.13%。
表5 與現(xiàn)有股票預(yù)測(cè)模型的性能比較Tab.5 Performance comparison with existing stock prediction models
最后,從表5 中各模型的標(biāo)準(zhǔn)差可以看出,本文提出的級(jí)聯(lián)模型相對(duì)于其他已有模型,標(biāo)準(zhǔn)差更小,魯棒性更強(qiáng)。
3.3.3 回測(cè)結(jié)果分析
為了進(jìn)一步評(píng)估所提模型在股票市場(chǎng)上的表現(xiàn),本文基于預(yù)測(cè)模擬交易者行為,以檢驗(yàn)?zāi)P褪欠衲軌颢@利。交易決策如下:如果模型在第i日預(yù)測(cè)股票價(jià)格上漲,則以收盤價(jià)closei向每支股票投資10 000 元人民幣。買入后,若預(yù)測(cè)價(jià)格上漲或者持平,則持倉(cāng);若在第j日預(yù)測(cè)價(jià)格下跌,則以收盤價(jià)closej賣出(收益=closej?closei)。財(cái)務(wù)結(jié)果是在考慮萬分之三的交易手續(xù)費(fèi)的情況下,在測(cè)試集模擬期間操作全部股票得出。各模型的累計(jì)收益曲線如圖3 所示(注意為便于觀察,此處截取模擬期后半段累計(jì)收益)。其中“Buy-and-hold”策略是在測(cè)試集第1天買入,第i天賣出(收益=closei?close1)。
圖3 測(cè)試集期間市場(chǎng)模擬的累計(jì)收益曲線Fig.3 Accumulated profit curves of market simulation during test set
由收益曲線可看出,基于預(yù)測(cè)的策略比“Buy-and-hold”收益更高,且最大回撤更小,說明利用模型預(yù)測(cè)結(jié)果進(jìn)行交易的有效性。此外,本文模型在測(cè)試集內(nèi)累計(jì)回報(bào)最高,特別是本文模型在不同的市場(chǎng)環(huán)境下是穩(wěn)健的,例如10 月之前的熊市,本文方法的損失比其他已有方法低得多。表6 展示了各模型盈利能力的實(shí)驗(yàn)結(jié)果,并對(duì)前述指標(biāo)進(jìn)行定量分析。
表6 各模型盈利能力實(shí)驗(yàn)結(jié)果Tab.6 Experimental results of profitability of each model
首先,基于本文模型預(yù)測(cè)的模擬在盈利能力上顯著優(yōu)于其他模型,例如回報(bào)率(R)、年回報(bào)率(AR)分別高出基線模型中表現(xiàn)最好的LSTM 網(wǎng)絡(luò)6.23、5.34 個(gè)百分點(diǎn),說明本文模型可以更好地捕捉合適的交易時(shí)間點(diǎn)來獲利。
同時(shí),圖3 收益曲線的波動(dòng)性表明股票市場(chǎng)的不穩(wěn)定性,但本文模型在風(fēng)險(xiǎn)控制、投資波動(dòng)性等方面仍具有較好表現(xiàn),其中夏普比率(SR)高于其他基線模型,在單位風(fēng)險(xiǎn)下,較大的SR 對(duì)應(yīng)較高的收益。此外,從收益曲線也可以看出在2019-04-15 到2019-11-15 大盤下跌時(shí),本文模型仍然能夠獲得較高的回報(bào)。此外,SFM 方法最大回撤率最小,且除本文模型外,夏普比率最高。從圖3 也可看出,該方法收益曲線波動(dòng)較小,說明SFM 方法獲得收益更穩(wěn)定一些。但這也是一種保守策略,可能會(huì)產(chǎn)生更少的回報(bào)。
本文提出一種基于時(shí)序超圖卷積神經(jīng)網(wǎng)絡(luò)的股票趨勢(shì)預(yù)測(cè)模型:GRU+HGCN。GRU 作為時(shí)間序列建模模塊,引入股票間關(guān)系數(shù)據(jù)后,通過HGCN 建模股票實(shí)體之間的高階相關(guān)性進(jìn)行端到端的股價(jià)趨勢(shì)預(yù)測(cè)。在A 股數(shù)據(jù)集上,使用已有股票預(yù)測(cè)模型進(jìn)行對(duì)比實(shí)驗(yàn),且進(jìn)行模擬回測(cè)。結(jié)果表明,所提模型預(yù)測(cè)性能有所提升,累計(jì)收益更高,且更具有魯棒性,證明了利用超圖建模股票間高階關(guān)系的優(yōu)越性和本文聯(lián)合模型的有效性。未來工作會(huì)嘗試研究更多關(guān)系類型數(shù)據(jù),以及研究如何融合多信源信息進(jìn)行預(yù)測(cè)。