從事交易策略、系統開發設計的教學多年。我給參與的同學設下了開發策略應該遵守的 SOP,很可能是 SOP 的要求讓人很難找到測試階段即讓人眩目的策略。我知道要求自己在開發策略的過程中遵守規則去做,確實通常讓人感到挫折。但我更相信,通往失敗的道路總是坦途大道!
然而即使辛苦的產出,也終將面對策略失效的問題。我一直說所有策略的 MaxDrawDown 都一定會被突破,只是我們不知道這一天何時到來?也許經過我們嚴苛條件所開發出來的策略其實是沒有失效的問題也不一定。實際上,就算今天發了 DrawDown 大破過去的記錄,恐怕都不見得能證明是策略失效,如果幾天後或是幾個月後它的績效創新高了,今天的 MaxDD 被突破還能算是策略失效嗎?這其實是個無解的問題。
這麼想可能比較容易釋懷:因為我們都沒有輸不完的錢,也沒無限長的壽命去等待策略績效的再創新高。所以,我們必須為策略設下一個停止線,這是個無奈的選擇。不管今天你創造出怎樣表現的策略,都是得為策略設下停止線的。我們終究必須為手上管理的資金負責,不論那是自有還是託管性質的。
因為單一策略都會有停止線被觸發的一天,所以 多策略組合加上管理系統 是我們必須要努力的方向。先找出較低可能是過度最佳化(垃圾)的策略,一個一個收集起來,你會有很多個低機率垃圾的策略,再透過管理系統,以動態調整的方式,不斷的把資金移往表現佳的策略上。如此一來,我們的資金會在多個策略內遊走,也許有策略破了停止線,資金就不會死攤在那個策略上,也許哪天那個策略的績效又有起色了,資金就自動配置回去,系統架構到了這個階段,個別策略是否失效已經不是我們該煩惱的了。
誇張一點說,只要有一個策略能獲利,管理系統會把錢往能獲利的策略去配置,而持續虧損、績效沒起色的策略,資金自然被抽走(一個沒有錢供其交易的策略還能傷害我嗎?)。
理論上來說,如果管理系統做到這個程度,我們是否就不需擔心策略失效的問題?但是,會不會全部策略都陸續是大賠破停止線後再無起色的呢?這就是為什麼我們得在源頭,開發交易策略時就降低要上線的策略是垃圾的機率了。如果我們每個策略是垃圾的機率都是 0.3,那麼10個策略全部都是垃圾的機率就只有 0.0000059049 !但如果每個策略是垃圾的機率是 0.95 呢?10個高垃圾機率的策略,依然是非常危險的。
有人問:「為什麼每個策略的 MaxDrawDown 都一定會破?」
雖然我們在測試的時候已經經歷整個景氣循環,未來也不過就是景氣循環的再來一次,問題是宏觀的景氣循環等同我們盤中決策的 pattern 嗎?一樣的波段上漲、下跌,其中的價格型態排列方式不同,就足以造成截然不同的績效表現,而未來總是有無限的可能性,天曉得會出現怎樣的 pattern 排列組合?這也就人家說的:「歷史總是不斷重演,但不會完全相同。」因此,心態上我們就得準備好可能會有很倒楣的事情發生,而且不知道衰起來會衰多久,又有多嚴重?
還是那句話:「策略很可能從沒失效,因為在未來的某天它的績效或許再創新高。但跟單的過程中,你可能已經輸光你的錢了。」這是 無限大(不知多遠的"未來")對決 有限值(資金與青春有限)的不公平競賽,但現實就是如此!
我們該做的是最悲觀狀態的準備,但樂觀的執行。『看到問題點,想辦法去解決它』肯定是邁向成功的必備態度。程式交易絕不是很多人幻想的躺著賺,把投機交易想盡辦法事業化,它就是個非常高潛力的自動化投資。