相信沒有什麼東西比一個看上去極度精巧複雜的工藝品更招人喜歡了。邁克爾·貝的“變形金剛”有着如此強大的票房號召力至少部分與其摒棄了(相比之下)孩之寶較爲弱智的變形風格有關。創新螺旋某種程度上也似乎是如此。可問題也同樣擺在了我們的眼前,複雜度和魯棒性是兩個沒有必然聯繫的概念。
長期資本複雜的金融工具拆分讓準備接手的人費盡了心思。最後得出的結論是“頭寸如此複雜,金錢機器的組成部分在基金的對家中如此分散,以至於簡單的途徑轉移頭寸是不可能的。”沒什麼比這個例子更有說服力了,“精巧的系統與魯棒性沒有必然聯繫。”《解讀量化投資》一書中說到:“許多量化基金採用相對簡單的數學公式,只用一兩行就能解釋清楚。許多量化基金的複雜也許在於它的科技:電腦系統、通信技術、電子交易手段等。”這話說的很實際也中肯。在國內期貨市場上,數量化手段應用的遠比股票市場要成熟,但一個似乎普遍認可的原則也是“簡單、直接、有效”。
投資市場是個英雄莫問出處的地方。只要有業績,恐怕即便是投擲骰子、算周易也不會有人在乎。在這樣的大背景下,算法本身的複雜度確實不是問題的重點。難怪西蒙斯本身也承認,其大獎章基金所用的數學都是很簡單的數學(儘管,筆者真的懷疑,一個數學家嘴裏的“簡單”究竟與普通人的理解有沒有什麼差別)。可問題是究竟要簡單到什麼程度卻沒有一個定論,而且片面的強調簡單也多少會產生些誤導。一個最起碼的常識恐怕是再簡單的數學動手能力差恐怕做不好。
先假設其他的工作都已經準備就緒,“就只差算法開發了”。可能是筆者接觸面仍然不夠寬廣,但算法的校驗平臺在股票市場裏基本就沒有一個好產品。這些東西往往需要自己動手來完成,因爲即便算法開發者貌似大度的與他人分享,別人有沒有時間幫這個忙也還是問題。這就直接回到了我們一開始說的那個話題,算法交易的真正複雜之處在於算法之外。即便是想出一個簡單到弱智的有用算法,對於校驗這個工作來說仍然只是相當於把一切算法轉換成一組簡單的表達狀態的數值並走完自己的運算過程。要一個人完成這麼多的工作,不會些編程恐怕是說不過去的。這還只是長征的第一步,還存在着參數優化,倉位控制,資金分配等諸多實際問題,更不用說算法本身就需要考慮一定的複雜度。所以筆者還是想提醒一句,讀者最好還是能有個思想準備,不要把算法複雜度和工作量作出過分緊密的假設,往往其他工作也並不輕鬆。
現實中的問題可不像大學裏講的經濟學那樣,有着一眼就能看穿的公式結構,各種優美的平滑函數在那裏等待着被解答,又或者有了Maple之後,各種計算只是把公式輸人到電腦之中就會有個結果。呈現在我們面前的就是一堆數字,其餘任何規律的探索都是分析員梳理出來的。可問題來了,有什麼理由讓我們相信一個確定性的公式存在於這堆一眼看去就讓人噁心的數據中呢?更不要提什麼平滑、可導之類的苛刻要求了。這或許解釋了爲什麼筆者除非萬不得已,否則很少翻開經濟學著作或教科書的原因。也有人就此得出了一個跟巴菲特價值投資理念極度吻合的邏輯:“凡是使用微積分之類的數學方法來指導投資都很可疑。”儘管有些偏激,但某種程度上來看有它的道理。最優化的思想仍然是需要的,僅僅是因爲目標函數的不確定要求我們通過其他方式對其進行搜索。具有全局優化能力的算法很多,讀者可以自已隨便翻開一本進行閱讀。這可能是筆者嘗試解決這一問題所能使用的唯一方法。
我們現在可以比較心平氣和的來看待這個問題了。單個算法的複雜程度可能並不高,有些甚至可以最終歸結爲僅僅是比較兩個數值的大小。但算法的設計往往需要參數,而一旦涉及到參數就一定會牽扯到優化等細節問題。這些問題的複雜度一般會超過我們的設想,而且其重要性往往並不差於算法本身。