國外成熟的程序交易系統的思路


波濤(1998)在《系統交易方法》中提出,一個設計良好的交易系統,必須對投資決策的各個相關環節做出相應明確的規定,同時還必須符合使用者的心理特征、投資對象的統計特征以及投資資金的風險特征。國外交易系統的典范莫過於Richard Dennis在1983年底推出的海龜交易法則,從中可以看到一個完整的交易系統包括:市場—買賣什么;頭寸規模—買賣多少;入市—何時買賣;止損—何時退出虧損的頭寸;止盈—何時退出贏利的頭寸;策略—如何買賣等方面。

  根據策略原理和市場數據之間的邏輯關系,交易策略設計的思路可分為自 上而下和自下而上兩方面。自上而下的方法是指從投資理念或理論基礎的角度出發尋找規律,並以此形成交易策略。比如基於持有成本理論的期現套利策略、根據行 業輪動規律,配置股票組合以獲得超額Alpha的策略等等。自下而上的方法則從市場統計數據出發,根據歷史統計特征而形成的交易策略。例如,當期指的開盤價高於昨日收盤價、最高價、最低價三者的平均價時,日內做多,反之做空;或根據固定幾家主力機構的凈空單變化來確定次日的交易方向等策略。自下而上的交易策略更容易受市場條件變化的影響。

                         圖1:國外交易系統的TOP10歷史排名情況

股指期貨
股指期貨

 

  在歐美發達資本市場,程序化交易伴隨着資本、技術和監管的變化而不斷演變,程序化交易的策略也層出不窮。上圖是Futures Magazine在2005年評出的最佳交易系統的歷史排名情況,某些交易系統在不同時段內表現出較穩定的特點。2008年美國S&P500交易系統的TOP10排名為:Turbo Trader Pro、Anticipation、Samurai 35、Dual Thrust、Maxim、Mesa T-Notes、Qtech Bellies、Keystone、Sledge Hammer、Delphi Universal。

 

  盡管國外市場上的交易系統名稱舉不勝舉,但對於成熟的交易策略,開發者一般不願公開,投資者也較難深入了解諸多交易策略的原理。本文通過對幾個公開化的成熟交易策略舉例,試圖了解一些國外成熟交易策略的設計原理,同時檢驗其在國內期指市場中的適用性。

  1、Dual-Thrust

  圖2:Dual Thrust和開盤區間突破策略的原理

股指期貨
股指期貨

  開盤區間突破是較為常見的日內交易策略之一,以今日開盤價加減一定比例的昨日振幅,確定上下軌。日內突破上軌時平空做多,突破下軌時平多做空。Dual Thrust在形式上和開盤區間突破策略類似。不同點主要體現在兩方面:Dual Thrust在Range的設置上,引入前N日的四個價位,使得一定時期內的Range相對穩定,可以適用於日間的趨勢跟蹤;Dual Thrust對於多頭和空頭的觸發條件,考慮了非對稱的幅度,做多和做空參考的Range可以選擇不同的周期數,也可以通過參數K1和K2來確定。

  當K1K2時,空頭相對容易被觸發。因此,投資者在使用該策略時,一方面可以參考歷史數據測試的最優參數,另一方面,則可以根據自己對后勢的判斷,或從其他大周期的技術指標入手,階段性地動態調整K1和K2的值。

  為了使該策略更貼近實際情況,加入一些簡單的交易規則,如初始止損、跨周期的數據引用等進行完善。具體地,初始資金100萬、每次以30%倉位開倉,日內突破上軌且30分鍾周期的MA5>MA10開多,日內跌破下軌且30分鍾周期的MA5

  圖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)。一些投資者在使用程序化的 過程中,尤其是當使用勝率較低的趨勢跟蹤系統出現連續虧損時,投資者會對使用的交易系統產生質疑,交易心態難以平和,甚至最終放棄交易系統的使用。每個交 易系統對投資者心理、交易品種以及資金的風險偏好都是有一定適應性的。因此,投資者需要加深對市場的認識,理解交易策略原理,把握自己能把握的,包括交易 心態和交易方法,才能真正發揮程序化交易的作用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM