開發金融應用場景,機器學習的技術短板在哪裡?
目前機器學習在金融上擁有各種應用場景,全球頂級公司也在這方面投入了大量人力物力,但是機器學習是萬能的嗎?它有哪些缺點?這些缺點對金融應用有什麼影響?在此我們從技術和實際方面做一個簡單探討。
一、投資策略的魯棒性
大部分金融研究人員和從業人員都牢記一句話“過去不代表未來”(當然,技術分析派例外),以此來說明金融的易變性。確實,從交易層面來講,金融是多變的。也就是說,金融市場是有效的。太多的人質疑國內市場的有效性,這是不對的。實際上中國市場非常有效。為什麼呢?因為絕大部分人都不賺錢,包括基金經理。嚴格來說,如果基金經理沒有獲得長期顯著的超額收益,就可以認為市場是半強有效的。無法獲得超額收益是一個優秀市場的基本特點。
金融市場是多變的,但是投資策略要求是魯棒性(Robustness)的,也就是策略要求長期穩定盈利,這個“長期”可能是數十年,這是策略開發人員的終極目標。這看似悖論,但其實並不相悖。 只有經得起時間檢驗的投資策略才值得投資 。投資策略基於金融研究,所以要求金融研究也是魯棒性的。
金融研究中Markowitz的投資組合理論於1952年提出,Black和Scholes的期權定價模型於1976年提出,Shiller的股價過度波動現象於1981年提出,Fama和French的三因子模型於1993年提出……雖然這些理論經過幾十年的發展都有所改進,但是其理念依然被人推崇,至今仍有無數人採用。這些長青的理論只是金融研究的冰山一角,能夠保持持續生命力的研究結果和研究方法才是金融研究人員所追求的。這些研究結果和研究方法保證了投資策略的魯棒性。
有人可能會說,如果我的策略只在這幾年賺錢,之後我再研究新的策略,不可以嗎?回答是:可以,但是你怎麼保證自己的策略在未來幾年能賺錢?僅僅依靠之前的模擬結果嗎?可能你的策略從明天開始就虧錢。如果想讓投資者相信你的策略,只能靠可解釋性,也就是你的策略是合乎邏輯的,並且這個邏輯是經得起時間檢驗的。
舉例而言,假設某投資者家門口有條河,他每天都從河邊經過,發現只要是看到有魚出沒,第二天的股市就漲;反之,第二天的股市就跌。經過一段時間的記錄,他發現這個規律正確率高達80%。從結果上看,這無疑是一個很好的策略,但是他敢用嗎?別說是記錄時間是一年,即使是十年,投資者也不敢以此投資。這是資料探勘。理論上來說,只要獨立變數足夠多,就可以100%解釋股票市場的漲跌。但是,沒用!不可解釋性是金融市場最大的天敵。不可解釋意味著無法保證投資策略的魯棒性。成熟的投資者都知道,投資策略的魯棒性比結果更重要。因為投資者需要知道自己在賺什麼錢,而不是憑運氣。
那種持續賺錢的策略有沒有呢?這跟信仰有關了,就跟基本面分析是否能賺錢一樣。至於這種策略如何實現,從金融研究的角度來看,關鍵在於投資邏輯的合理性和可變性。投資邏輯的合理性保證了策略的賺錢效應,邏輯的可變性保證了策略的持續效應,兩相結合才有可能產生優秀的投資策略。
總結一下,投資策略的魯棒性比結果更重要;構造魯棒性的投資策略是策略研發人員的終極目標。
二、機器學習的脆弱性
再說機器學習。機器學習不算一個新生事物,經過兩次興盛和衰敗,機器學習迎來第三次高潮。這次機器學習爆發的原因是大資料和計算能力的提高。畢竟資料量大能從一定程度上避免“過擬合”,計算能力的提高保證了學習的複雜度。
目前,機器學習仍然是一個處於發展之中的學科。從深層神經網路(DNN)到卷積神經網路(CNN)和迴圈神經網路(RNN),機器學習方法已經成為非常流行的預測方法。在應用方面,機器學習已經成功應用到語音識別、自然語言處理(NLP)、計算機視覺、知識圖譜等多個方面。可以說,機器學習將會擁有更多的應用場景,前景無限。
這裡我們主要談機器學習的脆弱性問題。這裡所定義的 機器學習的脆弱性問題指的是對於不同引數的設定,機器學習可以得到不同的結果,而由於結果缺乏可解釋性,我們不能簡單地認為預測能力最好的引數是最優的 。
機器學習不是萬能的, 其可解釋性不強可能是機器學習最致命的弱點 。這個弱點如果不克服,機器學習可能會面臨“場景瓶頸”。為了使機器學習展現更大的威力,為結果找到更合理的解釋,全球的頂級公司都在高薪招募相關人才。如果不是為了這個目的,公司不需要招募相關專業的博士,只需要招聘普通IT人員培訓幾個月就夠了,各種機器學習方法都能玩得很好。
機器學習不可解釋性導致它的脆弱性。以神經網路為例,隱藏層的層數、每一層的神經元個數都是靠經驗或者靠試錯獲得,最終預測結果哪個好就用哪個,這怎麼能行?輸入變數影響輸出變數的路徑是確定的,不是“條條大路通羅馬”。所以,儘管神經網路在股票預測方面有了一定的實踐,預測結果好於傳統統計方法,但是大部分人仍然抱著懷疑的態度。
在此,我們設計了一個簡單的模型:用鋼鐵等原材料預測個人消費。我們假定個人只消費三種產品:空調、鐵鍋和衣服。空調的影響因素有鋼鐵、鋁、銅、塑料,鐵鍋的影響因素有鋼鐵和塑料(把手),衣服的影響因素有棉、麻。
這個模型的實際影響路徑見圖1。
而對於神經網路來說,該方法會增加棉、麻與空調的關係,鋁、銅、棉、麻與鐵鍋的關係,鋼鐵、鋁、銅、塑料與衣服的關係,實際上這些都是不正確的關係(這些不正確的關係在圖2中以紅線標出)。
雖然經過大量樣本訓練可以降低這些不正確關係的影響,但是如果不正確的關係非常多的話,會產生很多噪音,這些噪音讓大家誤以為最終結果非常好。譬如,輸入層有100個結點,隱藏層有兩層,每層有50個神經元,傳導路徑就有100*50*50=250000條,如果實際傳導路徑只有1000條,那麼這裡面有249000條路徑都是錯誤的,佔比99.6%,正確路徑只佔0.4%。即使每條路徑的誤差非常小,累積起來誤差也可能非常龐大,嚴重影響預測結果的魯棒性。即使採用更復雜的RNN方法也繞不開這個框架。而如果人的消費品種非常多,產業鏈非常長,不但很難確定隱藏層的層數和神經元個數,而且這些關係也不是嚴格的層級關係。 各種複雜的關係使得機器學習的脆弱性問題愈發嚴重。
這裡我們以一個簡單的例子解釋了機器學習方法的脆弱性問題。機器學習不能只考慮引數優化,結果的魯棒性、可解釋性更為重要。
三、機器學習在金融中的應用
目前,機器學習在金融中的應用已經展開,主要體現在 智慧問答、智慧資訊、智慧風控、 智慧投研 和 智慧投資 幾個方面。
智慧問答、智慧資訊和智慧投研這幾塊恆生公司已經有相關產品,準確率還是很高的,因為這些應用場景做起來較為簡單。 只需要事先確定好相關標籤集,從網路或者各類報告中爬取相關文字資訊,採用自然語言處理的方式對資訊進行分類處理即可 。當然,這裡面有多個難點需要攻破,簡單只是針對智慧投資而言。
智慧風控目前在銀行、券商、保險中都有應用。銀行的信貸風險管理、交易反欺詐和關聯關係監控、券商的異常交易行為和違規賬戶的偵測以及保險的反欺詐和智慧理賠等都是智慧風控的應用。 不過市場上的智慧風控系統跟“智慧”關係不大,大都是基於規則組合、條件篩選來實現風險預警,算是大資料的簡單運用。實現智慧風控依然任重道遠。
最後,投資者和金融機構最關注的大概是智慧投資了。智慧投資目前處於初級階段,雖然不少機構都有相關的產品落地,但實際效果恐怕不盡如人意。 其中的關鍵問題之一在於機器學習的不可解釋性,不可解釋性意味著沒有魯棒性,沒有了魯棒性可能從明天開始策略就變得無效了。 有人會說不可解釋也可能是我們的認知不足,策略可能是滿足魯棒性的。這個確實有可能。但是不可解釋性意味著策略表現欠佳的時候我們不知道策略的有效性是否改變。我們需要“猜測”或者“討論”是否繼續使用該策略,但無論是猜測還是討論都是不客觀的。投資策略的魯棒性要求我們在策略無效的時候能及時更正,而不是猜測或者討論解決。
影響機器學習在智慧投資方面應用的另一個關鍵問題是 上文所述的在學習過程中摻入了大量的噪音 。這些噪音累積起來可能非常龐大,會嚴重影響到實際預測結果。當然,因為噪音無法確定、無法清除,所以其影響程度也很難度量。雖然預測結果非常好,但是極有可能是過度擬合的結果。這也是機器學習方法不被金融人士認可的原因。
至於智慧投資是否能真正實現,我認為還是有一定可能的。 前提是知識圖譜做得非常完善,利用知識圖譜的相關關係、影響深度,疊加金融方面的研究成果,應該可以獲得優秀的投資策略。 恆生公司在知識圖譜、量化投資等方面都有相當的儲備,這是智慧投資能夠完善的必要條件。
綜上所述,雖然我們已經開發了很多機器學習在金融上的應用場景,但是依然有不少場景待開發,這些場景的開發“進入深水區”,需要機器學習在“深度”和“學習”這兩方面下功夫,即使如此,有些場景最終是否能取得成功依然存在不確定性。