
使用這些基本 REST API 最佳實踐構建出色的 API
根據時間序列數據預測股票價格,以揭示未來市場價值,并實現投資收益最大化。在預測過程中,各種因素,包括心理因素以及理性和非理性行為,都會對結果產生影響。這些因素共同作用,使得股票價格具有高度動態和波動性。
股票趨勢預測通常將股票走勢分為上漲、下跌和橫盤。該任務通過分析股票在特定交易日期間調整后收盤價之間的差異來形式化。
投資組合管理涉及對一系列投資的戰略選擇和監督,以實現財務目標。投資組合管理的目標是以最大化回報同時最小化風險的方式分配資源。
交易策略是一套預先確定的準則和標準,用于做出交易決策,是買賣股票的系統方法。該策略可能簡單或復雜,涉及投資風格(例如,價值&增長)、市值、技術指標、基本面分析、投資組合多樣化水平、風險承受能力和杠桿等因素。
在利用深度學習的股市預測任務中,常見的交易策略主要包括事件驅動、交易數據驅動和策略優化。
圖1 處理框架
圖1顯示了基于深度學習的方法進行股票市場預測的過程。首先是處理輸入數據,包括股票數據、圖表和文本;然后提取股票特征;后續將提取的特征輸入到深度學習模型中進行訓練;最后分析訓練得到的模型效果。
股票市場預測常用模型包括基于RNN的模型、基于GNN的模型,基于CNN的模型、強化學習模型、基于Transformer的模型以及一些其他創新方法(如圖2)。圖3展示了用于股票市場預測的主流深度學習模型的概況。
圖2 股市預測主流深度學習模型分類
圖3 股市預測主流深度學習模型概況
RNN(圖2a)是一種有效的深度學習模型,適用于處理序列數據,如股票市場數據。然而,RNN存在梯度消失的問題,因此開發了LSTM、GRU和Bi-LSTM等變體。這些變體通過改進RNN的結構,控制短期和長期記憶,提高了對長期數據的處理能力。在股市預測方面,這些變體取得了顯著進展。
遞歸神經網絡(RNN) RNN是一種成熟的深度學習模型,已應用于股票預測。研究人員通過結合RNN、指數平滑和自回歸移動平均模型,提出了一種混合預測模型-魯棒混合預測模型(HPM),并通過遺傳算法優化模型權重,提高了預測準確性。還有一種方法是基于RNN的狀態頻率記憶,能夠捕捉股票價格背后的多頻率交易模式。
長短期記憶(LSTM)LSTM是一種能夠有效地處理文本和時間序列數據的模型,適用于股票市場預測。LSTM通過使用梯度方法解決了在較長時間間隔內保留信息的問題,是對RNN模型的改進。
門控循環單元(GRU)GRU是LSTM的變體,用于股票市場預測,可提高訓練速度并解決梯度消失問題。雙階段RNN基于注意力機制進行時間序列預測,GRU網絡使用雙級注意力機制進行股票價格預測,根據金融新聞標題分配不同的權重。MI-LSTM模型使用注意力區分主要和輔助因素,為輸入分配不同的權重,以防止無關因素影響最終結果。
CNN(圖2b)是一種深度學習模型,已被廣泛應用于計算機視覺和自然語言處理任務,其模型由幾個卷積層和池化層組成,用于特征提取。傳統的卷積層使用二維濾波器處理圖像特征,而時間序列用的CNN使用一維濾波器在時間序列上滑動。CNN結合知識圖和LSTM可以進一步提高時間序列預測的性能。
其中一種模型是Knowledge-Driven Temporal Convolutional Network(KDTCN),該模型利用Open IE提取與知識圖相關的活動,并進行可解釋的股票預測。CNN-LSTM模型可以從歷史數據中提取特征并預測股票收盤價,其中CNN組件從10天的歷史數據時間序列中提取特征,LSTM組件進行價格預測。近期一些研究探索了將知識圖、LSTM和CNN集成用于股票預測,比如使用由期權圖像、未來圖像和歷史圖像組成的組合圖像的基于圖的CNN-LSTM模型。此外,Chandar開發了一個穩健的股票交易模型,該模型使用10個技術指標作為特征向量,從歷史股票數據中提取,并通過CNN模型獲得標記的賣出點、買入點和持有點。
GNN 是一種人工神經網絡,它以圖的形式處理數據,在股票市場預測中發揮著至關重要的作用,因為它們能夠對不規則結構化數據進行操作,這與專為歐幾里德結構化數據設計的 CNN 不同。GNN 的結構由節點和邊組成,這使得它能夠對實體之間的關系進行建模。在股票市場預測的背景下,節點通常代表公司或股票,邊代表它們之間的關系。例如,關聯公司的股價往往會同時波動,比如當一則好消息發布時,相應的股票就會立即飆升。這凸顯了在進行預測時考慮關系的重要性。本章將探討四種主要的基于圖的模型:GNN、圖卷積網絡(GCN)[58]和圖注意網絡(GAT)。
圖神經網絡(GNN)GNN是一種用于預測股票表現的手段,通過整合知識圖來表達公司實體之間的聯系。不同文章提出了不同的模型,如滾動窗口分析和回溯方法、知識圖神經張量網絡(NTN)、分層圖神經網絡(HGNN)等。這些模型考慮了各種市場狀態屬性,如節點、關系和圖形視圖,并使用多源異構數據進行預測。此外,Ang和Lim的模型利用圖形編碼和注意力模塊來捕捉全局和局部信息,表現非常穩健。
圖卷積網絡(GCN)GCN是一種專門設計用于處理圖數據的深度學習模型,通過圖卷積層從圖中提取特征,并根據節點之間的關系進行預測。GCN可以與其他深度學習模型結合使用,例如Chen和Wei提出了一個管道預測模型,通過使用GCN模型整合公司之間的關系,每個公司表示為圖中的一個節點,邊表示公司之間的關系,邊的權重表示持股比例。類似地,Li等人提出了一個LSTM關系圖卷積網絡(LSTM-RGCN)模型,處理股票之間的正相關性和負相關性。Wang等人使用GCN來分析指數之間的相關性,介紹了基于多圖卷積神經網絡的MG-Conv模型,并利用指數之間的靜態圖構建了指數數據,同時基于具有不同投資組合策略的索引之間的趨勢相關性創建了動態圖。
圖注意網絡(GAT)GAT結合了GNN和注意力層,通過注意力機制提高性能,減小噪聲影響,增強與任務相關的信息。Kim等人提出使用層次注意力網絡(HATs)預測股票價格和市場指數走勢,Sawhney等人提出用于股票預測的多管齊下的注意力網絡(MAN-SF),Cheng和Li引入了屬性驅動的圖注意力網絡(AD-GAT)來捕捉屬性驅動的動量溢出。這些模型在實驗中均優于GCN、eLSTM和TGC。
Transformer(圖5d)是一個基于self-attention機制的深度學習模型,旨在解決序列到序列的任務,同時處理長期依賴關系。CNN 通過創建二維信息的內部表示來擅長處理空間數據。此外,RNN 更適合涉及時間或順序數據的任務,例如財經新聞、推文和股票價格時間序列。然而,RNN 可能難以處理長序列,因為模型可能會忘記遠處位置的內容或混淆附近位置的內容。Transformer 通過利用自注意力機制和位置嵌入來處理句子來解決這個問題。因此,Transformer 模型在各種股市預測任務中都顯示出了可喜的結果。
基于Transformer的模型 許多研究使用Transformer模型進行股票預測,通過捕捉長期依賴性。其中,Multi-Transformer、層次多尺度高斯Transformer和TEANet等被廣泛應用。此外,利用文本信息作為輸入進行金融新聞情緒分析,預測市場對文本中潛在信息的反應。收集社交平臺和財經新聞文章的數據,然后輸入張量Transformer進行模型訓練。還有研究提出基于Transformer Encoder的Capsule網絡和基于分層Transformer的多任務模型等解決方案,用于預測短期和長期資產波動性,其中HTML模型還使用了音頻數據進行預測。Chen等人引入了門控三塔式Transformer作為提取和整合多元股票時間序列的解決方案,通過實施移位窗口塔式編碼器和具有多時間聚合的移位窗口塔式編碼器,以及采用普通的Transformer編碼器作為文本塔式編碼器,來實現復雜的文本特征提取。
預訓練語言模型 BERT是一種基于Transformer架構的語言模型,通過兩種獨特的訓練方法(掩碼語言建模和下一句預測)來理解單詞之間的關系和句子之間的長期依賴關系。BERT的預訓練模型可以針對特定用例進行微調。財務新聞被認為是股票市場分析的重要信息來源,對股票回報的影響已被充分證明。一些研究人員提出,除了僅依靠文本中的情感來進行股票市場預測之外,新聞評論還可以影響投資者的情緒,并最終影響他們對市場趨勢和投資決策的估計。BERT在股市中的用途不僅限于預測價格或走勢,還可以用于檢測預定義的交易事件等。此外,還有一些研究使用了BERT來進行投資者評論的評估和分類,以及股票預測。
RL(圖5e)是一個允許通過與環境交互進行學習的框架,如圖6所示。在股票市場中,強化學習用于設計交易策略和管理投資組合。RL 中的關鍵概念包括馬爾可夫決策過程 (MDP) 、代理、環境和獎勵信號。強化學習問題可以表述如下:智能體通過與環境的交互來優化其策略。具體來說,代理由狀態和策略組成,在時間 t 時由 ???? 和 ?? 表示。當智能體與環境交互時,會收到獎勵??,并且智能體的狀態會更新為????+1。如果下一個狀態僅依賴于當前狀態,則決策過程被視為馬爾可夫。
圖6. 在金融交易領域,主體(交易者)與環境(金融市場)之間的互動至關重要。強化學習算法通過將金融市場和交易者分別視為環境和代理來利用這種交互作用。在代理內,不同的RL算法可能會結合使用策略網絡和 Q 網絡。金融中的財務數據和回報可以被視為強化學習中的狀態??和獎勵??,而交易交易可以被視為強化學習中的動作??。
2.5.1 模型無關強化學習。
模型無關強化學習算法是近幾十年來發展起來的一個分支,它允許智能體在不需要了解環境模型的情況下學習。這種學習方法使得智能體能夠通過直接與環境互動來學習如何做出決策,從而實現自我優化。在模型無關的設置中,策略梯度、Q-learning和混合算法在金融市場上得到了廣泛應用。
策略梯度。策略梯度(Policy Gradient)通過直接優化策略來求解強化學習問題。與基于值函數的傳統強化學習算法不同,策略梯度算法通過采樣經驗來估計每個動作的期望回報,并計算策略梯度的估計值,然后使用梯度上升方法來更新策略的參數。在機器人控制、游戲智能等領域得到了廣泛應用。策略梯度算法可以處理連續動作空間、可以直接優化期望回報等。然而,它難以選擇合適的策略參數化形式、難以處理高維度狀態空間等。
Q-learning。Q-learning通過學習一個動作的價值函數(或Q函數)來選擇最優的動作。這個價值函數,用于衡量在特定狀態下采取特定動作的期望收益。Q-learning算法基于一種名為馬爾可夫決策過程的理論,其基本原理是“最大未來折扣回報”。在實踐中,Q-learning已經被應用于各種領域,例如游戲、機器人學、自然語言處理等。它具有很強的適應性,可以處理不同類型的問題,并且不需要環境模型的先驗知識。然而,Q-learning其學習過程可能需要大量的時間和實驗,并且在某些情況下可能會出現探索與利用的權衡問題。
混合算法。混合算法是一種結合了多種不同算法的算法,旨在綜合利用各種算法的優點,達到更好的效果?;旌纤惴ㄍǔ0S機算法、啟發式算法、貪心算法和動態規劃等?;旌纤惴ㄔ谇蠼鈴碗s問題時通常能夠取得更好的效果,因為它可以充分利用各種算法的優點,從而更好地適應不同的問題場景?;旌纤惴梢詰糜谇蠼鈭D的最短路徑問題、機器學習、優化問題、組合優化等。
2.5.2 基于模型的強化學習。
近年來,基于模型的強化學習算法在RL領域越來越受歡迎。這些算法使用參數化的近似器來模擬MDP的動力學,從而可以根據特定狀態和動作獲得獎勵和下一個狀態。相比基于模型的RL算法,它們具有幾個優點,包括提高數據效率、有趣的探索策略、結合本地和全局學習以及在轉移學習場景中的實用性。基于模型的RL已被用于開發幾種交易算法,例如高斯逆RL方法納入投資者情緒,以及使用動力學轉換模型進行訓練并轉移到真實環境的交易策略。此外,基于模型的RL還應用于投資組合管理任務,顯示出盈利性和魯棒性。Briola等人也通過構建使用PPO算法的端到端DRL代理采用基于模型的方法,利用有限的訂單簿數據實現了長期回報。
在事件驅動的股票預測領域,使用指標數據源存在兩個關鍵問題:(1)單個數據源的可靠性低;(2)缺乏對多個數據源之間相互作用和相關性的理解。
為了解決這些問題,Zhang等人開發了一種耦合矩陣和張量分解方法,通過創建定量特征矩陣、構建矩陣、提取事件和情感,并應用耦合矩陣和張量分解,能夠有效地填充稀疏張量中的缺失值,從而進行準確的預測。Xu和Cohen提出了Stocknet模型,利用Twitter數據和前五天價格數據的文本和價格信號來預測第六天的股票走勢。Wang等人引入了基于copula的對偶性對比性預測編碼(Co-CPC)方法,考慮股票類別、行業和相關宏觀經濟變量之間的依賴關系,通過最小化數據和模型的不確定性來捕獲耦合。Duan等人提出了一種目標特定的抽象指導新聞文檔表示模型,用于提取最具信息性的內容。FactorVAE將動態因子模型與使用變分自動編碼器進行噪聲建模相結合,通過將因子后驗因子模型近似為未來信息,可以有效地指導學習過程。
在股票預測領域,機器學習模型使用的數據集因不同股票市場的視角而不太。預測股票價格和價格走勢兩個任務最受關注。大多數使用強化學習(RL)的研究圍繞開發交易策略展開。數據集可分為內在數據和外在數據,內在數據主要包括歷史股票價格、財務指數和技術分析數據等,外在數據則包括文本、基礎數據和工業知識圖譜等。該領域研究使用的數據集涵蓋的時間范圍很廣,從幾個月到十年或更長時間不等,且來自不同地區,以美國市場為基礎,但也包括中國、日本和印度等市場的數據。表1列出了包含國家信息的常用股票市場縮寫。
(1)股票價格。股票價格被認為是股票市場表現的直接反映,并常被用作各種模型中的輸入特征和預測目標。在本調查中,使用股票價格很普遍,但根據模型設計的不同,它以開盤價、最高價、最低價和收盤價等多種形式被使用。
(2)技術分析工具。技術分析工具在傳統的股票分析中很常用,常常通過MACD、RSI等指標來進行股票趨勢的分析。
(3)宏觀經濟數據。宏觀經濟數據反映了特定地區的經濟狀況。與股票市場相關的兩個常用指標是消費者價格指數(CPI)和國內生產總值(GDP)。這些指標可以洞察當前市場狀況,并表明股票市場是處于增長還是衰退階段。
(4)基本面數據?;久鏀祿侵戈P于一個經濟實體的綜合信息,包括財務狀況、公司結構以及與股東共享的其他任何信息。然而,在深度學習模型中使用這種數據時,由于報告頻率低、文本信息結構化不足等限制,只能利用一小部分數據。
(5)知識圖譜。不同行業之間可能存在內在聯系,例如,同一供應鏈上的企業會受到相同新聞的影響。最近的實驗表明,將來自開放源碼的知識圖譜與傳統的股票數據相結合,可以改善模型的表現。
(6)文本信息。文本信息包括廣泛的來源,包括但不限于新聞文章、報告、社交媒體帖子和用戶評論。由于大多數信息是非結構化的,因此情感分析是一種廣泛使用的技術,通過深度機器學習來提取見解??梢詫祿诸悶楦鞣N類別,例如正面、中性或負面,以進行進一步的分析和利用。
表1 股票市場的簡略說明
基于預測目標和數據集構成對輸入特征進行提取和組織,大致可分為四組:時間序列、文本、知識圖等。
(1)時間序列。由于許多模型都依賴于隨時間建模股票價格,因此時間序列數據是股票預測中普遍存在的輸入。預測的具體時間范圍,例如日內或跨日,可以確定所使用數據的粒度,范圍從分鐘級到天級別。此外,在強化學習的背景下,可以將時間序列數據轉換為環境,其中特征可以用于創建狀態和獎勵。這使得代理能夠與環境互動并不斷提高其決策策略。
(2)文本。文本信息包括多種信息源,如新聞和文章。人們認為這種類型的信息會對投資者的情緒產生連鎖反應。不過,在用于模型之前,文本信息必須經過預處理和結構化,因為文本信息可能來源于不同的語言和來源。
(3)圖。行業知識圖譜是最常用的圖,不僅可以展示合作者間的直接聯系,也用來挖掘其內部關系,如上下游供應鏈。
(4)其他。在股票預測任務中使用了不同的數據源,每個數據源都提供了獨特的視角,包括圖像數據和音頻數據。這些數據被用作補充信息,例如,聲音特征,如語調,可以表明說話人的情感。
評估指標在評估股票市場預測模型性能方面具有至關重要的作用,它們被用于比較不同模型所做的預測與實際值。在本文中,我們將現有的評估指標分為三類:基于準確性的、基于誤差的和基于回報的。對于分類模型,常用的評估指標包括基于準確率的指標;對于回歸模型,常用的評估指標包括基于誤差的指標,如平均絕對誤差(MAE)和均方根誤差(RMSE)?;跍蚀_性和基于回報的指標值越大,股票市場預測的效果越好;而基于誤差的指標值越小,性能越好。
表 3 典型論文采用的三種評估方法
基于準確性的評估指標用于衡量分類器的性能。然而,僅僅使用準確性作為唯一的評估指標有時是不夠的,因為它無法反映分類器在不同類別上的性能差異。因此,為了更全面地評估分類器的性能,我們可以使用其他評估指標,例如精確率、召回率和F1得分。
準確率(Accuracy)。準確率是最基本的評估指標,用于評估分類器的整體準確性。準確率指的是分類器正確分類的樣本數與總樣本數的比值。公式如下:
TP(True Positive)表示實際類別和模型預測都是正類的情況。
TN(True Negative)表示實際類別和模型預測都是負類的情況。
FP(False Positive)表示模型預測為正類,但實際類別是負類的情況。
FN(False Negative)表示實際類別為正類,但模型預測為負類的情況。
精確率(Precision)。精確率是指分類器預測為正樣本的樣本中真正為正樣本的比例,反映了分類器對于正樣本的識別能力。公式如下:
召回率(Recall)。召回率是指真正為正樣本的樣本中被分類器預測為正樣本的比例,反映了分類器對于所有實際正樣本的覆蓋程度。公式如下:
F1分數(F1 Score)。F1分數是精確率和召回率的調和平均值,用于綜合考慮精確率和召回率的表現,可以更全面地評估分類器的性能。公式如下:
馬修斯相關系數(MCC)。是一種測量兩個變量之間相關性的統計量,特別適用于非線性關系。MCC的值在-1到1之間,1表示完全正相關,0表示無關,-1表示完全負相關。它被廣泛應用于生物學、醫學、經濟學等領域。公式如下:
此外,還有一些其他的評估指標,如AUC-ROC(ROC曲線下的面積)、基尼指數,還可以采用交叉驗證、混淆矩陣、特征選擇等技術來進一步提高分類算法的性能。這些評估指標各有優缺點,應根據具體的應用場景選擇合適的評估指標。
基于誤差的評估指標是指通過計算預測值與真實值之間的差異來評估模型預測準確性的指標,其中誤差越小表示結果越好。常見的基于誤差的評估指標包括平均絕對誤差(MAE)、均方誤差(MSE)、均方根偏差(RMSE)以及平均絕對百分比誤差(MAPE)等。這些指標可用于評估模型在不同數據集上的預測效果,并根據誤差大小來優化模型參數或調整模型結構。
平均絕對誤差(MAE)。MAE用于計算預測值與實際值之間的平均絕對差值。MAE的優勢在于它可以直觀地反映出誤差的大小,并且對于不同的數值范圍具有一致的敏感性。然而,MAE對于離散程度較大的數據分布可能不夠穩健,而且無法提供關于數據分布的更多信息。公式如下:
均方誤差(MSE)。MSE是衡量預測模型擬合效果的一種常用指標,它計算的是實際值與預測值之間的平均平方誤差,MSE越小,模型的擬合效果越好。公式如下:
均方根偏差(RMSE)。RMSE是一種常用的誤差度量方法,用于評估預測或測量數據的準確性。它計算的是實際值與估計值之間的平均平方根差,可以提供一種量化誤差的方法。RMSE的值越小,說明預測或測量數據的準確性越高。公式如下:
平均絕對百分比誤差(MAPE)。MAPE是一種用于衡量預測或估計模型準確性的指標,它計算預測值與實際值之間的絕對百分比誤差的平均值。MAPE可以用于比較不同模型或不同數據集的預測效果,通常越小表示模型越準確。然而,MAPE有一些局限性,例如對異常值敏感,不能處理負數等。公式如下:
使用基于回報的評估指標有效地評估股票市場預測的準確性。金融中用于評估收益的兩個常用指標是投資回報率(IRR)和夏普比率(Sharpe Ratio)。這些指標的值越高,預測效果越好。
投資回報率(IRR)。IRR是一種用于衡量投資績效的度量標準,它計算當前時間(pt)資產價值與上一時間(pt-1)資產價值之間的百分比差異,再除以上一時間(pt-1)的資產價值。公式如下:
夏普比率(Sharpe Ratio,SR)。SR是一種用于衡量投資回報與風險之間關系的度量標準,它計算投資回報與無風險利率之間的差異與投資回報的標準差之間的比率。公式如下:
其中,????表示回報,????表示無風險利率,??表示回報的標準差。
平均年度回報率(AAR)。ARR是一種用于衡量共同基金的歷史平均回報率的度量指標。與內部收益率(IRR)不同,AAR以年度為基礎計算回報率,適用于評估長期投資的表現。AAR的計算通常涉及將投資期內總回報除以投資期內的平均本金,并乘以投資年數。
股市預測任務極大地促進了機器學習的進步,特別是在自然語言處理(NLP)和強化學習(RL)領域。然而,為了進一步完善和發展該領域,仍然存在一些潛在的研究方向和懸而未決的問題需要解決。
文章轉自微信公眾號@算法進階