999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于CNN-LSTM模型的中國股票價格預測與量化策略研究

2025-03-28 00:00:00牛曉健侯啟明
貴州省黨校學報 2025年1期
關鍵詞:深度學習

摘 要:隨著計算機技術的不斷進步與編程教育的逐步普及,深度學習這一研究方法被越來越多的學科借鑒和運用并產生了大量研究成果。立足于深度學習中的CNN-LSTM模型,對中國股票市場中滬深300指數成分股進行建模分析。通過對真實股票收益率數據的實證分析,探究CNN-LSTM模型在中國股票價格變動中的學習和預測性能如何以及CNN-LSTM模型的預測結果如何應用于量化交易策略中。研究過程主要包括CNN-LSTM模型的搭建、股票數據的處理、CNN-LSTM模型的訓練與測試以及基于CNN-LSTM模型預測結果的量化策略改進。研究發現,CNN-LSTM模型在股票價格變動的學習與預測上具有良好的性能,依據模型預測結果構造的指標對量化交易策略有明顯的改進效果。

關鍵詞:深度學習;CNN-LSTM;量化交易

中圖分類號:F832.5 文獻標識碼:A 文章編號:1009 - 5381(2025)01 - 098 - 17

一、引言

量化投資在歐美金融市場已經較為成熟。在中國市場上,主打量化投資的金融產品也越來越多。在量化投資中,金融資產的系統性、標準化、高精度預測是關鍵,機器學習方法為這種預測提供了強有力的技術支持。與傳統的數理統計模型相比,機器學習中可選擇的方法更多,可針對不同領域的問題選擇解決方法。隨著計算機軟硬件的發展,越來越多的高性能機器學習方法被應用于量化投資中。

二、文獻綜述

隨著深度學習的不斷發展,金融研究中對深度學習應用也越來越廣泛。Kainijo and Tanigawa使用RNN收集了東京證券交易所內16只股票過去三年的股票價格數據,用以訓練RNN模型對當時股票價格變動的三角形模式的識別能力[1]。結論表明,RNN模型對股票價格變動三角形模式識別具有較為準確的預測能力。Adil MOGHAR and Mhamed HAMICHE基于LSTM模型對Google和NKE資產的未來價值進行了預測,得出LSTM模型可以對2個資產的開盤價進行較為準確的預測[2]。Persio,L. D. and Honchar O.同時使用了RNN、LSTM與GRU對谷歌公司股票價格進行預測,結論表明,相較于其他模型,LSTM模型具有更高的預測準確率[3]。

除單純利用市場的行情信息外,隨著深度學習的發展,非標準的文本信息也成輸入特征的來源。Mathias Krausa and Stefan Feuerriegel使用LSTM與RNN模型分析公司臨時公告并預測股價,發現LSTM可以準確預測在臨時公告發布后的股價變化,為投資者的金融投資決策提供幫助[4]。此外,深度學習還可用于指數波動的預測。Ruoxuan Xiong et al.使用LSTM預測標普500指數的波動率,其預測效果較好,顯著優于線性回歸與自回歸GARCH模型,且具較大的發展潛力[5]。Fischer and Krauss使用LSTM模型預測標普500成分股,并構建了量化交易策略,得到了較低市場風險暴露與較高回報率[6]。

在期權市場方面,Shaikh A. Hamida and Zahid Iqbalb使用RNN預測標普500指數期權的波動率,發現RNN預測接近期權實際波動率,而隱含波動率與期權實際波動率存在顯著差異[7];在外匯市場方面,Giles,C. L. et al.使用RNN模型對外匯市場進行預測,發現RNN模型效果優于傳統數理統計方法[8]。Maknickien and Maknickas使用LSTM對歐元/美元匯率變動進行預測,結果表明深度學習的方法可以在實際交易中運用,且將專家預測與深度學習預測的結果相結合,專家預測的效果會有所提升[9];在商品市場上,Ioannis E. Livieris et al.使用CNN-LSTM模型預測黃金價格,發現加入卷積層后的預測性能優于LSTM模型,且模型遷移性能較好[10];在國內金融研究中,學者們通過神經網絡預測了個股變動趨勢,發現神經網絡的預測效果較好。陳興等使用基于T-S模型的模糊神經網絡對股市進行預測[11]。李宗偉等則使用徑向基函數(Radial Basis Function,RBF)神經網絡對深能源A的股票價格進行了時序預測[12]。謝琪等基于長短記憶神經網絡預測A股市場的主要指數,預測效果較好[13]。

部分學者在神經網絡預測的基礎上構建了量化交易策略。禹建麗等使用了BP神經網絡預測兩只股票的高點與低點,通過低買高賣策略實現收益[14]。李斌等使用支持向量機、神經網絡和Adaboost算法預測資產價格的漲跌情況,結果表明量化投資策略收益顯著高于基準策略,且對交易成本容忍度較高[15]。王文波等提出動態遞歸神經網絡結合EMD算法和混沌分析,指數數據長期和短期預測精度較高,單只股票數據短期預測精度較高,長期預測誤差較大[16]。許雪晨和田侃構建SA-BERT-LSTM深度模型,將BERT模型的情感分類結果作為LSTM的輸入特征,提升個股預測表現[17]。

在多因子選股方面,馬甜等使用生成式對抗網絡(GAN)模型預測中國股票市場收益,并進行因子策略投資分析,結果顯示GAN的預測精度顯著高于線性模型,在多空策略下收益顯著高于市場平均[18]。張虎等使用自注意力神經網絡模型進行多因子選股,策略回測顯示該模型在不同階段均能實現收益和風險的平衡。此外,部分學者將深度學習方法與時間序列分析的方法相結合,提升神經網絡的模型預測能力[19]。于志軍等提出基于灰色神經網絡(GNNM)與EGARCH模型的預測方法,實證研究表明誤差預測校正顯著提高了預測精度,尤其是在預測誤差較大的時點[20]。

深度學習在機器學習領域備受推崇,具有計算能力強、入門門檻低、對專家知識要求少、泛化性好等優點。本文研究CNN-LSTM模型,該模型結合了長時記憶和空間分析能力,適用于具有歷史依賴關系的多維時序數據,適合作為金融資產預測方法。研究中,我們對股票價格進行預測,并探索模型預測結果的應用,嘗試在現有量化策略基礎上應用CNN-LSTM模型的預測結果,并改進量化策略。

三、本文模型的構建

(一)CNN-LSTM模型

本文選用CNN-LSTM模型對股價變動進行預測,CNN-LSTM是在FCN-LSTM模型基礎上發展而來。FCN-LSTM模型廣泛應用于時間序列數據學習中,但因其全連接層的性質,在處理多維數據時存在冗余。然而,CNN-LSTM通過用卷積層替換了全連接層,減少了多維數據的冗余,提高了對多維數據的學習能力。CNN-LSTM模型使得向量以空間網格形式存在,未來狀態的數據不僅依賴于過去狀態,還受其局部臨近輸入的影響,從而對多元輸入變量的序列變化有更好的學習效果。

CNN-LSTM在2015年被提出Shi 等最初將它應用于對雷達圖的預測。他們將其與傳統的FCN-LSTM模型預測結果相對比,發現CNN-LSTM模型可以更好地捕捉空間特征信息內容,預測效果優于FCN-LSTM模型。由于在處理多維數據上具備優勢,CNN-LSTM迅速應用于金融時間序列的預測。耿晶晶等使用CNN-LSTM預測股票指數,驗證了其準確率和普適性[21]。羅鑫和張金林則將其應用于滬深300指數漲跌的預測,構建了量化交易策略并獲利[22]。張蘇林和宋迦南以33只國內大型上市股市為例進行了研究,驗證了CNN-LSTM模型在股票價格預測上的能力[23]。

(二)模型構建的主要過程

1.損失函數的選擇:如果神經網絡的訓練目標是學習一個完整的概率分布p(y|x;θ),通常使用最大似然法進行訓練。在這種情況下,損失函數可以選擇模型預測數據與實際數據之間的交叉熵。如果訓練目標不是一個完整的概率分布,而是某些條件統計量,可以使用最小化均方誤差(MSE)或平均絕對誤差(MAE)作為損失函數。一般情況下,處理回歸問題時多使用均方誤差作為損失函數;處理分類問題時會選擇使用交叉熵衡量模型的預測誤差。由于本文的問題類型,我們選擇均方誤差(MSE)作為損失函數。

2.隱藏單元與激活函數的選擇:隱藏層單元的選擇主要在于神經網絡架構的設計,需要考慮隱藏層的數量和每一層的寬度。激活函數的選擇取決于所研究問題的類型及不同激活函數的性能、優勢和缺點。常見的激活函數包括整流線性單元g(z)=max(0,z)、logistic sigmoid激活函數g(z)=σ(z)、雙曲正切函數g(z)=tanh(z)、徑向基函數、softplus函數等。

其中,整流線性單元(Rectified Linear Unit,ReLU)具有和線性單元極為相似的特性,易于優化,見圖1。當ReLU處于激活狀態時,函數的導數值較大且一致,梯度也較大。然而,ReLU的問題在于無法基于梯度學習那些使激活值為0的樣本。為解決這個問題,可以使用ReLU的擴展版本,如絕對值整流、滲漏整流線性單元(Leaky ReLU)或參數化整流線性單元(PReLU),這些擴展版本在自變量值小于0時提供一個非0的斜率。本文主要選擇PReLU作為激活函數。

Sigmoid函數g(z)=σ(z)也是一種常見的激活函數,見圖2。Sigmoid函數在定義域的大部分位置處于飽和和不敏感狀態,只有在自變量接近0時才對輸入有強烈的敏感性。這種飽和性使得Sigmoid函數的梯度學習較為困難,因此需要一個合適的損失函數來抵消其飽和性。

硬雙曲正切函數(Hard tanh) g (z) = max[-1,min(1,az)],一種和雙曲正切函數與整流線性單元都具有相似性的激活函數,見圖3。與ReLU不同的是,硬雙曲正切函數是一個有界函數。同時,相較于雙曲正切函數,硬雙曲正切函數往往擁有更快的收斂速度和更大的梯度,有助于加快神經網絡的訓練速度,提升模型訓練效率。

3.正則化策略:正則化策略是深度學習網絡的重要組成部分,旨在通過修改算法減少泛化誤差,而非訓練誤差。常見的正則化策略包括參數范數懲罰。通常,正則化策略會增加模型在訓練集上的誤差,但有助于提升測試集上的效果。因此,調整正則化策略時需要同時考慮訓練集誤差和測試集誤差。本文選擇使用池化層和Dropout層等方法實現正則化。

(三)本文模型的構建

以下是本文CNN-LSTM模型的構建,模型結構基本架構見表1。根據本文的實證分析過程設計,每次數據訓練過程的開始都是在該模型基礎上所進行的,我們會將訓練出的參數分別保存為模型參數字典,用于后續的模型測試。

本文的第一層輸入層為CNN層,根據調整后的變量特征,我們定義了一個2維卷積層對輸入變量進行卷積操作,其中輸入變量形式為(1944,1,7,9),1994代表1944個日數據;1代表輸入通道數量為1;7代表每次所輸入變量的時間步長,這是基于我們每次所訓練時的窗口長度決定的;9代表輸入的初始特征數量,是本文設置的所有數據的種類。

關于卷積層的結構設置,我們將CNN卷積核的數量設置為16個,每個卷積核的長寬參數均設置為3,這意味著每個卷積核可以捕捉3*3空間范圍內的數據特征,同時為了確保卷積層獲取到的特征格式相同,我們將設置卷積層的Padding為same模式,卷積層的Padding是對輸入數據添加額外數據的填充技術,same模型的填充也被稱為保持尺寸填充,可以為輸入變量填充足夠的數據保證輸出特征圖和輸入數量的大小是一致的。在進行上述過程后,本層卷積層的輸出格式為(1944,16,7,9),本層中需要訓練的參數數量為160個。

對第一層CNN的激化函數,本文選擇為Prelu函數,相較于常用的tanh和relu激活函數,Prelu函數既可以緩解tanh激活帶來的梯度消失問題,也可以避免relu函數導致的神經元死亡,計算結果不收斂的問題;prelu函數的表達式見下方,參數weight設置為0.25:

PReLU(x)=max(0,x)+weight * min(0,x)" " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " (1)

在進行PRelu激活后,我們對卷積層的輸出進行最大值池化和Dropout處理,其中池化核的大小設置為2*2,步長設置為1。最大值池化是降低采樣值的一種方式,它以池化窗口為范圍,選取窗口內的最大值作為輸出,并以步長為距離進行滑動,僅輸出窗口的最大值可以在保留特征圖主要信息的同時減少參數數量,防止模型過度擬合。Dropout是在神經網絡的訓練過程中隨機丟棄部分神經元,在實際計算中通過為部分神經元的輸出賦0值實現,本文的丟棄概率設置為0.2,即有20%的輸出將被設置為0。Dropout是正則化方法的一種,主要目的是避免模型的過度擬合。

在進行了CNN層的特征提取和后續的采樣丟棄處理過程之后,第一層LSTM模型的輸入變形為(1944,7,144),其中1944和上文一致代表1944個日期,7代表輸入數據的時間窗口大小也是LSTM每次輸入的序列長度,144個則代表LSTM模型輸入特征的數量,144個特征是既有的9個數據類別經過卷積層16個卷積核處理后產生的。

一層LSTM的隱藏狀態H的大小設置為32,即包含32個隱藏單元,隱藏狀態的大小影響著LSTM單元中儲存數據的多少,是影響LSTM學習能力的重要超參數。第一層LSTM的循環層數設置為2,每個循環層均是對輸入變量的一次處理,是影響模型抽象學習能力的重要變量。本文H大小和循環層數的選擇是在考慮模型訓練效率與學習能力的平衡下確定的。LSTM的輸出包括最終的輸出張量、最終隱藏狀態的張量與細胞狀態的張量,其中(1944,7,32)為最終輸出張量的形狀,1944為單批數據的數量,7為每次輸入的序列長度,32則是隱藏單元的數量。隱藏狀態張量和細胞狀態的形狀一致為(2,1944,32),其中2代表LSTM模型的循環層數,其他數字意義和輸出張量保持一致。本層需要訓練的參數為31232個。

第一層LSTM的輸入變量經過第一層LSTM的處理后,將被輸出為第二層LSTM的輸入變量。第二層LSTM的隱藏狀態H的大小設置為16,循環層數設置為1,第二層LSTM的其他設置與第一層LSTM保持一致。本層需要訓練的參數為3200個。最后我們通過2層全連接層Linear將LSTM的輸出轉為具體的預測值,中間添加了和上文一致的PReLU激活層。整個模型包括1層2維CNN卷積神經網絡,2層LSTM神經網絡,2層全連接層。總計參數為34729個。

四、實驗分析與量化策略改進

(一)實驗分析的對象介紹

本論文選取的分析對象為滬深300指數的成分股。為了保障數據的連續性和所有模型訓練數據量的一致性,選取了滬深300成分股中上市日期早于研究周期的187只股票。股票數據來源于Wind數據庫,數據的日期范圍為2012年1月4日—2022年1月4日,數據的類型為日頻數據。在數據指標的選取上,我們選擇了股票的日線行情數據,包括開盤價、收盤價、日內最高價、最低價、成交額、換手率和漲跌幅。這些日線行情數據均為前復權數據,以避免股息分紅、回購等因素對股票價格的非連續性影響。此外,我們在學習技術分析方法的基礎上,選取了兩個技術分析指標作為輸入特征,包括順勢指標CCI(Commodity Channel Index)和布林帶指標,用于衡量股票價格的波動是否超出常態范圍以及股票的動量趨勢效應,其中CCI的周期為14天,布林帶周期設置為26日均線,上軌與下軌之間保留。

(二)數據的準備與處理

本文數據的預處理流程主要包括:

1.數據的導入、檢驗、清洗與去噪:本文所獲取的原始數據是以個股數據為組別進行區分的表格數據。首先,我們需要對數據中的異常值進行識別,并將其中的空值進行填充,避免異常數據對神經網絡訓練的影響。其次,我們需要將數據形式與神經網絡輸入層的形式相對齊。再次,我們使用小波分析的方法對訓練集數據進行去噪,我們選擇了消失矩為4的多貝西小波函數,并將去噪后的數據導入到訓練。小波去噪可以有效地減少金融時間序列中的噪聲數據,避免模型對噪聲數據的過度擬合,對后續的訓練與預測均有幫助。圖4和圖5分別為小波變換前后的訓練集收盤價數據,數據變化明顯更為和緩,高頻噪聲數據明顯減少。

2.數據的相對化處理:由于本文是對股票價格的變動進行預測,因此本文對原始數據進行了一定的調整,具體的調整方法為對原始數據進行差分處理,將差分后的數據與原始數據相除,獲得相對化的比值數據。在對數據進行相對化處理之后,部分數據會出現無窮數值的問題,對于此問題,我們通過構建Python函數的方式對數據進行填充與整理,保證所有數據在數據量的一致性。

3.訓練集與測試集的劃分:本文通過構建Python函數的方式,將比例設置為0.8,即前80%的數據為訓練集,后20%的數據為測試集。由于單個批次的數據量較少,我們沒有對測試集進行進一步的劃分。

4.數據的歸一化處理:由于不同指標的量綱有所差異,且不同指標的變化幅度差異較大,因此我們在進行模型的構建與訓練之前需要對數據進行歸一化處理,此處我們使用MinMaxScaler方法對數據進行最小最大值歸一化處理。在進行歸一化處理時,我們對訓練集與測試集使用了同樣的歸一化取值。同時,基于我們循環讀取數據的要求,我們每次的歸一化處理是針對特定區間內數據進行的,這就意味著最大值和最小值是多次采樣產生的,避免個別序列中的極端數據對所有序列數據的影響。

5.窗口數據的劃分:本文使用的數據跨度為10年,其中單次預測的觀察期長度為所劃分的窗口期長度,屬于本文主要的超參數指標,并將窗口長度確定為7天,據此進行滑動取值,從而確定單次訓練的輸入變量與標簽。窗口數據的劃分同時還需要滿足LSTM模型的要求。

劃分完成后輸入變量的格式為(N,W,F),即將每批數據劃分為N個輸入變量(N代表通過滑動窗口的方式所產生的輸入變量的個數,是在數據天數的基礎上產生的),單個輸入變量包含W天的數據(W代表每個數據窗口的長度,在初始階段,我們將窗口長度默認設置為7天),且每天的數據中包含F個輸入特征(F代表輸入變量的特征數量,根據我們所準備的數據,我們一共將輸入9個輸入特征);而標簽數據的輸入變量格式為(N,)即劃分為N個標簽,每個標簽的數據均為一個標量,取值為7天數據后的第一天的收盤價數據的相對化處理值。標簽值作為真實存在的變量是每次神經網絡訓練的目標值。事實上,我們通過這一過程已經將該時間序列預測問題轉化為一個有監督學習的回歸問題。

(三)CNN-LSTM模型的訓練

在完成模型的構建之后,我們對CNN-LSTM模型進行相應的訓練。在深度模型的訓練中,首先需要對訓練的epoch(輪次)和batchsize(單個批量的大小)進行定義。本文將epoch設定為300次,單個批量的數據量設定為128個。完成上述設定后,我們對模型的學習率參數進行設定。本文中的學習率設定為動態可變學習率,初始的學習率設置為0.1,學習率的動態調整策略為cosine annealing,根據初始的學習率數值、訓練輪次以及最低學習率對學習率進行動態調整。其中,Tmax代表訓練的最大輪次,Tcur代表當前的訓練輪次,ηmin和ηmax分別默認設置為0和初始學習率,ηt代表當前輪次的學習率數值:

完成學習率的設定后,本文對模型的優化器進行了設置,在進行了一定范圍的對比之后,本文選擇了Adam優化器對學習率進行優化,優化器的正則化系數均按照Adam優化器的默認值進行設定,見表2。

對誤差函數的選擇,本文的股價預測問題可視為有監督深度學習中回歸問題的一種,因此選擇MSE誤差函數衡量預測值與標簽的誤差,且使用Paddle提供的誤差層中的mean模式,輸出預測張量與實際標簽張量的誤差均值作為誤差張量:

Out=mean[(input -- label)2]" " " " " nbsp; " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " (3)

在此訓練過程下,我們對所有數據進行了分批訓練,每次訓練過程中誤差值與學習率都會發生一次重置。表2第一批次數據500輪次的訓練情況為我們第一批次數據訓練過程學習率和損失率取值,第一批數據最終的誤差損失值為0.0083,誤差損失水平較低。通過損失函數值和學習率的變化可以看出,在我們選擇的學習率動態策略下,學習率的變化是往復循環的,而誤差率則保持一個相對和緩的速度逐漸下降。圖6為第一批數據學習率和誤差率的變化趨勢,通過圖示可以清晰地看到模型訓練過程中學習率的周期性波動變化和誤差率的變化趨勢。

在全部數據訓練完成后,我們將所有數據的損失值均值進行了計算,最終損值的均值為0.0097。在對圖數據進行分組整理后,我們發現損失值數據主要集中在0.006到0.012范圍內,占比達72.86%。同時,我們將誤差均值的變動通過圖示形式進行展示(見圖7),全部數據的誤差變化趨勢與第一批數據的誤差變動趨勢大致相同,均保持了緩慢的下降速度。訓練結果表明,本文所構建的模型對股票數據的學習具有較強的泛化能力。

(四)CNN-LSTM模型的測試

1.完成訓練之后我們在測試集上對模型的預測擬合效果進行了測試。我們使用RMSE和MAE衡量模型測試集的誤差。同時,我們通過反歸一化將收益率數據的預測轉化為具體的價格數據,并將預測效果與實際的效果通過圖示進行展示。全部數據的RMSE與MAE分別為0.0332和0.0248,測試集誤差均處于較低水平。此外,我們將前四批數據的測試集誤差變化和還原后的股價誤差變化進行圖示表達,圖8與圖9是測試集內的擬合情況。

從前四批數據的股價擬合情況可以看出,CNN-LSTM可以對前四批數據的股價做到效果較好的擬合。除部分極端數據外,模型都可實現準確的擬合預測效果。同時我們將所有數據的RMSE和MAE分布進行了統計,見圖10與圖11,根據統計結果,69.68%的股票RMSE分布在0.02—0.04范圍內,71.81%的股票MAE分布在0.02-0.04區間內,這說明模型對不同股票的收益率預測具有一定的穩定性。

2.不同窗口長度的預測效果對比。在完成上述的訓練之后,我們更改了模型的窗口假設,分別對窗口期調整為15天和30天的數據進行了訓練與測試。在其他參數保持一致的情況下,不同的窗口期下測試集誤差差異并不明顯(見表3)。在窗口期長度為15和30的模型中,盡管每次參與輸入的天數更多,參與訓練的數據更多,但模型在測試集表現上表現卻更差。本文認為這可能是因為模型過于復雜導致的,由于天數增加之后,模型的輸入參數也進一步增長,使得模型的復雜程度提高,以至于在訓練集上發生了過度擬合的問題,導致在測試集上表現不佳。根據我們對不同窗口長度下模型測試集效果的對比,本文認為窗口長度為7的基準的假設可以提升模型的性能。因此,在后續的試驗中,本文仍維持窗口長度為7的假設條件。

3.不同訓練模型的對比。CNN-LSTM模型是在LSTM模型的基礎上發展而來,它結合了CNN模型的特征構造能力和LSTM模型的時間序列數據學習能力。因此,本文通過構建LSTM模型,并用相同數據對其進行訓練和測試,對比其和CNN-LSTM模型的學習預測能力。表4為LSTM模型的結構參數,該模型結構與本文構建的CNN-LSTM模型基本相似。

在輸入層方面,由于LSTM模型不使用CNN模型進行特征構造,所以外部輸入變量會直接輸入到LSTM層中,此時第一層LSTM的輸入變量形狀為(1944,7,9),在經過第一層LSTM的處理后,第二層LSTM的輸入變量形狀變更為(1944,7,32)。除此之外,該LSTM模型的后續的模型架構與本文所設計的CNN-LSTM模型保持一致。

完成LSTM模型的設計后,我們以相同的數據對LSTM模型進行訓練,在訓練集上LSTM的學習能力表現良好,所有股票數據的誤差損失值均值為0.0625,低于CNN-LSTM模型的誤差損失均值。但是,在測試集上,LSTM模型RMSE與MAE為0.0415和0.0318均高于CNN-LSTM模型。我們認為這是由于LSTM模型缺少CNN層的特征構造和池化層的降維提取,對訓練集數據出現了過度擬合的情況。圖12和圖13是LSTM前四批數據的測試集擬合情況,從圖中可以明顯看出前四批數據里,LSTM模型預測數據中的噪聲數據含量更大,在測試集上的擬合效果較CNN-LSTM模型更差。根據兩個模型在窗口長度為7時的訓練和測試效果來看,本文認為使用CNN層代替全連接層的CNN-LSTM模型具有更好的學習和預測效果。

(五)基于CNN-LSTM模型的量化策略改進

在前文中,我們基于CNN-LSTM模型對股票價格進行預測,屬于時間序列模型上的單步預測。在窗口期為7時,模型根據過往7天的數據預測第8天的數據。完成預測后,本文將CNN-LSTM模型的預測結果對量化投資的影響進行了實證分析。具體的分析方法為:以實際的交易數據為基礎,進行量化策略的回測,同時在原有的量化策略的基礎上增加以模型預測結果為基礎所生成的指標,對比分析模型的預測結果對量化交易策略收益率的影響。

在不考慮CNN-LSTM模型時,本文的量化交易策略定義為單期交易,每期的時間長度為CNN-LSTM模型的滑動時間窗口長度,初始假設為7天。交易策略的演示圖,見圖14。在觀察期內,我們會將上述預測的187只股票列入觀察,以其過去7天的歷史收益率為依據,將過去7天內累計收益率為正的股票作為本周期的投資組合成分股,并將資金平均分配于投資組合的所有品種,之后本文將觀察其在下一個單期的收益率情況。如果在下一期還可以保持7日內的正累計收益率就繼續投資,反之則會進行清倉出售。以此類推,循環直到期末。本交易量策略為多頭策略,不考慮做空對策略的影響,本策略主要依據動量效應進行設計。為驗證CNN-LSTM模型對策略的改進影響,不考慮交易稅費等因素。同時,在本策略中,任何投資周期內資金均平均分布在投資組合內的所有股票上,因此只要存在一只股票滿足策略的投資要求,就不會有資金空置。本驗證策略的時間跨度為2020年1月4日—2021年12月31日。

在考慮了CNN-LSTM模型的預測之后,我們對量化交易的模型進行改良,將CNN-LSTM模型的預測結果作為動量趨勢反轉的指標。具體的做法為:將CNN-LSTM模型對每只股票7日觀察期之后的第8日收益率即未來投資周期中第一天的股票收益率進行預測,根據該數據的取值確定對該股票的投資決定。我們將CNN- LSTM模型所生產的指標分3種:

1.單負向指標,僅考慮模型預測結果對投資組合中股票的影響,如果第8日的預測收益率為負,我們就將其從投資組合中剔除,但不對其他股票進行進一步限制。只要第8日的預測收益率為負,我們就將其從投資組合中剔除。

我們基于兩年內的股票實際數據進行了策略回測,基準策略(即不考慮模型預測結果影響的量化交易策略)兩年內的收益率為81.32%,年化收益率為34.65%;考慮單負向指標后,策略兩年內的收益率為88.96%,年化收益率為37.46%,策略優化9.39%。在最大回撤率方面,基準策略的最大回撤率為17.66%,負向策略的最大回撤為13.32%,較基準指標有顯著改善。圖15是策略運行結果的圖示。總體上,兩個策略保持大致相同的收益率走勢。這是因為模型作為輔助指標僅對量化策略的收益率進行微調,因此總體上收益率走勢一致。在第6投資周期到第8投資周期里,考慮單負向指標后的策略超額收益持續累積,在這一周期內基準策略出現了較大的回撤,單負向策略則在預測數據的幫助下,回撤幅度較小。這一階段對應2020年的3月,當時國際金融市場受恐慌影響,滬深300指數回落到3503的低點,見圖16。我們認為,在市場趨勢發生整體轉變后,量化策略對短期動量的預測會失效,從而導致策略收益率出現了連續下降。但考慮負向指標后,量化策略得以通過對股票未來波動的識別減少了對短期動量的盲目依賴,實現策略收益率的改進。

2.負向優化指標,在負向指標的基礎上對投資組合中的股票進行二次衡量。在負向指標中,僅將模型預測為負的股票剔除投資組合;在負向優化指標里,不僅要求投資組合中股票的預測收益率為正,還要求股票的預測收益率水平在預測收益率中排名靠前。因此,我們通過設置一個預測收益率的閾值來進一步篩選股票。考慮到每期187只股票的數量,我們將閾值設定為95%,即只有預測收益率排名前5%的股票可以留在投資組合中。負向優化指標仍遵循負向指標的各項規則。

我們基于兩年內的股票實際數據進行了策略回測,考慮負向優化指標后,策略兩年內的收益率為112.59%,年化收益率為45.81%,策略優化38.46%。策略最大回撤26.93%,回撤幅度較基準策略顯著增加。

圖17是負向優化策略運行結果的圖示。總體上,負向優化策略與基準策略的走勢相似,但收益率波動性更大,這是因為考慮了模型預測結果后,投資組合中股票數量顯著減少,資金更加集中于部分股票。當這些股票表現較好時,策略收益率明顯放大;當這些股票表現較差時,策略收益率顯著下滑。在第13到第18投資周期里(2020年6月至8月),負向優化策略的超額收益顯著增長。這一時期股票市場整體呈上升趨勢,滬深300指數漲幅明顯。本文認為在該時間段內負向優化策略通過對收益率較高的股票進行優選實現了超額收益的迅速增長。在第35到第43投資周期(2021年2月至4月),負向優化策略的收益率大幅回撤。這一時期受全球疫情蔓延和國內經濟環境不穩定等因素的沖擊,中國股票市場整體由漲轉跌。負向優化策略將資金過度集中于幾只股票后,受市場整體趨勢的影響,收益率出現了大幅度回撤。

3.均值指標,負向指標是根據模型預測收益率的正負與否對投資組合的構成作決定。均值指標則關注模型預測收益率的均值,當個股預測收益率低于所有股票預測收益率的均值時,就將其從投資組合中刪除。均值指標不考慮未來是否會發生趨勢的反轉,只根據預測結果對投資組合中的股票進行優選。均值指標可以進一步擴展為分位數指標或其他優化類指標,核心在于使用基于模型預測結果的指標對投資組合的構成進行優化。

同樣,我們基于兩年內的股票實際數據進行了策略回測,考慮均值指標后,策略兩年內的收益率為92.31%,年化收益率為38.68%,策略優化13.52%。最大回撤方面,均值策略為14.2%,較基準策略也有明顯的改善,見圖18。

從圖示來看,均值策略與基準策略也保持走勢的大體一致性,并通過與負向指標類似的方式獲得了超額收益。與負向策略不同的是,均值策略的拒絕規則不同。在某些投資周期內,均值策略會有比負向策略更高的拒絕標準,這意味著當期的預測收益率均值高于0時,其原因可能是由部分極端值或整體預測值較高所引起。由于我們的模型預測結果是建立在前7日的股票數據基礎上的,此時建立更高的拒絕標準可以避免由于前7日數據異常而導致的模型對預測值的高估。同時,均值策略出現更低的拒絕標準也意味著模型的預測結果可能被低估。通過建立更低的拒絕標準有利于避免策略對部分股票判斷的失誤。本文認為,均值策略表現之所以優于單負向策略,部分是這兩方面因素的作用。

基于模型預測結果,我們建立了以上三種指標用于對量化策略進行改進。根據實際數據的回測結果,三種指標均能顯著改進量化策略。本文還試驗了其他具有改進意義的指標,如單正向指標、雙向指標等,也達成了不同程度的策略改進。因此,我們認為基于本文所構建的CNN-LSTM模型的預測結果,可以實現對動量交易策略的改進。

對于這種改進效果的存在,本文認為可能是源于深度學習對股價變動深層規律的充分學習。傳統量化策略通常基于個人對股票價格變動的歷史經驗建立的,這意味著,投資策略內指標的確定,依賴個人主觀意識。從行為金融學的角度來看,個人的理性存在多方面的局限性,難以像經濟學假設中的“經濟人”一樣,識別和利用有效信息,也難以完全為達到個人利益的最大化而行動。深度學習網絡與之不同,在計算機硬件的幫助下深度網絡可以對信息盡可能地識別利用。

在設定具體的優化目標后,神經網絡會持續學習以減少與目標值的差異。因此,神經網絡對股票價格變動的預測具備更全面的信息和更深層的預測機制。本文所采用的CNN-LSTM模型融合了LSTM模型對時間序列的學習能力和CNN模型的分層與特征構造能力,對多變量的時間序列數據具有較強的學習能力,這一進步幫助模型提升預測能力,改進了量化策略的交易效果。

通過對策略的回測,本文認識到,盡管神經網絡可以在一定范圍內實現對股票價格變動的預測,但影響股票價格變動的因素復雜多樣。部分外部沖擊因素的發生具有偶然性與非規律性,神經網絡難以習得。因此,在應用深度學習模型進行股票價格變動預測時也要綜合考慮其他可能存在的影響因素,不能對模型產生盲目的信任。

五、研究結論

本文通過CNN-LSTM模型將股票價格問題轉化為有監督學習的回歸問題,并通過Paddle平臺的相關函數對模型參數進行了訓練和運用。本文的模型訓練與測試過程主要包括輸入數據處理和預測結果處理。對數據輸入的處理是在我們確定了模型的輸入特征,窗口長度以及模型的具體結構的基礎上進行的,通過本文自主構建的Python函數,我們將記錄股票市場交易數據的時序數據轉化為可供模型識別并訓練的張量數據,并根據數據本身的特征對數據進行了相應的處理。在模型預測結果的處理上,我們基于模型輸出結果進行了逆向變化,使得模型預測結果的可讀性更強,并通過多種圖示的方式體現CNN-LSTM模型的預測能力。

根據最終的測試集誤差數值結果和測試集圖像擬合效果,我們認為CNN-LSTM模型可以較準確地預測中國股票市場上部分股票的價格。在對基礎窗口假設進行變換后,比較了不同窗口期參數下的模型訓練效果和測試集效果。

此外,我們在CNN-LSTM模型預測的基礎上,嘗試將預測結果應用于實際的量化交易中。因此,我們構建了以模型預測結論為基礎的三類指標,并在實際交易數據的基礎上,對比了三類指標的量化策略交易收益率的差異,并對策略收益率差異的原因進行了探究。通過量化策略交易量收益率差異的對比以及不同指標結果下策略收益率的走勢,本文得到結論,CNN-LSTM模型的預測結果可以對本文選定的動量交易策略起到改進作用,可為量化投資的研究者和實踐者提供參考。

參考文獻:

[1]KAMIJO K,TANIGAWA T. Stock price pattern recognition-a recurrent neural network approach[J].IEEEs,1990(1):215-221.

[2]MOGHAR A,HAMICHE M.Stock market prediction using lstm recurrent neural network[J].Procedia Comput Science,2020,170(C):1168-1173.

[3]DI PERSIO L,HONCHAR O. Recurrent neural networks approach to the financial forecast of Google assets[J].International journal of Mathematics and Computers in simulation,2017 (11):7-13.

[4]KRAUS M,FEUERRIEGEL S.Decision support from financial disclosures with deep neural networks and transfer learning[J].Decision Support Systems,2017(104):38-48.

[5]RUOXUAN X,ERIC P. NICHOLS,YUAN S.Deep Learning Stock Volatility with Google Domestic Trends[EB/OL].(2015-12-15)[2024-05-08]. https://arxiv.org/abs/1512.04916.

[6]FISCHER T K C.Deep learning with long short-term memory networks for financial market predictions[J].European Journal of Operational Research,2018,270(2):654-669.

[7]SHAIKH A,HAMID A,ZAHID L B.Using neural networks for forecasting volatility of Samp;P 500 Index futures prices[J].Journal of Business Research,2004,57(10):1116-1125.

[8]GILES C L,LAWRENCE S,TSOI A C.Noisy Time Series Prediction using Recurrent Neural Networks and Grammatical Inference[J].Machine Learning,2001,44(1):161-183.

[9]MAKNICKIENE N,MAKNICKAS A A.Application of Neural Network for Forecasting of Exchange Rates and Forex Trading[EB/OL].(2012-00-00)[2024-05-08].http:api.semanticschdar.orgl Corpus ID:18943808.

[10]LIVIERIS I E,PINTELAS E,PINTELAS P. A CNN–LSTM model for gold price time-series forecasting[J].Neural Computing and Applications,2020,32(23):17351-17360.

[11]陳興,孟衛東,嚴太華.基于T-S模型的模糊神經網絡在股市預測中的應用[J].系統工程理論與實踐,2001(2):66-72.

[12]李宗偉,王美娟,鄭淑華.基于徑向基神經網絡的股價預測[J].上海理工大學學報,2002(1):81-82+86.

[13]謝琪,程耕國,徐旭.基于神經網絡集成學習股票預測模型的研究[J].計算機工程與應用,2019,55(8):238-243.

[14]禹建麗,孫增圻,KROUMOV V. ,等.基于BP神經網絡的股市建模與決策[J].系統工程理論與實踐,2003(5):15-19+58.

[15]李斌,邵新月,李玥陽.機器學習驅動的基本面量化投資研究[J].中國工業經濟,2019(8):61-79.

[16]王文波,費浦生,羿旭明.基于EMD與神經網絡的中國股票市場預測[J].系統工程理論與實踐,2010,30(6):1027-1033.

[17]許雪晨,田侃.一種基于金融文本情感分析的股票指數預測新方法[J].數量經濟技術經濟研究,2021,38(12):124-145.

[18]馬甜,姜富偉,唐國豪.深度學習與中國股票市場因子投資——基于生成式對抗網絡方法[J].經濟學(季刊),2022,22(3):819-842.

[19]張虎,沈寒蕾,劉曄誠.基于自注意力神經網絡的多因子量化選股問題研究[J].數理統計與管理,2020,39(3):556-570.

[20]于志軍,楊善林,章政,等.基于誤差校正的灰色神經網絡股票收益率預測[J].中國管理科學,2015,23(12):20-26.

[21]耿晶晶,劉玉敏,李洋,等.基于CNN-LSTM的股票指數預測模型[J].統計與決策,2021,37(5):134-138.

[22]羅鑫,張金林.基于多時間尺度復合深度神經網絡的股票價格預測[J].武漢金融,2020(9):32-40.

[23]張蘇林,宋迦南.基于CNN-LSTM模型股票價格預測研究[J].合作經濟與科技,2023(3):58-62.

Research on Chinese Stock Price Prediction and Quantitative Strategy Based on CNN-LSTM Model

Niu Xiaojian,Hou Qiming

(Fudan University,Shanghai 200433,China)

Abstract:With the continuous advancement of computer technology and the gradual popularization of programming education,the research method of deep learning has been increasingly borrowed and applied by more and more disciplines,and has produced a large number of research results. Based on the CNN-LSTM model in deep learning,this study models and analyzes the constituent stocks of the Shanghai and Shenzhen 300 index in the Chinese stock market. Through empirical analysis of real stock returns data,this article aims to explore the learning and predictive performance of the CNN-LSTM model in the price changes of Chinese stocks,as well as how the predictive results of the CNN-LSTM model can be applied to quantitative trading strategies. The research process of this article mainly includes the construction of the CNN-LSTM model,processing of stock data,training and testing of the CNN-LSTM model,and improvement of quantitative strategies based on the predictive results of the CNN-LSTM model. Based on the research results of this article,the CNN-LSTM model has good performance in learning and predicting the price changes of stocks,and the indicators constructed based on the model's predictive results have a significant improvement effect on the selected quantitative trading strategy in this article.

Key words: deep learning;CNN-LSTM;quantitative trading

責任編輯:李祖杰

猜你喜歡
深度學習
從合坐走向合學:淺議新學習模式的構建
面向大數據遠程開放實驗平臺構建研究
基于自動智能分類器的圖書館亂架圖書檢測
搭建深度學習的三級階梯
有體驗的學習才是有意義的學習
電子商務中基于深度學習的虛假交易識別研究
現代情報(2016年10期)2016-12-15 11:50:53
利用網絡技術促進學生深度學習的幾大策略
考試周刊(2016年94期)2016-12-12 12:15:04
MOOC與翻轉課堂融合的深度學習場域建構
大數據技術在反恐怖主義中的應用展望
深度學習算法應用于巖石圖像處理的可行性研究
軟件導刊(2016年9期)2016-11-07 22:20:49
主站蜘蛛池模板: 国产18在线播放| 谁有在线观看日韩亚洲最新视频 | 区国产精品搜索视频| 四虎永久在线| 中文无码日韩精品| www.狠狠| 欧美色图第一页| 一级全黄毛片| 亚洲人成网站在线播放2019| 免费一级无码在线网站| 99热这里只有精品免费| 久久国产精品波多野结衣| 一本色道久久88| 国产亚洲视频中文字幕视频| 亚洲系列中文字幕一区二区| 国产天天色| 999精品在线视频| 91精品国产自产在线观看| 亚洲精品无码不卡在线播放| 91福利国产成人精品导航| 99久久精品视香蕉蕉| 国产情侣一区二区三区| 中文国产成人精品久久| 9啪在线视频| 色噜噜在线观看| 啦啦啦网站在线观看a毛片| 国产免费羞羞视频| 欧美色图久久| 国产欧美网站| 在线观看国产黄色| 国产精品熟女亚洲AV麻豆| 国产一区二区三区免费| 欧美一区二区啪啪| 热这里只有精品国产热门精品| 久热中文字幕在线| 国产亚洲精品97在线观看| 亚洲日韩AV无码一区二区三区人 | 欧洲一区二区三区无码| 欧美专区在线观看| 又粗又大又爽又紧免费视频| 欧美激情综合| 久久6免费视频| 国产精品嫩草影院av| 免费无码网站| 亚洲天堂精品视频| 婷婷亚洲天堂| 久久黄色一级片| 九九久久精品国产av片囯产区| 69国产精品视频免费| 69免费在线视频| 日本人妻丰满熟妇区| 一级毛片免费的| 91精品免费久久久| 在线国产资源| 91精品国产福利| 日本久久网站| 中文字幕在线永久在线视频2020| 国产精品亚洲一区二区三区在线观看| 国产91精品久久| 精品无码一区二区三区电影| 四虎永久免费地址| 色一情一乱一伦一区二区三区小说| 国产经典在线观看一区| 伊人久久青草青青综合| 国产精品片在线观看手机版| 国产在线拍偷自揄拍精品| 无码AV高清毛片中国一级毛片| 色婷婷亚洲十月十月色天| 99精品久久精品| 青青青草国产| 91色老久久精品偷偷蜜臀| 亚洲精品中文字幕无乱码| 草逼视频国产| 免费国产黄线在线观看| 国产精品.com| 欧美成人第一页| 在线看片免费人成视久网下载 | 国产成人一区二区| 日韩美毛片| 午夜日b视频| 国产网友愉拍精品| 免费人欧美成又黄又爽的视频|