本文主要討論量化交易系統,對於主觀交易,因爲盤感、形態之類很難量化,也就很難系統化、自動化,所以不在討論之列。

何爲系統

交易系統,如同現實中的交通系統、工程系統、法律系統一樣,通過建立一系列規則,幫助我們在不確定的世界中更好地活着。交易系統陪着你征戰各個二級市場,是你最賴以生存的護身符,保護着你的倉位,讓其在交易所的撮合引擎中不斷穿梭,最終資金曲線震盪向上。

系統可以是不完美的,因爲任何真實世界中實際運行的“系統”都是各種權衡、取捨的結果,不可能完美無瑕,不要迷失在追求完美的幻境中。但是系統必須完備。完備在這裏的意思就是該有的都有了,而且沒有死角,是反脆弱的,不能說隨便一點波動就被帶走。

我認爲,一個完備的交易系統必須具有七大基本要素,它們就是:標的、目標行情、倉位槓桿或者叫資金管理,然後就是交易邏輯的四個基本操作:進出盈損。其中前三項一般由交易員通過經驗綜合選擇,然後再回測確認是否合理有效,最終量化出交易邏輯的各個參數,最後由實盤代碼根據量化回測出來的各個參數,機械地按規則自動執行。

下面一一解釋。

1. 標的:

首先要選定你打算交易的標的品種。

這個可以是任何方便交易的標的,當然也可以同時交易多個標的,看具體策略情況。

當今世界的五大公開投機 du 場:股票(股指)、債市、商品期貨、外匯,還有新進的數字貨幣(其實還有各種 betting site,比如世界盃,你懂的,不過比較小衆,交易量比較小,老闆們也不太講武德,動不動就跑路)。

因爲是要建立量化交易系統,所以最好是有交易所或者券商之類提供歷史數據和 API 的品種,這樣方便量化回測和程序化自動執行。

至於到底如何選擇,主要是看你喜歡什麼樣的波動,或者說是對手盤。

容易的,可能就是數字貨幣,因爲波動確實大,而且場內的人極易 fomo,情緒化,所以經常有比較持續的趨勢。其實控盤比特幣也不容易,因爲你不知道是不是在世界上的某一個角落,突然有一個或者幾個大鯨魚正好要買(賣),你去隨意拉砸,說不定就正中別人的下懷。

最難的,應該就是原油之類的大宗商品,因爲有地緣政治之類的博弈,而不是單純的交易市場裏的資金博弈,k 線上更難尋蹤覓跡。

原則上,儘量選擇對手盤弱的市場,不然放眼望去,如果你是牌桌上最弱的那個,最終結果可想而知。交易畢竟是零和博弈,一個人的利潤只能是另一人的虧損。選標的就是選牌桌。

2. 行情:

這個就是你的交易策略主要是想抓什麼樣的行情。這個行情也可以是週期的意思。大週期的震盪可能就是小週期的趨勢。

首先別指望什麼行情或者波動都能賺錢,一個系統必須只專注一點,不然基本上做不好,容易顧此失彼。

另外,行情也可以是指諸如要做均值迴歸還是趨勢跟隨一類,或者套利,高頻做市等等。是做單個標的還是多個標的的對衝,或者是截面的迴歸或者趨勢種種。

想要多種行情,就得多種系統,或者形成系統體系,就像私募基金一樣運作,不過這種都是團隊化作戰了,各自分工。

原則上,系統不該賺錢的時候賺錢就是一種錯誤。你的系統目標定錯了,最終結果只能南轅北轍。

3. 倉位:

這一項就是你打算分配多少資金到這個系統,特別是如果你有多個交易系統的話。對於那些採用保證金模式的交易標的,打算採用的槓桿是多少。

還有就是資金管理。總之就是動用多少倉位的問題。

初學者喜歡打聽你用的什麼點位和指標進場,稍有經驗的最多還問問你怎麼出場,止盈止損怎麼設置,只有經歷過市場毒打的人才會把重點放在資金管理上。

資金管理相當於在系統的交易邏輯上增加了一個維度,不再是單純的進場出場一個維度,而是每次進場出場之外還有資金量大小的區別,類似於上升到二維空間了,這樣策略才能玩出更多花來。指標終歸是趨同的,因爲都是量價的各種數學變換而已,大概也就是滯後性不太相同,最後起到一定的過濾作用罷了。

資金管理纔是高級玩法。

4. 進場:

就是什麼情況下進場,以及進場的方向。我主要是做趨勢跟蹤,個人認爲進場信號其實沒有那麼重要,至少沒有出場邏輯重要,因爲未來的不可預測,你怎麼做都不會比隨機拋硬幣好太多的,準確性提升有限。但是作爲自動化交易,必須也得規則化。

如果是分開多次進場,其實就是加倉了。加倉相當於是多個策略融合在一起,起到分散倉位的作用。

趨勢跟隨的話一般都是浮盈加倉,很少見到浮虧加倉的操作。

加倉之後,一般交易系統的勝率會降低,但是盈虧比會增大,看各自的取捨了。

加倉的話,回測起來就麻煩一些,不光是代碼更復雜一點,還有各種策略變化之間難於對比,因爲加倉方式不同,倉位和槓桿就不同,那麼對比他們的收益和回撤就沒那麼直觀簡潔(當然卡瑪比率 Calmar ratio 是一個選擇),給參數選擇造成一定的難度。

5. 出場:

這裏的出場是指依據交易策略信號的退場。比如持有多倉的時候出現做空的信號。不過這種永遠持倉(不是多就是空)的模式一般回撤會比較大,所以一般都會配合上主動止盈,這樣利潤會回吐少一點,但是必須得承擔一定的回撤纔有可能抓住大一點的趨勢,不然就是輕易被震出場,抓不住大趨勢。

曾經有人做過回測,就是隨機信號進場,但是隻要出場是符合交易邏輯的,也就是“截斷虧損,讓利潤奔跑”,那麼也能建立起一套正期望值的交易系統。所以,不要被輕易震出場,用浮盈回吐去抓大趨勢幾乎是最划算的買賣。

後面還有兩種出場方式。可見出場比入場要重要且關鍵得多。

6. 止盈:

這裏的止盈主要是指各種主動止盈。比如各種固定止盈、浮動止盈、追蹤止盈。個人認爲,只要浮盈足夠,也就是達到了一定的盈虧比,就可以無腦止盈一部分,這樣讓資金曲線走勢更平滑,並不一定要讓所有利潤奔跑到底。

但是也別剛開始盈利就執行所謂的平半,或者平倉一部分,用來鎖定利潤。我觀察很多帶單老師喜歡這麼幹,因爲這樣看起來勝率高啊,順着人性,用戶體驗好。

但是真實道理是,如果有一點盈利就跑,走太早,沒有超過一定盈虧比的盈利,你這部分資金相當於就一直在虧錢,原因是喫肉的時候舔到一口你就跑了,捱打的時候可一板子沒少,次次挺到止損。就算最終賺錢,也是另外一部分沒提前跑的資金在替全部倉位負重前行。

所以太早鎖定利潤會大大影響你全倉賺錢的效率。

止盈要保證足夠盈虧比,而不要單看勝率。

7. 止損:

止損是一個交易系統必須要有的。一般一個交易系統一旦加上比較緊湊的止損,性能大概會下降不少,也就是收益降低,回撤可能也同時增大,回測數據就會不太好看。所以有些還沒有喫過虧的交易員,系統沒有設計止損,而僅僅是等反向信號出來再退場,很有可能會一次虧一把大的,從而資金和信心都大受打擊,一蹶不振。

一般止損有兩種,一種是固定比例止損,就是價格反向了 8 個點,10 個點這類,只要價格扎到就算法單自動市價退出。這種最好,因爲最可控,至多再額外加一些滑點。其他的,例如利用標記價格,可能更難觸發到止損,但是一旦觸發,可能已經反向 15 個點了,造成更大虧損。主要問題還是可能超過太多預期。

還有的就是利用幾倍 ATR 止損這類,這類的問題也是不太可控,因爲在極端情況,ATR 可能變得非常大,特別是大週期,那麼也可能一次性虧損很多,其實本來早就該離場的。

對於全自動化運行的交易系統,止損必須考慮得非常細緻纔行,止盈可以稍微隨意一點。

另外一種就是利用 k 線的關倉價格,這樣的止損方式光看回測可能更穩定一些,比較誘惑人,但是同樣也是不可控,因爲顯然一根 k 線在極端情況下可能會大幅變動,幅度可能是你在所有歷史 k 線中沒有見過的,不然怎麼叫黑天鵝呢。

最後

有了完備的交易系統只是漫漫征途的開始,並不能保證讓你從此高枕無憂,開始躺着賺錢。因爲未來的不確定,每一個策略都會有它的不利期。

就算開始賺了錢,當系統連續虧損時,資金曲線不停回撤,我們依然會恐懼。我們不知道自己設計的交易模式是不是有回測沒有發現的問題,是不是市場風格發生了某些不爲人知的變化,策略"失效"了,是不是傳說中那些虛無縹緲的“主力”和“莊家”在幹着某些不爲人知的勾當。

一切都會變成迷霧,挑戰你最底層的交易認知。

其實市場中能夠建立起自己交易系統的人並不少,但是能夠在不利期衝擊中挺過去的人寥寥無幾。大多數人在幾個月回撤走勢的衝擊下,恐懼開始支配大腦,開始猶豫懷疑,開始干預系統,甚至放棄自己的準則。最終系統被改得面目全非。

所以,最終更考驗你的,是你的認知,是執行這套交易系統的決心,能不能戰勝一路上的貪婪和恐懼。

最後,要詳細瞭解如何建立交易系統,推薦《海龜交易法則》,它毫無保留的把一套完整的交易系統展示了出來,解剖得非常徹底,這是搞量化交易的必讀書,不要嫌棄它已經有好幾十年曆史了。經典永不過時。