如果你構建一個有100個參數的策略,完全可能通過優化參數,使歷史業績看起來非常棒。同樣可能的是,該策略的未來業績與回測結果截然不同、非常槽糕。這麼多參數,只是使模型與過去發生但未來不會再重現的任何偶然歷史事件吻合。實際上,即使只有一兩個參數(如建倉和清倉閾值),也很難避免所謂數據遷就偏差,第3章會討論怎樣減小數據遷就偏差的影響。一般而言,策略的規則越多,模型的參數越多,就越有可能遭遇數據遷就偏差。能經得起時間考驗的往往是簡單的模型。
人工智能與選股
《紐約時報》前些日子發表過一篇文章,介紹了Ray Kurzweil先生新創立的一家對沖基金。Ray Kurzweil先生可稱得上是人工智能領域的先驅。(這裏要感謝我的博客讀者YaserAnwar,是他向我推薦了這篇文章。)據Kurzweil透露,他的基金的選股決策都是由機器完成的,“……能夠觀察數十億筆市場交易,從而發現那些人工無法察覺的模式”(Duhigg,2006)。

雖然我是一名算法交易的信徒,但是當我得知這一交易是基於“人工智能”方法的時候,我對此還是有些懷疑。
我們可以這樣簡單地理解人工智能(AI),它就是一個嘗試使用包含衆多參數的函數來擬合曆史數據的過程。AI常用的工具有:神經網絡、決策樹和遺傳算法。因爲包含的參數很多,我們可以相信它能夠捕獲到那些人類根本無法察覺到的細微模式。但是,這些模式能夠持續嗎?這些模式會不會只是一些不會重複的隨機噪聲?AI領城的專家們向我們保證他們有許多防範措施用以過濾那些瞬間噪聲。並且,這些工具也確實在消費者營銷和信用卡欺炸檢測上效果顯著。消費者行爲和作編行爲的模式顯然都具有較長的持續期,這使得這些AI算法即使包含大量參數也能有效運行。然而,以我的經驗來看,要對金融市場進行預測,這種防範措施是遠遠不夠的,並且時歷史數據嗓聲的過度擬合還會帶來嚴重後果。事實上,我以前也建立過許多基於AI算法的金融預測模型。每次我費盡心力所建立的那些在回測中業績優異的模型。在之後的實際交易中的業績卻令人十分失望。主要原因可能是,相對於可以獲取的大量相互獨立的消費者行爲和信用交易數據,我們能夠獲取的在統計學意義上相互獨立的金融數據的數量是非常有限的。(你可能會說,我們擁有大量分時金融數據可供使用。但實際上,這些數據是序列相關的,並不是相互獨立的。)
但這並不意味着所有基於AI的方法在進行預測時都是無效的。
我使用過的有效的AI方法通常具有以下幾個特徵:
·基於正確的計量經濟學或理論基礎,而不是隨機發現的模式。
·所需的參數用到歷史數據較少。
·只用到了線性迴歸,並未使用複雜的非線性函數。
·概念上很簡單。
·所有優化都必須在不含未來未知數據的移動回顧窗口中實現,並且這種優化的效果必須不斷地被未來未知的數據所證實。
只有滿足了這些約束條件的交易模型,我纔敢用我那少量且寶貴的歷史數據進行檢測。顯然,“奧卡姆剃刀原理”不僅在科學上有效,在金融上也是如此。