通過深度學習股價截面數據分析和預測股票價格


更多精彩內容,歡迎關注公眾號:數量技術宅,也可添加技術宅個人微信號:sljsz01,與我交流。

引言

不論在學術領域還是實踐范疇上,股價預測一直是重要的研究課題。直到現在,各種預測股價的理論仍然在不斷研究中。在金融領域,用來解釋股票價格界面分析的特性被稱為“因子”,很多金融方面的研究已經識別出了這些截面數據因子跟股價漲跌的關系。由於這些因子和股票價格的關系日趨復雜和非線性,最近,使用機器學習,特別是深度學習用於預測股票價格的研究被不斷提出。不過,這些理論上的研究都和實際的投資操作有着一定距離。

我們解讀的這篇論文《Cross-sectional Stock Price Prediction using Deep Learning for Actual Investment Management》被2020年國際人工智能與區塊鏈大會(AIBC 2020)收錄,在文章中,作者提出了使用深度學習進行實際投資管理的截面每日股價預測框架。 例如,作者使用在收盤時可用的信息來構建投資組合,並在第二天開盤時進行投資。作者在日本股票市場進行實證分析,並確認框架的盈利能力。

前置概念介紹

股價預測已經日漸成為一個重要的研究主題,各類預測股價的理論不斷提出,到目前為止,這些理論大概可以分位兩個方面:時間序列分析和截面數據分析。

第一類理論將股票價格作為時間序列數據,然后進行時間序列分析。金融上的時間序列分析始於線性模型,例如自回歸模型(AR),這類模型中,參數是唯一且確定的。在實際的金融時間序列中,隨着許多非線性特性被發現,在時間序列結構中並入波動率的廣義自回歸條件異方差模型(GARCH)開始被應用。近年來,GARCH模型進一步發展,擴展出了很多變量。另外,在時間序列分析領域,例如k最近鄰法,神經網絡和支持向量機等非線性模型已經廣泛應用於股票價格預測。這些模型不僅努力從學術上把握經濟意義,而且努力在實踐中提高預測准確性,它們通過反復試驗來嘗試掌握股價波動的模式,這些嘗試在近幾年已經引起人們對算力的重視。

第二類理論使用諸如公司屬性之類的橫截面數據執行橫截面(回歸)分析。 通過截面分析來解釋股價的特征在金融領域被稱為“因子”。 金融方面的許多實證研究已經確定了哪些股票的橫截面特征相對增加,哪些股票價格下降。 解釋橫截面股票價格的代表性模型是Fama-French三因子模型。 模型指出,可以通過三個因子來解釋股票收益的橫截面結構:β(市場投資組合),規模(市場資本化)和價值(價格市價比)。 從那以后,除了Fama-French三因子模型中的因子外,其他因子也相繼被發現。 到2012年發現的因子就多達300多個,而且,大多數這些因子是在最近10年中發現的。

盡管投資者需要考慮的因子在快速增長,但要同時測試超過300個因子,從維度的規模上將也是非常困難的。此外,由於不錯的可操作性和結果的魯棒性,線性回歸模型還是在金融領域長期應用。但是,由於大量因子和股票收益關系的復雜性,線性回歸模型在預測准確性上限制很大。就像很多非參數截面股票預測研究的那樣,使用深度學習來非線性擬合各種因子相比簡單擬合各種因子的線性回歸,可以提高預測的准確性和股票盈利。

但是,這些研究僅限於每月的股票價格預測而且它們與實際的投資管理不符。 在這篇論文中,作者提出了一個使用每日股價橫截面數據預測使用深度學習進行實際投資管理的框架,並且在日本股市進行實證分析,以確認框架的有效性。為了每天進行投資,作者會在實際投資時建立投資組合。 例如,在收市時段利用可用信息構建投資組合,然后在第二天開市時在市場上進行投資。 此外,投資組合周轉率是計算並比較以考慮影響交易成本。 周轉率高的投資組合與較低利率的投資組合相比,交易成本更高。

數據集

文章使用的數據集為TOPIX500成分股指數,TOPIX500覆蓋了日本股市的大盤股和部分中盤股,同時這個指數也常作為海外投資機構投資日本股市的投資標的。

文章使用了33個因子,如下表:

在實踐中,這些指標相對都用得比較多。

問題建模

作者把問題定義為了一個回歸問題,這樣就把問題轉化成了尋找一個預測變量f,同時用均方誤差(MSE)作為損失函數。定義t時刻訓練模型的均方誤差如下:

𝐾是所有訓練數據的數量。 𝜃𝑇是計算出的參數通過求解上面的表達式並形成函數𝑓的形式。

作者使用深度學習給函數f構造一個模型,然后用嶺回歸和隨機森嶺作為比較模型。

深度神經網絡(DNN)

DNN通過開源機器學習庫TensorFlow實現。對於超參數,總共選用了6種模式,其中3個隱藏層,2種丟棄率和迭代次數。模型設置如下:

表示股票i在T+5時間的評分由T時刻股價代入函數f產生,而參數𝜃T*則是由之前建立的模型訓練產生。然后根據這個評分建立投資組合,流程如下:

多頭投資組合表現

下表顯示了多頭策略組合的表現,黑體表示了每個模型最佳的表現,下划線表示了每一列最好的值。

(Model:模型,Alpha:收益,TE:風險,IR:收益風險比,MaxDD:最大回撤,TN:周轉率)

下圖顯示了累計收益最佳的組合表現,紅線在整個階段的表現更為穩健。

 

多空投資組合表現

多空投資組合的表現和多頭投資組合的表現類似,DNN模型整體要好於RF模型和RR模型。

 

下圖顯示了紅線仍然是最穩健的曲線。

結論和解讀

文章實現了使用深度學習一個每日股價截面數據預測框架用來進行投資管理實踐。主要結論如下:

  • 有效參數越多,基於深度學習(DNN)股價預測模型的表現要越好於隨機森林和嶺回歸的模型。

  • DNN模型有更低的風險波動,或者說相比RF和RR模型有着更好的收益風險比。

  • DNN模型有着更高的周轉率。

隨着參數越來越多,深度學習作為一個重要工具,正在越來越多地發揮着作用。如果您對於量化交易有興趣,也歡迎找到我們跟我們討論交流。

關注 “數量技術宅”不迷路,您的點贊、轉發,是我輸出干貨,最大的動力

 


往期干貨分享推薦閱讀

Omega System Trading and Development Club內部分享策略Easylanguage源碼

一個真實數據集的完整機器學習解決方案(下)

一個真實數據集的完整機器學習解決方案(上)

如何使用交易開拓者(TB)開發數字貨幣策略

股指期貨高頻數據機器學習預測

如何使用TradingView(TV)回測數字貨幣交易策略

如何投資股票型基金?什么時間買?買什么?

【數量技術宅|量化投資策略系列分享】基於指數移動平均的股指期貨交易策略

AMA指標原作者Perry Kaufman 100+套交易策略源碼分享

【 數量技術宅 | 期權系列分享】期權策略的“獨孤九劍”

【數量技術宅|金融數據系列分享】套利策略的價差序列計算,恐怕沒有你想的那么簡單

【數量技術宅|量化投資策略系列分享】成熟交易者期貨持倉跟隨策略

如何獲取免費的數字貨幣歷史數據

【數量技術宅|量化投資策略系列分享】多周期共振交易策略

【數量技術宅|金融數據分析系列分享】為什么中證500(IC)是最適合長期做多的指數

商品現貨數據不好拿?商品季節性難跟蹤?一鍵解決沒煩惱的Python爬蟲分享

【數量技術宅|金融數據分析系列分享】如何正確抄底商品期貨、大宗商品

【數量技術宅|量化投資策略系列分享】股指期貨IF分鍾波動率統計策略

【數量技術宅 | Python爬蟲系列分享】實時監控股市重大公告的Python爬蟲

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM