數字資產量化之海龜交易法

買賣虛擬貨幣
“幣市有風險,投資需謹慎”,這句話流程已廣、最近各種數字資產的價格變動較大,因為沒有漲停跌停機制,數字資產一天甚至幾個小時內波動百分之幾十都是有可能的,遠遠高於傳統金融市場的變動幅度。應對幣市大漲大跌行情,有一個很好的策略——海龜交易法。一、海龜交易法海龜交易法是著名的公開交易系統,1983年著名的商品投機家理查德. 丹尼斯在一個交易員培訓班上推廣而聞名於世,它涵蓋了交易系統的各個方面。其法則覆蓋了交易的各個方面,並且不給交易員留下一點主觀想象決策的餘地。它具備一個完整的交易系統的所有成分。——百度百科著名的商品投機家理查德·丹尼斯想弄清楚偉大的交易員是天生造就的還是後天培養的。為此,在1983年他招募了13個人,教授給他們期貨交易的基本概念,以及他自己的交易方法和原則。“學員們被稱為‘海龜’(丹尼斯先生說這項計劃開始時他剛剛從亞洲回來,他解釋了自己向別人說過的話,‘我們正在成長為交易員,就象在新加坡他們正在成長為海龜一樣’)。”(斯坦利·W·安格瑞斯特,《華爾街期刊》,1989年9月5日)——百度百科海龜成為交易史上最著名的實驗,因為在隨後的四年中海龜們取得了年均複利80%的收益。 丹尼斯證明用一套簡單的系統和法則,可以使僅有很少或根本沒有交易經驗的人成為優秀的交易員。 當時,海龜們認為應對理查德·丹尼斯負責,商定甚至在他們議定的10年保密協定於1993年終止後也不洩露這些法則。但是,有個別海龜在網站上出售海龜交易法則而謀取錢財。兩個原版海龜科蒂斯·費思和阿瑟·馬多克,為了阻止個別海龜對智慧財產權的偷竊和出售海龜交易法則而賺錢的行為,決定在網站上將海龜交易法則免費公之於眾。——百度百科海龜交易策略是一套非常完整的趨勢跟隨型的自動化交易策略。這個複雜的策略在入場條件、倉位控制、資金管理、止損止盈等各個環節,都進行了詳細的設計,這基本上可以作為複雜交易策略設計和開發的模板。
二、趨勢訊號的捕捉在趨勢訊號的撲捉上,海龜交易法則使用了一個非常重要的技術指標—唐奇安通道(Donchian channel)。這個通道很類似布林通道(Bollinger Bands),只是在具體計算方式上有些不一樣。唐奇安通道指標是Richard Donchian發明的,由3條不同顏色的曲線組成,該指標用週期(一般都是20,有的平臺系統設定時可以改變的,有的則設定的不可以)內的最高價和最低價來顯示市場價格的波動性,當其通道窄時表示市場波動較小,反之通道寬則表示市場波動比較大。

如圖:圖片來源:fxunion

當價格衝破該通道的上軌道時,就是可能的買訊號;反之,衝破下軌時就是可能的賣訊號。唐奇安通道的各項指標的計算方法為:

                   上軌=Max(最高低,n), n日最高價的最大值

                   下軌=Min(最低價,n), n日最低價的最小值

                   中軌=(上軌+下軌)/2

在金融領域的多因子分析框架內,這個策略對突破後的價格走勢預測就是基於動量因子(momentum)的有效性假設。當然,這個因子的有效性也確實被嚴格地驗證過,並作為Fama-French三因素模型的補充,被廣泛地應用於金融市場。

當然,我們可以進行最佳化,使用更合理的趨勢突破型指標。

三、交易原理

那麼,既然動量因子是已經公開並普遍使用的因子,那麼海龜交易法則是憑什麼能夠脫穎而出呢?答案很簡單,海龜交易法則定義了一整套非常嚴謹的倉位控制、止盈止損的規則。對於幣市的大漲大跌行情,海龜交易法則正是應付這種極端行情的利器。下面我們來一一剖析。

1. 倉位的基本單位N

海龜法則的加倉原則是定義好一個小單位(Unit),使得該倉位的預期價值波動與總淨資產的1%對應。也就是說,如果買入了這1個小單位的資產,那當天該倉位的市值變動幅度不會超過總淨資產的1%。

那麼,如何定義這個小單位?又如何預估這個小單位能帶來的價值波動呢?首先,在預估這個小單位帶來的價值波動(該價值波動被稱為N)上,海龜策略使用了對歷史的價格波動進行統計的方法。具體計算公式如下:

                   TrueRange=Max(High−Low, High−PreClose, PreClose−Low)

                   N =(前19日的N值之和+當時的TrueRange)/20

其中,High表示當日最高價,Low表示當日最低價,PreClose表示前一日收盤價。

我們可以從定義上看出,N值確實能很恰當地表達該資產在價格上的最近波動幅度。

這樣,一個Unit就應該是這樣計算出來的:

                   Unit = (1%*Total_net)/N, total_net就是總資產淨值

可以看出,一個Unit的資產的價格波動幅度 = 總淨資產的1%

2. 什麼時候建倉

建倉的動作來自於趨勢突破訊號的產生。如果當前價格衝破上軌,就產生了一個買的建倉訊號,如果當前價格跌破下軌,就產生了一個賣空的建倉訊號(如果該市場支援賣空,某些數字資產市場是支援借幣賣空的!)

初始建倉的大小 = 1個Unit

3. 什麼時候加倉

如果開的底倉是多倉且資產的價格在上一次建倉(或者加倉)的基礎上又上漲了0.5N,就再加一個Unit的多倉;

如果開的底倉是空倉且資產的價格在上一次建倉(或者加倉)的基礎上又下跌了0.5N,就再加一個Unit的空倉。

我們看到,海龜策略其實是一個追漲殺跌的策略的。

4. 怎麼做動態止損

如果開的底倉是多倉且資產的價格在上一次建倉(或者加倉)的基礎上又下跌了2N,就賣出全部頭寸止損;

如果開的底倉是空倉且資產的價格在上一次建倉(或者加倉)的基礎上又上漲了2N,就buy cover全部的頭寸止損。

當然,使用者可以自定義動態止損方案,比如下跌了0.5N就開始部分平倉,而不用等到下跌了2N後才匆忙一次性清倉,畢竟衝擊成本擺在那裡。

5. 怎麼做止盈,可以自定義動態止盈嗎

海龜法則裡面,止盈訊號是這樣產生的:

如果開的底倉是多倉且當前資產價格跌破了10日唐奇安通道的下軌,就清空所有頭寸結束策略;

如果開的底倉是空倉且當前資產價格升破了10日唐奇安通道的上軌,就清空所有頭寸結束策略。

當然,使用者可以自定義動態止盈方案,比如總淨資產/初始淨資產>1.5, 就止盈離場。

其實海龜策略並不是固定的,它存在很多變種,在傳統金融市場中,有些變種的策略還是有效的。數字資產市場是一個非常無效的市場,在這樣的市場中,很多被用爛了的傳統策略也可以跑得非常有效果,這對於傳統量化從業者來講,是一個非常好的知識變現機會。關於程式碼,可以在WeQuant微寬網等量化平臺上找到,你還不來試試?

作者:WeQuant
來源:

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;