機器學習在量化金融領域的誤用!
作者:euler
編譯:高翊程 | 公眾號翻譯部
前言
近年來,機器學習技術和大數據工具在金融和投資界得到了廣泛的應用。在這一成功之後,許多機器學習研究人員決定成立自己的資產管理公司,希望能從中分一杯羹。
這就引出了一個問題:大量的數據和計算能力是征服金融市場所需要的嗎?在本文中,我們深入探討了機器學習(ML)在金融領域的應用和誤用。
兩類機器學習
對於新手來說,所有的ML看起來都一樣。然而,這兩種方式有著明顯的區別:一類是工業巨頭開發的商業應用。比如谷歌、Facebook、亞馬遜、Netflix、蘋果、微軟和特斯拉。這些公司有一個明確的目標:
創造出「預測」,即「黑匣子」:不關心是如何做出預測的,只要能做出最好的預測就可以。
當亞馬遜為你推薦一本書時,「預測」系統並沒有開發出一個有關人類行為的大致理論,以及在各種環境中可能有用的偏好。相反,「預測」系統挖掘大量的數據以找到一種模式,以某種方式選擇一本你特別感興趣的書。這是一種公眾最熟悉的ML應用。
第二類是用於科學研究的ML,這涉及從美國勞倫斯伯克利國家實驗室(LawrenceBerkeley National Laborator)和法國的INRIA等大型研究實驗室的科學家,到世界各地大學的無數個人研究人員。這些研究人員所採用的ML技術的目標是非常不同的:分析數據,識別值得進一步研究的「有趣」現象,並最終產生更好的科學理論。一個好的研究科學家不會把金融科學理論替換為一個金融預言家。(這句話的意思是金融理論相較於演算法更加重要)科學的最終目的不是做出預測或推薦書籍,儘管預測對檢驗和驗證理論很有用,但研究的最終目標是瞭解自然。
相反,「預測」系統使我們處於黑箱之中。,「預測」系統也不能增進知識,我們誰也不能在「預測」系統上建立知識、提煉知識或概括知識。我們可以有一個預言電場行為的「預測」系統,另一個預言磁場行為的「預測」系統,但仍然忽略了電磁學是一個單一物理現象這一基本事實。
為何金融預測系統失效了
有人可能會說,「預測」系統是一種理想的金融應用系統:投資者只想得到回報。他為什麼要關注經濟理論?問題在於,由於多種原因,投資是一種不能被「預測」系統有效解決的類型。
首先,「預測」系統在有數百萬個獨立樣本的任務中蓬勃發展,演算法可以從中學習,新的數據集可以即時生成。你可以在數以百萬計的人臉上訓練一個演算法,而且還會有數以十億計的人臉需要繪製。相比之下,金融時間序列通常較短且高度冗餘(即是所謂的「多重共線性」:多重共線性是指線性回歸模型中的解釋變數之間由於存在精確相關關係或高度相關關係而使模型估計失真或難以估計準確。一般來說,由於經濟數據的限制使得模型設計不當,導致設計矩陣中解釋變數間存在普遍的相關關係。完全共線性的情況並不多見,一般出現的是在一定程度上的共線性,即近似共線性)。
第二,ML演算法依賴於一種假設,這種假設常被金融時間序列所擾亂。例如,金融時間序列經常是非平穩的。在時間序列中,非平穩意味著在一定時期內其並不以「常數分佈」為特徵。非平穩是一個大問題,因為對於一個ML演算法,如果被學習的樣本們是類似的,那麼它只能學習到樣本的特性。類比來說,我們訓練演算法以識別貓臉,則它可能會給狗臉貼上一個錯誤的貓臉標籤。
第三,由於套利的力量,金融市場的信號均衡率非常低。那些我們從中獲利的競爭對手們(韭菜)要麼學習,要麼消失,導致利潤來源的侵蝕。相比之下,自然法則並沒有「被套利走」。
第四,在實驗室裏一邊重複實驗,一邊改變環境變數的時候,確定特定的原因影響機制就成為了一種不可能。例如,我們不能通過添加和刪除特定的參與者來數以千次的重複股災事件以幫助我們找到原因。我們所擁有的只是在那一天所觀察到的一個歷史現象。
因此,「預測」系統在金融領域通常不是很有用。從Kaggle競賽中提取一個演算法,將其插入一組金融時間序列,並期望它預測金融價格,這是最不明智的做法。在選擇正確的金融問題時,有一種技巧可以幫助演算法解答。理論知識對於設定「符合現實的假設」與「一致性假設」是必不可少的。正確的準備數據和解釋中間結果需要金融知識。
過擬合
許多ML研究人員根據「預測範式」來研究金融市場,仔細觀察這些研究就可以發現這種方法的缺陷。例如,一家矽谷的初創公司最近發表了一篇博客文章和論文,該公司開發了金融市場的ML演算法,但其中卻基本上沒有經濟理論做支撐。
這篇文章叫做:《金融市場的平穩性和記憶性》
https://medium.com/pit-ai-technologies/non-stationarity-and-memory-in-financial-markets-4b8d1200667c
簡而言之,文章指出「在一個有限制的時間間隔(無論這個時間間隔有多長)內觀察到一條路徑,不可能檢驗時間序列是否非平穩。因此,你不應該相信任何平穩性測試。」
對於訓練有素的數學家來說,這些大膽的聲明會引發一些危險。平穩性測試是一種數學工具。在某些明確說明的情況下,它們被證明是有效的假設。但是,它並沒有質疑金融假設的有效性,而是否定了測試本身的有效性。用他們自己的話說:
直觀地說,平穩時間序列是一個局部特徵隨時間而保持不變的時間序列。因此,過去幾十年來,它一直是計量經濟學中的一個關鍵假設,因此人們常常認為,從業者在進行任何建模之前,至少在Box-Jenkins思想流派中,應首先使時間序列保持平穩。這並不奇怪,因為一個簡單的原因,(二階)平穩性,作為一個屬性,不能從一個單一的有限樣本路徑被推翻。是的,繼續閱讀以瞭解原因。
大多數科學預測依賴於預測誤差是固定的假設。因此,平穩性測試在所有科學領域都發揮著至關重要的作用。在數學證明中發現任何一個支撐這些測試的錯誤將是一個驚天動地的發現,也許不會在《紐約時報》的頭版上獲得一個標題,但仍然非常重要。但這怎麼可能是真的呢?
發表上述文章的組織沒有指出在數學證明中發現的任何錯誤。相反,它提供了一個如下側所示的圖。如果在一個大的平穩樣本(紅點)中給一個小的非平穩樣本(藍點),平穩性測試將錯誤地得出這個過程是非平穩的結論。