國外成熟交易策略在期指程序化交易中的運用
隨著股指期貨市場參與者的逐步成熟、國內相關程序化交易平臺的技術實現,以及程序化交易自身的優點,程序化交易在近幾年的國內期貨市場上得到了飛躍式的發展。程序化交易是國際市場常用的交易方式,國外程序化交易的應用領域非常廣泛,主要有組合管理、套利交易、趨勢交易及其他量化策略等。
波濤(1998)在《系統交易方法》中提出,一個設計良好的交易系統,必須對投資決策的各個相關環節做出相應明確的規定,同時還必須符合使用者 的心理特征、投資對象的統計特征以及投資資金的風險特征。國外交易系統的典范莫過于Richard Dennis在1983年底推出的海龜交易法則,從中可以看到一個完整的交易系統包括:市場—買賣什么;頭寸規模—買賣多少;入市—何時買賣;止損—何時 退出虧損的頭寸;止盈—何時退出贏利的頭寸;策略—如何買賣等方面。
根據策略原理和市場數據之間的邏輯關系,交易策略設計的思路可分為自上而下和自下而上兩方面。自上而下的方法是指從投資理念或理論基礎的角度 出發尋找規律,并以此形成交易策略。比如基于持有成本理論的期現套利策略、根據行業輪動規律,配置股票組合以獲得超額Alpha的策略等等。自下而上的方 法則從市場統計數據出發,根據歷史統計特征而形成的交易策略。例如,當期指的開盤價高于昨日收盤價、最高價、最低價三者的平均價時,日內做多,反之做空;或根據固定幾家主力機構的凈空單變化來確定次日的交易方向等策略。自下而上的交易策略更容易受市場條件變化的影響。
圖1:國外交易系統的TOP10歷史排名情況
盡管國外市場上的交易系統名稱舉不勝舉,但對于成熟的交易策略,開發者一般不愿公開,投資者也較難深入了解諸多交易策略的原理。本文通過對幾個公開化的成熟交易策略舉例,試圖了解一些國外成熟交易策略的設計原理,同時檢驗其在國內期指市場中的適用性。 1、Dual-Thrust 圖2:Dual Thrust和開盤區間突破策略的原理
開盤區間突破是較為常見的日內交易策略之一,以今日開盤價加減一定比例的昨日振幅,確定上下軌。日內突破上軌時平空做多,突破下軌時平多做空。 Dual Thrust在形式上和開盤區間突破策略類似。不同點主要體現在兩方面:Dual Thrust在Range的設置上,引入前N日的四個價位,使得一定時期內的Range相對穩定,可以適用于日間的趨勢跟蹤;Dual Thrust對于多頭和空頭的觸發條件,考慮了非對稱的幅度,做多和做空參考的Range可以選擇不同的周期數,也可以通過參數K1和K2來確定。
當K1<K2時,空頭相對容易被觸發,當K1>K2時,空頭相對容易被觸發。因此,投資者在使用該策略時,一方面可以參考歷史數據測試的最優參數,另一方面,則可以根據自己對后勢的判斷,或從其他大周期的技術指標入手,階段性地動態調整K1和K2的值。
為了使該策略更貼近實際情況,加入一些簡單的交易規則,如初始止損、跨周期的數據引用等進行完善。具體地,初始資金100萬、每次以30%倉位 開倉,日內突破上軌且30分鐘周期的MA5>MA10開多,日內跌破下軌且30分鐘周期的MA5<MA10開空,收盤前平倉,設置1% (不考慮杠桿) 的初始止損,暫不考慮止盈和追蹤止損。初始保證金18%,單邊手續費萬分之1,滑點0.6個點。在IF888的五分鐘周期測試,測試時段為2010/4 /16-2011/10/28。參數N=1,K1=0.5,K2=0.2。
圖3:Dual Thrust策略的累計收益率
2、R-Breaker
在外匯交易系統中,樞軸點 (Pivot Points) 交易方法是一種經典的交易策略。Pivot Points是一個非常單純的阻力支撐體系,根據昨日的最高價、最低價和收盤價,計算出七個價位,包括一個樞軸點、三個阻力位和三個支撐位。
圖4:Pivot Points策略的原理圖
阻力線和支撐線是技術分析中經常使用的工具之一,并且支撐線和壓力線的作用是可以互相轉化的。從交易的角度上來看,Pivot Point好比是作戰地圖,給投資者指出了盤中應該關注的支撐和阻力價位,而至于具體的戰術配合,Pivot Point并沒有具體地規定,完全取決于投資者自身的交易策略。投資者可以根據盤中價格和樞軸點、支撐位和阻力位的相關走勢靈活地制定策略,甚至可以根據 關鍵點位進行加減倉的頭寸管理。
圖5:R-Breaker策略的原理圖
R-Breaker根據昨日價格計算出六個價位作為今日盤中交易的參考價位,只是比Pivot Points的設置少了一個樞軸點。R-Breaker與Pivot Points的不同點體現在:通過參數設置,使得六個價格間的距離更加靈活,并且R-Breaker明確了具體的交易策略。根據盤中價格走勢,同時采取趨 勢追蹤和反轉策略。圖中有顏色背景的區域可以視為觀察區,當盤中日內最高價觸及Ssetup后出現回落,且跌破參考Senter的阻力線時,采取反轉策 略,即在S1點開倉做空;在空倉的情況下,如果盤中價格一路突破Bbreak的阻力線時,則采取趨勢追蹤策略,即在B2點開倉做多。類似地,B1點反轉做 多,S2點順勢做空。
由于盤中開倉的觸發條件涉及到多個價位,對日內價格走勢較為敏感,因此該策略適用于在一分鐘周期上交易。另外,該策略觸發的交易次數并不多,不考慮跨周期的條件。TB IF888的1分鐘數據源最早為2010/4/28,其他測試條件和Dual Thrust相同。
圖6:R-Breaker策略的累計收益率
R-Breaker中距離參數的設置對交易觸發次數和最終收益率有一定影響,為了驗證其策略的有效性,把R-Breaker的思路移植到距離參 數固定的Pivot Point上,測試結果顯示收益率103.6%、最大資產回撤值比例14.6%、勝率40.96%、均盈利/均虧損1.97、交易次數595。
3、Dynamic Breakout II
圖7:S&P500指數和隱含波動率VIX指數
動態突破的原理與波動率相關,我們先來回顧波動率與指數的關系。我國目前暫未推出基于指數的期權衍生品,所以無法計算標的指數的隱含波動率,通 常根據歷史數據計算價格的標準差來衡量波動率。這里可以參考基于S&P500指數期權隱含波動率的VIX指數,也稱為恐慌指數,代表市場對未來 30天的市場波動率的預期。圖中可以看出,在2007年之前和2009年之后,當VIX指數處在低位時,指數通常延續當前的趨勢;而當VIX由低位攀升至 高位時,預示著后市出現反轉的概率加大。較為例外的是,2008年金融危機產生的系統性風險,使得VIX指數大幅上升,指數出現持續下跌。
動態突破的思想是通過刻畫市場波動率,同時結合使用布林線以及突破前期最高或最低點的做法來捕捉趨勢。當市場波動率降低時,延續當前趨勢的概率 較大,在計算布林線帶寬時,使用的回溯周期數減少,使得開倉容易被觸發;當市場波動率增加時,行情有可能發生反轉,同時為了過濾虛假信號,計算布林線帶寬 時使用的回溯周期數增加,使得開倉條件相對難觸發。這種設置使得計算出的布林上下軌具有一定的適應性。策略中增加突破前期高點買入和跌破前期低點賣出的條 件可以進一步過濾虛假信號。投資者可以參考《Building Winning Trading Systems with TradeStation》中關于Dynamic Breakout II的介紹。
Dynamic Breakout II策略中當價格突破前期高點且超過布林上軌時做多,當價格跌破前期低點和布林下軌時做空,除了初始止損外,使用布林中軌線作為跟蹤止損。其他測試條件和Dual Thrust相同。
圖8:Dynamic Breakout II策略的累計收益率
Dual Thrust、R-Breaker和Dynamic Breakout II的適用周期不同,策略原理也不同。若同時使用這三個策略,組合后的收益率曲線變得更加平滑,最大資產回撤比例為5.2%,顯示了投資組合策略分散化的 優勢。值得注意的是,上述得到的收益率曲線是根據歷史數據,在使用相對優化參數的前提下得到的測試結果。
在實盤交易過程中,歷史的優化參數未并適應當前的行情特點,投資者在使用程序化的過程中,必須對交易策略原理做到心中有數,這樣才能理解行情特點與交易結果之間的關系。從策略測試到實盤交易的轉變過程中,投資者還將遇到其他一些問題。
1、程序化交易平臺的選擇
目前國內的程序化交易平臺有金字塔、交易開拓者、文華、快期、盈佳等,這些交易平臺是以“上期綜合交易平臺CTP”為后臺的交易軟件。在平臺選 擇上,應結合軟件穩定性、交易策略的適用性、使用費用、使用習慣等方面選擇適合自己交易的平臺。例如:金字塔支持圖表程序化、后臺程序化,支持VBS開發 和外部數據庫,擴展性好;交易開拓者的交易策略測試報告更加詳細,國外的TradeStation代碼容易移植到TB平臺上。
2、實盤交易中的細節問題
程序化交易平臺的實時數據來源于中金所,中金所500ms推送一次Tick數據,不同平臺自行提取更長周期的數據,不同的提取規則可能導致數據 不一致。比如金字塔和TB在日內周期K線的分割方法,以及K線的時間標記上都是不同的。在日內收盤平倉的時點,以及跨周期的數據引用上等方面,需要注意不 同平臺的數據差異。
交易策略測試是在既定的周期里每個周期計算一次相應參數,而實盤交易中會有數據實時推送過來,有可能會造成交易信號反復的問題。有的平臺軟件支 持每隔固定秒數的輪詢模式,以及走完K線模式來讀取數據,選擇什么樣的數據刷新頻率取決于策略本身。除了信號反復的問題,還可能出現下單未成交、重復開平 倉、止損未觸發等情況,這需要投資者事先考慮可能出現的不利情形,對策略進行相應的調整,如把代碼轉換到更小的周期上運行、考慮滑點、通過全局變量控制開 倉次數等。另外,策略測試時通常是針對期指連續合約,實盤交易時要選擇主力合約,換月時注意移倉時點的把握。
3、程序化交易執行過程中的交易心態
成功的投資不但需要正確的市場分析,更需要完善的風險管理和良好的心態控制,即所謂的3M (Mind、Money、Market)。一些投資者在使用程序化的過程中,尤其是當使用勝率較低的趨勢跟蹤系統出現連續虧損時,投資者會對使用的交易系 統產生質疑,交易心態難以平和,甚至最終放棄交易系統的使用。每個交易系統對投資者心理、交易品種以及資金的風險偏好都是有一定適應性的。因此,投資者需 要加深對市場的認識,理解交易策略原理,把握自己能把握的,包括交易心態和交易方法,才能真正發揮程序化交易的作用。
相關文章
-
沒有相關內容