機器學習在選股中應用(Machine Learning for Stock Selection)

機器學習在選股中應用(Machine Learning for Stock Selection)

標題:Machine Learning for Stock Selection

作者:Keywan Christian Rasekhschaffe and Robert C. Jones, CFA

特此說明:文章僅代表作者本人觀點,不應被視為投資建議,所述觀點也不一定代表CFA Institute和作者本人所在公司的看法。原文發自Financial Analysts Journal Volume 75, 2019 - Issue 3,本翻譯未獲CFA Institute及原作者授權,僅為學習參考之目的,請勿以任何形式進行轉載。

信息披露:

Keywan Christian Rasekhschaffe是美國紐約Gresham Investment Management, LLC的高級量化策略師,Robert C. Jones, CFA,是美國新澤西州Summit System Two Advisors, LP 的董事會主席和首席投資官。

作者報告無利益衝突。

開放獲取:

綜述:

在量化金融領域,機器學習已經成為越來越重要和有爭議性的話題。關於機器學習技術能否成為實用的投資工具,仍然存在激烈的爭論。儘管機器學習算法可以發現微妙的,固有的和非線性的關係,但是當研究者試圖從嘈雜的歷史數據中提取信號時,會面對過度擬合的重大挑戰。我們描述了機器學習的一些基本概念,並提供了一個簡單的示例,來說明投資者如何利用機器學習技術來預測股票收益的截面,並儘可能限制過度擬合的影響。

自2008年經濟危機以來,使用量化因子的從業者一直在舉步維艱,很多傳統的因子已經不再有利可圖。結果導致一些從業者試圖尋找超越傳統量化的選股方法。隨著流行的量化因子變得越來越不可靠,很多從業者在開發可以動態的從歷史數據中"學習"的模型。但是,動態模型和特定因素定時方法面對一些有效性的批評(例如,Asness 2016)。多年來,投資者一直在使用諸如迴歸分析之類的計量經濟學技術,但很少有純粹基於這些技術的動態模型獲得了成功。原因可能是財務數據本身就有噪音,這些因子可能是多重共線性的,還有就是因子和回報之間的關係可能是動態的,非線性的和/或上下文相關的。這些特徵使得線性迴歸模型很難估計潛在預測因子和預期收益之間的任何動態關係。

我們相信機器學習算法(MLAs)可以提供比線性模型更好的方法。這些技術已經存在很長的一段時間了。實際上,Frank Rosenblatt在1957年就發明了感知器,一種可以對圖像進行分類的神經網絡。在隨後的幾十年裡,一系列的發展使得機器學習和功能的實用性得以提高:

· 自1970年代以來,計算能力的增長大致符合摩爾定律;

· 數據可用性呈指數級增長,儲存成本也顯著下降;

· 來自諸如計算機科學和統計學的新技術,連同計算能力和數據可用性的提高,催生了強大的新算法。

在金融以外的許多領域,機器學習算法已經被證明比傳統統計技術更加有效。諸如語音識別(如Siri和Alexa的應用),圖像識別(如自動駕駛)和推薦引擎(如亞馬遜的應用)。深度學習算法在許多圖像分類任務中已經超越了人類的準確性。在1997年,一個名為深藍(Deep Blue)的MLA首次擊敗了當時的國際象棋冠軍Garry Kasparov。

它通過高速計算來"蠻力"評估數以千計的可能走法和對抗走法。最近,一個名為(阿爾法零)AlphaZero的深度學習神經網絡使用模式識別技術成為了國際象棋世界冠軍。和深藍被編程以評估不同位置價值的方法不同,它並沒有被給予任何領域的既定知識,它只是在和自己的對弈中自學成才,在短短4個小時內就成為了國際象棋大師。

什麼是機器學習?

機器學習是一系列方法和算法的總稱,它允許機器在沒有顯性編程指令的情況下自行發現模式。在選股的案例中,建模者提供了可能有助於預測未來回報的各種因子,並使用MLAs來學習哪些因素是重要的,以及他們如何與未來回報相關。機器學習提供了一種自然的方法,將許許多多的弱信息源整合成一個比任何來源都強的複合投資信號。

近年來,計算機科學家和統計學家開發並精進了幾種機器學習算法,例如梯度增強迴歸樹,人工神經網絡,隨機森林和支持向量機(定義參加附錄A)。這些算法大多有兩個重要的性質:

1. 它們可以發現複雜的模式和隱蔽的相關性,包括非線性和上下文關係,這些關係通常很難甚至不可能用線性算法檢測到。

2. 在存在多重共線性的情況下,它們通常比線性迴歸更加有效。

雖然關於機器學習技術在金融領域的應用研究比較活躍,但是該領域的許多論文都是側重於某個特定算法的應用。Wang and Luo(2012)提供了使用AdaBoost算法預測股票收益的詳細概述。Batres-Estrada(2015)和Takeuchi and Lee(2013)探索了利用深度學習來預測金融時間序列的方法。Moritz and Zimmerman(2016)使用樹基模型來預測投資組合的收益。Wang and Luo(2014)證明了不同的訓練窗口的組合預測是有效的。Heaton, Polson and Witte(2017)討論了深度學習模型在智能索引中的應用。Alberg and Lipton(2017)提出預測公司基本面(如收益或銷售)而不是回報(因為在預測基本面時信噪比更高),這使得他們可以使用複雜的機器學習模型。

一些文章研究了將非線性模型用於時間因子迴歸的好處。Miller, Ooi, Li, and Giamouridis (2013) and Miller, Li, Zhou, and Giamouridis (2015) 發現了在預測因子回報的時候,分類樹模型比線性迴歸模型更加有效。他們還提出證據表明綜合了線性和非線性的模型甚至更有效。此外,他們證明了包含這些因子預測的截面模型可以表現的比靜態因子模型更好。我們在這項研究中得出了相似的結論,但我們使用了不同的方法。不同於明確的預測單變量多空因素投資組合的收益,我們使用了截面因子分數(特徵)來預測收益的截面。

Gu, Kelly, and Xiu (2018)檢驗了機器學習技術在資產定價方面的有效性問題。作者使用了大量的公司特徵和宏觀變量來預測個股的收益。由於他們使用了總收益而不是超額收益作為因變量,他們合併預測了預期回報和股權溢價的截面。他們檢驗了各種機器學習方法的表現,發現和普通最小二乘迴歸(OLS)相比,非線性預測方法顯著提升了精度。他們將這一進步歸因於機器學習發現非線性模式的能力,以及它們對多線性預測器的魯棒性(抗干擾性)。儘管我們的結論是相似的,我們只關注了與股票風險溢價無關的超額回報截面。因此,我們只使用了個股特性並排除了宏觀變量。我們相信這種方法可以減少噪音和過度擬合的風險。與Gu et al. (2018)一致,我們發現許多機器學習算法的性能優於線性迴歸,但是相對於單個算法的性能,我們更關注與將不同算法和訓練窗口相結合的好處。我們發現,預測組合的表現優於美國和其他地區的成分股。

過度擬合的危險

當模型選擇了噪音而不是信號時,過度擬合就會發生。過度擬合模型有很好的樣本內表現,但面對樣本外數據的時候預測性就很差了。雖然機器學習技術能夠揭示歷史數據中的微妙模式,但過度擬合始終是一個重要挑戰。當一個人在訓練某種算法的時候,在數據中發現模式和能夠適用於樣本外同樣重要。因子和回報之間的關係通常是嘈雜的,有很多潛在的因素存在,這增加了問題的維度。相比之下,很多應用了機器學習的其他領域,例如圖像識別,具備很高的信噪比。例如,一些圖像分類任務(例如對貓和狗進行分類)的錯誤率低於1%。

由於用於預測股票回報的信噪比較低,避免過度擬合顯得尤為重要。圖1展示了使用模擬噪音數據的梯度增強迴歸樹分類器的樣本內和樣本外錯誤率。樣本內的錯誤率總是低於樣本外的錯誤率。隨著助推迭代次數的增加,誤差在樣本內通常不斷減少,

在大約400次的助推迭代之後,誤差變得可以忽略不計。而與之鮮明對比的是,保持樣本的錯誤率先是下降,在大約50次迭代之後反而會上升。這就是算法開始過度擬合數據的地方。

機器學習在選股中應用(Machine Learning for Stock Selection)

注:使用模擬噪音數據。注意x軸上的更多迭代允許算法更好的適應過去的數據。

與預測股票收益相比,模擬樣本具有較高的信噪比。由於信噪比較低,樣本外結果的偏離速度要比樣本內快得多。

然而,這個樣本說明了基於訓練集評估預測表現的風險:過度擬合使得結果看起來比實際應用上要好得多。接下來,我們將探討兩種可以幫助減輕過度擬合風險的方法:預測組合(forecast combination)和特徵工程(feature engineering)。

預測組合 Forecast Combinations

許多成功的機器學習算法是依賴於bagging(如隨機森林)或boost(如AdaBoost)的集成算法。這些集合算法從許許多多弱學習者那裡獲得許多預測,並將這些預測集合起來生成一個強學習者。Dropout(見附錄A和Srivastava and Hinton 2014)是一個與這些集成算法相關的工具,用於防止神經網絡中的過度擬合,也納入了模型平均的概念。我們相信,通過將不同類型算法的預測綜合起來,並在不同的數據子集上訓練它們,就可以實現更大的多樣性。如果在很多訓練子集上訓練的很多不同算法都能夠找到相似的模式並得出相似的結論,我們就可以更加確信預測是強健的,而不是過度擬合的結果。

預測組合的有效性在統計文獻中有廣泛的記錄。Clemen(1989)早在1989年就總結了關於預測組合的實證證據:

結果幾乎是一致的:將多個預測綜合起來,能夠提高預測的準確性……在許多情況下,人們可以簡單的通過對預測結果取均值來獲得顯著的性能改進。

Makridakis and Hibon(2000)在一項對3003個時間序列進行預測的競爭中進行了分析,結果表明,綜合預測組合通常優於成分預測,甚至比最高的成分預測還要好。Timmermann(2006)提供了一個分析框架來確定什麼時候綜合預測組合可能會更有效,即,當不同的預測者使用不同的數據或技術時,預測的偏誤相關性較低。在這些情形下,綜合預測可以提供更高的信息和更少的噪音。

當然,傳統的多因素模型已經包含了多種預測,因為不同的因子代表了不同的預測。但是,在這裡建議的方法是,通過包含許多不同的預測技術,訓練子集和多重因子,可以進一步提升這一概念。

我們可以在以下幾個方面提升預測的多樣性。

綜合不同類型算法的預測。很多機器學習算法,特別是集成算法(例如隨機序列)——已經用於綜合預測以獲得比單個算法更好的結果。通過集合不同類型的算法,我們應當能夠檢測出特徵和標籤之間不同類型的關係。

綜合不同訓練窗口的預測。不同窗口的預測可以反映不同的市場狀況,並且相關性通常較低。窗口可以在時間,季節或條件的基礎上自定義。結合來自不同訓練窗口的綜合預測也可以降低預測方差,並潛在的增加了風險調整後的收益。

綜合不同因子庫的預測。通過將一個大的因子庫劃分為多個子集,算法可以更好的探索更多的模式,這有可能帶來新的見解。

綜合不同期限的預測。分辨不同期限內的不同因子是很重要的。例如,基本面因子通常對長期投資更為重要,而技術面因子通常對短期投資更具預測性。

特徵工程 Feature Engineering

特徵工程使用領域知識來構造問題,以便可以使用機器學習解決方案。這些工程需要大量的專業知識,可能既困難又耗時,但是對開發強健(魯棒)的預測至關重要。特徵工程決定了我們最終需要算法來解決哪些問題,以及我們使用哪些算法來解決這些問題。這是克服過度擬合的最有效方法之一,因為它允許我們在訓練算法之前就提高信噪比。

特徵公式是領域知識流入流程的地方。在選股方面,它可以決定這樣的問題:我們試圖預測什麼?哪種算法可能是最有效的?哪些訓練窗口更有幫助?我們應當如何標準化要素因子和回報?以及哪些要素因子可能提供有價值的信息?

在接下來的材料中,我們會簡略的討論其中一些問題。目的是提供一個概述,而非全面的討論。這些決策之間可能存在的差異,就像金融建模者的專業知識和想象力的距離一樣大。然而,最終努力是否成功還是取決於決策的質量。

我們在預測什麼?為了限制過度擬合的風險,通常最好的方法就是使用機器學習算法來預測離散變量。相對於線性迴歸預測回報,MLAs通常預測的是具體類別——較好表現者和較差表現者之間的差異,這個相對回報來說沒那麼嘈雜。用戶可能希望選擇其他類別,例如市場表現,或者更多的類別來反映不同水平的表現,但是每增加一個新的類別都會增加過度擬合的風險,並可能只能提高一點點準確性,就像股票回報這類嘈雜的數據一樣。

在選擇類別之後,第二個決策就是如何定義這些類別。如果我們的回報的截面感興趣,我們可以通過在訓練集的每個日期將股票分為表現較好者和表現較差者來定義類別。我們也可以在部門或行業內部定義這些類別以減少噪音。以類似方式進行標準化因子(即特徵)通常是可取的。大多數投資者都希望能夠超越淨風險,所以很自然的,可以將風險調整的超額收益定義為表現類別。這些類別可能包含簡單的波動調整回報或適當風險模型中的阿爾法,例如資本定價模型(CAPM),Carhart(1997)四因素模型、Fama and French(2017)五因素模型,或Morozov、Wang and Borda(2012)中描述的MSCI-Barra模型。利用風險調整後的回報率可以提高信噪比,從而提高對時間和市場領域的預測。

第三個決策涉及預測的期限。選擇預測的期限意味著對這個期限進行優化。短期限適用於低容量,高週轉的策略,長期限則更適合高容量,低週轉的策略。短期限提供了更多的訓練週期,這有助於在嘈雜的數據中發現微妙的模式。預測期限還應當反映潛在數據(或因子)的頻率,一個適當的預測週期從一天到一個季度不等。

我們應當使用哪種算法?維基百科列出了100多種機器學習方法,並且還在不斷的增加中。機器學習是一個快速發展的領域,討論那麼多種算法的優缺點遠遠超出了本文的範圍。但是,通常來說,我們希望我們最終的預測當中包含了使用各種技術的各種算法。事先是不可能知道回報和特徵之間的確切關係的。將來自不同類別算法的預測組合在一起,可以有效防止錯誤設定。這在處理金融數據的時候尤為關鍵,因為在這類數據當中,信噪比很低,而且很難用經驗高度確定它們之間的關係。

集成方法在金融數據和其他領域的應用當中展現出良好的前景。其目標是使用等權重預測(bagging)或準確權重預測(boosting),將較弱的學習者綜合起來,從而產生一個強的學習者。強學習者往往比其組成部分的任何弱學習者表現的都要好。Boosting和bagging都可以解決監督學習所會遇到偏差和方差權衡的問題。偏差來自於估算方法不能有效捕獲數據中的基本面關係(欠擬合)。方差則是由於訓練集的微小變化導致的誤差,這意味著估計者沒有學習樣本以外的關係(過擬合)。

引導聚合(bagging)在訓練集的隨機子集上獨立的適用於估算器,例如決策樹(弱學習者)。每個弱學習者都是過度擬合的,但是當弱學習者被綜合成一個強學習者的時候,過度擬合產生的錯誤會降低。依序進行強化訓練,使得估計量適合訓練集,並在後續的強化訓練中對錯誤分類的結果予以更大的權重(參見Schapire 1990)。強學習者是弱學習者精確的加權平均。通過給予更成功的學習者以更大的權重,boosting算法可以消除偏誤。如果我們允許boosting算法過於激進的提高成功學習者的權重,這種好處就會被隨之不斷增加的方差所抵消掉。因為這種權衡的存在,boosting算法往往會比bagging算法需要更多更仔細的參數調整,並且保守的學習率更適合於樣本外的股票選擇。大部分boosting算法的訓練時間比bagging算法要長,因為它們必須按照順序運行,而bagging算法可以並行運行。

Boosting和bagging都可以集成不同的基本算法作為它們的弱學習者。不同的算法可以捕獲不同的數據特徵。一些算法比較簡單和線性;其他的可能非常複雜,可能能揭示高度非線性的關係。此外,儘管我們往往更希望捕獲的是複雜性,但是和簡單算法相比,複雜的算法往往需要更高的信噪比和更多的訓練數據才能夠有效的學習。使用複合算法和方法旨在捕獲簡單和複雜的關係,並最小化過度擬合的風險。

一般來說,建模者應當關注那些在有噪音的數據上被證明可以成功的算法,以及那些有眾所周知優缺點的算法。作為一個實際的問題,一個好主意是使用軟件庫裡有的那些算法,並在各種應用當中進行了測試。但是,如果不進行進一步的參數調整,僅僅使用現成的算法是不太可行的。因為在選股當中信噪比往往較低,算法常常會需要做參數化,從而嚴重限制了算法過度擬合的可能性。與所有的投資策略一樣,從業者應當避免在樣本中優化模型。

我們應該使用哪些訓練窗口?一般來說,我們希望用於算法訓練的數據可以反映預期的未來環境。例如,我們可能希望使用與預期環境時間相似的訓練子集,表現出類似的宏觀經濟條件(例如估值水平,流動性或增長動能),或者在一年中的同一時間發生(捕獲季節性)。相反,如果我們對預期的未來環境不確定,我們就會希望在儘可能更大,更長和更廣泛的數據集上進行訓練,以捕獲各種可能的環境。但是,這種方法需要更長的運行時間,而且可能無法捕獲特定週期的模式。

另一個需要考慮的就是模式的截面變化。例如,如果我們認為不同的地區或行業會表現出不同的因子和回報關係,那我們就需要針對這些不同的地區和行業分別訓練算法。相反地,如果我們把訓練集拆的過細,那過度擬合的風險就會上升。例如,為美國股票和日本股票分別設定訓練集可能是有道理的,但為美國科技股和日本汽車股分別設定訓練集就太誇張了。

我們應當包含哪些因子?領域知識對選擇因子和構建因子以提高信噪比都是至關重要的。為了最小化運行時間並限制過度擬合,從業者應當只給算法提供可能與未來股票回報相關的數據。這些數據包括與未來經濟成功有關的因子(基本面因子)和未來供需有關的因子(技術面因子)。由於MLAs通常很擅長處理共線數據,如果我們無法確定哪些因子是最相關的,那我們可以納入許多相似的因子,儘管太多的相似因子會增加運行時間。

領域知識也有助於在結構化數據的時候最大化信噪比。如果目標是選擇個股,而非選擇行業或部門,我們應當相應的調整數據。對許多因子來說,將其對行業或部門中立化有助於減少方差,而且不會顯著的降低平均因子回報(見Asness, Porter, and Stevens 2000)。因此,在行業的層面中和因子可以提高信噪比,使算法可以更容易瞭解因子和預期收益之間的關係。

一個案例

在本節中,我們將介紹一種股票選擇的方法,使用了之前在截面設置中討論過的一些技術。我們的目標是展示機器學習在股票選擇上的一般能力,而非討論與特徵工程相關的任何特定決策的有效性。從業者有非常大的空間來應用他們自己的專業知識並可以取得比這裡報告的更好的結果。

數據

表1提供了實例的彙總統計信息。它囊括了22個發達市場的小、中、大盤股,月平均5907支個股。我們的因子庫由194個因子組成(公司特徵),它們由IHS Markit從不同的來源收集而來。我們包含了21個深度價值因子,18個相對價值因子,10個關注收益質量的因子,26個關注收益動量的因子,26個關注歷史成長性的因子,35個流動性因子,29個管理質量和盈利能力的因子和29個技術面價格因子。超額收益的定義是高於無風險利率的收益,來自Barra。我們的樣本期是1994年到2006年,從2004年開始(留出10年的訓練期)。預測的期限和數據頻次均為月度。綜合不同期限的預測可能是有益的,但我們為了提供足夠的訓練集並與典型的因子研究維持一致,選擇了以月度為期限。我們給模型預測和交易之間留出了兩天的餘量,以適應運行時間和參數調優。

機器學習在選股中應用(Machine Learning for Stock Selection)

注:股票的平均數量代表樣本中每月股票的平均數量,美國的數據始於1988年,其他數據均始於1994年。

特徵工程

表2概述了在前進框架中每月執行的一般工作流。我們首先定義了三個訓練集:

1. 最近的訓練集包括了之前12個月的所有數據。

2. 季節性訓練集包括了過去10年同一日曆月的所有數據。

3. 對沖訓練集以之前兩套訓練集為基礎,包括了10年期內表現處於下半部分的那些數據。

單個月度數據有可能出現在多個訓練集當中。例如,去年某月的數據會同時出現在最近訓練集和季節性訓練集當中。

機器學習在選股中應用(Machine Learning for Stock Selection)

注:每個月,會根據歷史數據創建三個訓練樣本:最近的,季節性的,對沖的。然後,我們應用了包括標準化區域特徵和行業的特徵在內的特徵工程。我們還根據地區/行業將股票分為了贏家和輸家。當接收到新的特徵數據時,我們對其應用於訓練集相同的特徵工程步驟,並使用之前訓練過的算法來生成預測。

我們開發了這些訓練集,並作為四個獨立區域分別訓練了我們的算法:美國,日本,歐洲和除日本外的亞洲。每個日期的所有因子都是按照地區和行業分類的百分比排序。我們通過將每支股票的超額收益除以其過去一百天的波動率,創建了風險調整後的超額回報率。根據風險調整後的收益率,我們將股票按照地區/行業分為贏家和輸家兩部分。

下一步,我們在每個區域性訓練集上訓練了四種不同的算法——一個使用AdaBoost的bagging估算器,一個梯度增強分類和迴歸樹(GBRT)算法,一個神經網絡,一個使用支持向量機的bagging估算器。

一個使用AdaBoost作為基礎學習器的的bagging估算器。AdaBoost使用了決策樹樁或最大深度為1的樹作為基本估算器。我們進行了50次助推迭代,學習率為1。然後我們使用了一個結合了20個隨機AdaBoost預測的bagging估算器。該算法由scikit-learn庫實現。

一個梯度增強分類和迴歸樹算法。我們使用XGBoost分類器進行GBRT綜合預測,學習率為0.05,我們使用了300次助推迭代。我們還將樹的最大深度設定為3來限制過度擬合。通常來說,我們發現低學習率會帶來不錯的結果,只要他們被大量的助推迭代所綜合補償。但是,大量的助推迭代確實增加了運行時間。

一個神經網絡。我們使用TensorFlow庫實現了一個多層感知器。我們使用了4層,包括一個瓶頸層來限制過度擬合。此外,我們在第一層之後應用了20%的dropout。我們使用"tanh"來激活函數,因為我們發現它們在我們的訓練集上的預測精度始終優於通常選擇的"ReLU"激活函數。

一個使用支持向量機作為基礎學習器的bagging估算器。我們使用徑向基礎函數 (RBF)核,並結合了20個支持向量機(SVM)模型的預測,它們使用了scikit-learn bagging估算器。對支持向量機(SVM)來說,計算預測類概率是非常昂貴的,所以作為替代,我們選擇了決策函數輸出,該輸出傾向於與概率成正比。

AdaBoost和SVMs都相對較慢,也難以並行化。使用這些MLAs作為bagging(而不是boosting)估算器的基礎學習者可以顯著的縮短運行時間,因為他們可以在多個CPU上運行。對於每一類算法,我們在訓練窗口都使用同樣的訓練參數。參數在2004年之前選擇。

對於這12個模型(3個訓練窗口*4個MLAs),我們得到了每支股票和每個月的超額表現概率(這些是連續變量)。在最後一步當中,我們對每個地區/行業中每個日期的12個預測分類概率進行了百分位排序,並取其平均值以得到了綜合機器學習信號。

我們還分析了兩個基準模型。第一個模型使用的預測來自一個在12個月滾動窗口上訓練的OLS模型,該模型與其他機器學習模型的因子相同,並按照日期,地區和行業進行Z評分。第二個模型當中,我們通過模擬每個因子的十分位差,來遞歸確認每個地區每個日期下夏普比率最高的10個因子;對於每支股票,我們將前10個因素的得分取平均值。在未報告的結果當中,我們發現將所有候選因子等權重處理表現的明顯更差,所以我們選擇使用更具挑戰性的基準。

結果

我們根據綜合信號,將股票分為十分位數。然後,我們通過計算頂部和底部十分位的差值(即長短組合)。對於一種變體,我們在每個十分位數中對股票進行等權重加權;對於另一種變體,我們使用每支股票的100天曆史標準差來衡量我們的頭寸。

圖3顯示了對美國地區和世界其他地區(ROW)進行綜合預測的好處,這基於積累十分位價差回報。在這兩個地理區域當中,粗的線表示對應的十分位差,而細的線表示按算法或者按訓練窗口分組的十分位差。在這些圖中,我們展示了風險加權變量,但和等權重變量的結果在性質上是相似的。對於所有的算法和訓練集而言,結果都是強的,但綜合預測的結果甚至更強。訓練窗口多樣化的好處表現的尤為明顯。

機器學習在選股中應用(Machine Learning for Stock Selection)

機器學習在選股中應用(Machine Learning for Stock Selection)

注:該圖顯示的是不包含各種預測子集積累的十分位差收益。在每個十分位當中的股票都以其100天波動率的倒數來加權。算法子集在給定的算法下應用於所有的訓練窗口;訓練窗口子集使用給定訓練窗口的所有算法。綜合預測則使用了所有的訓練窗口和算法。

機器學習在選股中應用(Machine Learning for Stock Selection)

注:該模型使用XGBoost,期限是2006年12月到2016年12月。IndRelRtn5D是過去5天的行業相對回報率。IndRelRtn4W是過去4周的行業相對回報率。Sigma60D是將一支股票60天的日回報率和行業回報率進行迴歸得出的殘差的標準差。SIP是指賣空股票股票數量佔總流通股的比例。VolDiff_PC是平價看跌期權和看漲期權之間的隱含波動率之差。DR_1MStd是一個月的回報波動率。股票評級是分析師們對該股的普遍評級。

在圖3中,我們使用了十分位差來衡量各種預測方法的表現。由於其非線性的特質,機器學習算法沒有可解釋的係數,但我們可以定期梳理那些貢獻最大的。圖4顯示了美國區域梯度增強分類樹的平均重要特徵(10個最重要的特徵),這是通過檢查一個特徵在樹中出現的頻率和級別來評估的。因為樹是有條件的,這個度量並不表示相關性信號。儘管它有許多的限制,但這類分析仍然可以提供重要的洞見,並且幫助從業者判斷一個算法是否合理。

我們在表2中報告了所有模型的和綜合模型的ICs 列(信息係數)和t檢驗。IC衡量的是Spearman排名——股票排名和未來回報之間的關係,這涵蓋了所有的預測,而不僅僅是極端的十分位數。正如圖2所示,綜合預測表現的比所有算法/訓練窗口的組成部分都要更好,這說明了綜合預測的好處。這些結果與圖3所示的結果的一致;也就是說,ML組合提供了比任何單獨的算法/訓練窗口組合更好的結果。它還輕鬆的超過了OLS基準和一個對夏普比率最高的10個因子進行等權重加權的基準。

機器學習在選股中應用(Machine Learning for Stock Selection)

機器學習在選股中應用(Machine Learning for Stock Selection)

注:MKT是Fama-French(1992)的市場風險因子。

機器學習在選股中應用(Machine Learning for Stock Selection)

機器學習在選股中應用(Machine Learning for Stock Selection)

注:該表顯示了月度平均超額回報和阿爾法。"美國區"的標籤包括美國股票;"ROW"(世界其他地區)標籤包括其他所有地區股票。在B版中,交易成本假設為單邊15個基點。

表3展示了某些MLA組合和Fama and French (1992) 市場風險因子 (MKT)之間的相關性。有趣的是,等權重的美國十分位利差與市場存在很強的平均負相關性,這意味著該投資組合往往是做多低貝塔係數,以及做空高貝塔係數。然而,正如我們稍後討論的,這些相關性和敞口會隨著時間變化。當我們使用風險加權時,我們得到的市場因子平均相關性要小得多。由於我們的預測傾向於做空高波動性的股票,風險加權頭寸規模導致投資組合略微出現了美元淨多頭,從而抵消了與市場平均負相關性的大部分。

表4顯示了各種十分位差的月平均表現是如何與最初的三個Fama-French因子相關的,即——MKT,SMB(小市值減大市值),HML(高市帳率減低市帳率)和Carhart(1997)的動量因子(MOM)。在A版中,結果為交易成本總額;在B版中,結果是交易成本淨額。在A版中,風險加權投資組合的超額回報和阿爾法往往更大一些,無論是在美國還是其他地區。這個結果並不令人驚訝,因為我們訓練了MLAs來預測按其標準差縮放的回報。等權重的十分位差顯示出非常顯著的回報和阿爾法,但它們的負市場敞口降低了它們的原始回報。這方面也同樣反映在美國地區等權重組合相對較高的R方中,這表明這個投資組合大部分的方差都可以用四個風險因子來解釋,最明顯的是市場因子。

表4還包括了使用相同特性但使用線性迴歸來預測股票回報的基準策略的結果。這個OLS基準策略的結果是正值,但是機器學習的平均回報和阿爾法要大得多。T檢驗的差值越來越大,這表明MLA策略在風險調整基礎上更具優勢。我們還研究了一種策略,即找出每個時點上夏普比率最高的10個因子,並將其等權重加權。這種樸素策略的結果往往比OLS基準的結果更好,但機器學習組合在美國和其他地區的表現都明顯更好。

雖然我們不建議將這些結果解釋為一個成熟的交易策略,我們還是探討了納入交易成本是否會對結果產生重大的影響。扣除交易成本之後的結果列示在表4的B版,我們發現阿爾法還是挺顯著的。

有趣的是,機器學習組合通過對價值因子(HML)和小盤股因子(SMB)表現為負值,但是隻有美國地區等權重下,SMB因子才是顯著的。這一結果表明,積極的結果並不是由共同的風險因子驅動的。動量載荷因子(MOM)在美國地區是正的,對其他地區是負的,但是同樣,只有在美國地區等權重下才是顯著的。這些結果證實了投資組合的結構可以對組合風險產生顯著的影響。

因為阿爾法的重要性不亞於超額收益,因此四因子模型可能無法解釋機器學習策略的回報。相反,MLA組合可能從其他因子中提取信息,或者利用線性風險模型中沒有捕捉到的因子回報的時變關係。

在樣本期內(1994-2016),股票市場中性基金的回報相對較低。例如,對沖基金股票市場中性指數,在2004到2016的月度回報僅為0.24%。在同一時期,所有的機器學習十分位差在估算交易成本後的月度回報都超過了1%。

機器學習在選股中應用(Machine Learning for Stock Selection)

注:月度回報基於對滯後的公司特徵和ML預測進行迴歸。在等權重規範下,因變量是超額收益;在風險加權規範下,因變量是按照100天跟蹤標準差進行縮放後的超額收益。

機器學習在選股中應用(Machine Learning for Stock Selection)

機器學習在選股中應用(Machine Learning for Stock Selection)

表5當中,我們報告了Fama and MacBeth(1973)基於原始月度超額回報和波動率(風險加權)成反比的綜合機器學習預測的多元迴歸係數。我們控制了一連串的流行的動量因子,並分別對美國地區和世界其他地區進行分析。所有的變量都被標準化處理過,以使參數具有可比性。表5顯示,即使控制了許多流行的定量因子,機器學習綜合預測仍然與所有規格的收益呈顯著相關。或許令人驚訝的是,少部分的控制變量仍表現出適度有效。如果算法有效的利用了這些因子中蘊含的信息,我們可以預期控制因子能夠提供的增量價值很小。然而,這些算法只考慮了時間點信息,而事後識別成功因素要比事前發現來的容易的多。

表6當中,我們報告了MLA組合多空兩端的收益和四因素阿爾法。與Gu et al.(2018)提到的類似,我們發現大部分的出色表現來自多端。這一發現並不令人驚訝,因為這段時期的股票市場表現的非常好。無論是在美國地區還是世界其他地區,阿爾法在多空組合中都表現顯著。然而,獨立的去觀察多端和空端都無法看到全局。表4顯示的多空組合,阿爾法的t檢驗就比表6顯示的純多和純空組合要來的顯著的多。因為我們限制了機器學習的算法來預測風險和行業的標準化收益,十分位差則消除了大部分行業風險和特質性波動,並增加了風險調整後的收益。這一結果表明特徵工程的潛在好處。

機器學習預測的一個潛在好處是,算法可以動態的學習因子和回報之間的變化關係。表5顯示了美國區域機器學習綜合預測和Fama-French-Carhart因子之間的月度截面相關時間序列。顯然,表3當中的平均相關性並不能說明全部問題;所有這些相關性都存在顯著的時間變化性。例如,儘管平均呈正相關,但我們看到機器學習預測和動量在三個時期呈負相關:(1)樣本開始階段;(2)2009到2011年間;(3)2013到2015年間間歇性存在。這些負相關的時間段往往與動量顯著表現不佳的時段相一致或者緊隨其後。例如,在Daniel and Moskowitz(2016)記錄的動量崩潰之後,動量敞口變成了負值,在2010年的幾個月中,截面相關性圍繞在-0.3左右。如前所述,規模和貝塔的平均相關性往往為負值,但它們隨著時間的變化波動相當大,偶爾會出現正值。

儘管精確的確定機器學習策略的阿爾法有多少是來自因子定時是很困難的,這些因子敞口還是顯然比在典型的線性因子模型中發現的敞口模式更具變化性。

結論

我們討論了從業者如何利用機器學習算法來選股,同時避免這類技術的主要問題——即過度擬合。在低信噪比的狀態下,過度擬合始終都是一個風險,特別是對於MLAs這樣的技術,結構對分析的影響很小。然而,因為他們不需要結構,MLAs技術可以發現複雜的非線性模式,而傳統的統計技術(例如OLS)卻很難發現。在必須考慮多重共線因子時,它們的表現也往往比OLS技術更好。

我們討論了降低過度擬合風險的兩種主要方法——特徵工程和綜合預測。特徵工程可以通過正確構造問題和轉換數據以產生更清晰信號的方法來提高信噪比。綜合預測通過關注不同的預測技術(MLAs)和訓練窗口之間具有強健(魯棒)的關係來降低噪音。一個成功的機器學習應用需要大量的專業領域知識來解決這些問題。MLAs並不會很快取代人類專家(至少在投資方面不會)

在最後一節中,我們列示了基於所提出的一些技術的一項案例研究。我們證明了,如果應用得當,MLAs可以廣泛使用公司的各種特徵來預測股票回報,而不會過度擬合。通過合理的特徵工程和綜合預測,MLAs可以產生大大優於OLS等簡單線性技術的結果。這些MLA結果在各種風險調整下都是強健(魯棒)的,並且在美國市場和其他發達國家市場都表現良好。雖然準確的評估是哪些信號驅動了這些結果是困難的,我們還是證明了傳統的因子敞口隨時間的變化很大,這意味著因子定時對這些積極的結果貢獻很大。

本文的主要貢獻如下:(1)討論了特徵工程和從業者使用機器學習模型進行股票選擇時面臨的一些問題;(2)證明了使用這些技術進行綜合預測的好處。特別的,我們強調了從多種算法和訓練窗口進行綜合預測的好處,並表明MLAs可以提供優於簡單線性模型的結果。

編者注

2018年7月19日提交,Stephen J. Brown 於2019年1月30日接受,2019年5月13日在線發佈。

譯者注:

2019年11月24日翻譯結束。如有錯漏歡迎指正。

因原文鏈接需要權限,希望獲得原文及Notes,Appendix的朋友請留下郵箱地址或留言聯繫。


分享到:


相關文章: