logo |

資訊

    首頁   >     行業    >     正文

    【推薦】量化策略中的這幾大“陷阱”需警惕

    摘要:我們平時在量化交易策略的設計或使用中,常常會遇見策略效果失常的情況。因此在策略的設計過程中,必須十分注意以下這些“陷阱”,才能讓策略反映真實有效的結果。
    外匯天眼App訊 :

      我們平時在量化交易策略的設計或使用中,常常會遇見策略效果失常的情況。因此在策略的設計過程中,必須十分注意以下這些“陷阱”,才能讓策略反映真實有效的結果。

      1.偷價

      如果一個交易策略要求你利用信號觸發前的價格進行交易,那麼這個交易策略就存在偷價的問題。偷價發出的交易信號不會消失,但是你已經沒有機會利用這個信號進行交易了。

      例如,信號可能提示,如果當天收盤價高於前一天最高價,則利用當天開盤價進行買入,而在開盤價成交已經幾乎是不可能的事情了。

      很多人也許會低估偷價的危害性,事實上,固定點數的偷價相當於在原本的資金曲線上疊加了一條斜率為正的直線(在每次交易都是固定手數的情況下)。例如,假設在股指上每次交易偷價1個點,那麼一個上市至今交易2000筆的模型,會穩定淨賺1×300×2000×2=120萬。

      下麵兩個圖表是在股指連續合約5分鐘圖上測試的雙均線模型的交易盈虧曲線。圖1是包含偷價的策略,即如果上一根k線上出現均線金叉,則以當前k線最低價買入,死叉則以當前k線最高價賣出。圖2是沒有偷價的策略,即如果上一根k線上出現均線金叉,則以當前k線開盤價買入,死叉則以當前k線開盤價賣出。可以看出,兩者資金曲線差異非常大。

    image.png

      圖1.策略偷價

    image.png

      圖2.策略沒有偷價

      2.未來函數

      交易策略中如果包含了未來函數,運行後表現是,某天出現的交易信號會在一段時間後消失,之後可能會在其他位置出現相同或不同的信號。

      出現這種情況的原因是,函數在判斷是否發出信號以及發出何種信號時,利用了未來還不確定的行情資訊。例如,如果當前柱線上還在跳動的收盤價被用來判斷是否觸發信號,則該函數是未來函數。使用這類函數的模型,回測表現勝率可能非常高,是典型的馬後炮。

      下麵兩個圖表是在黃金連續合約5分鐘圖上測試的雙均線模型的交易盈虧曲線。圖3是包含未來函數的策略,即如果當前k線上出現均線金叉,則以當前k線開盤價買入,死叉則賣出。圖4是不包含未來函數的策略,即如果上一根k線上出現均線金叉,則以當前k線開盤價買入,死叉則賣出。可以看出,兩者資金曲線差異非常大。

    image.png

      圖3.策略包含未來函數

    image.png

      圖4.策略不包含未來函數

      3.手續費

      策略進行測試時,如果不計入手續費,資金曲線可能會產生巨大差異,甚至不計手續費的盈利策略,在計入手續費後也可能產生虧損。手續費相當於在原本的資金曲線上疊加了一條斜率為負的直線(在每次交易都是固定手數的情況下)。

      4.滑點

      滑點指的是開倉點位和成交點位之間的差異。滑點可能由網路延遲、交易平臺不穩定、行情波動劇烈、市場容量不夠等情況導致的,是難免會發生的情況,因此滑點是一個合格的交易策略必須充分考慮的因素。所以,如果在一個交易策略中,將滑點數設置為0,其資金曲線就會優於同一個滑點數不為0的策略。

      滑點和手續費對一個策略的資金曲線造成的影響是類似的。

      下麵兩個圖表是在滬銅連續合約5分鐘圖上測試的雙均線模型的交易盈虧曲線。圖5是手續費和滑點均為0的策略。圖6是設置了2.5%%手續費和2跳滑點的策略。可見,一個盈利的無成本交易策略,在合理設置成本後卻可能出現虧損。

    image.png

      圖5. 手續費和滑點均為0

    image.png

      圖6. 手續費2.5%%,滑點2跳

      5.指數合約

      有些策略回測的合約是指數合約,而指數合約是使用該品種所有合約加權平均生成的,其價格與主力連續合約有所差異,這種價格上的差異會使回測的資金曲線不真實。

      例如,某個合約上的短期劇烈波動被指數合約平滑了;或者,當遠月合約升水,同時與近月合約基差較大,且處於移倉換月時,由於遠月權重的逐步加大,可能會在指數合約上形成一輪漲勢,而實際並不存在;再或者,實際操作中的移倉可能會產生一定的基差成本,這在指數合約上卻無需支付。

      下麵兩個圖表是在滬銅指數合約和滬銅連續合約5分鐘圖上測試的海龜交易系統的交易盈虧曲線圖。圖7是滬銅指數合約的交易盈虧曲線。圖8是滬銅連續合約的交易盈虧曲線。可以看出,圖7的曲線顯然更加平滑,且最終表現更優異。

    image.png

      圖7.滬銅指數合約

    image.png

      圖8.滬銅連續合約

      6.過度優化

      有些策略在公佈資金曲線前可能進行了過度優化。過度優化有多種操作方法,例如,策略交易者可以針對某段特定的行情,或短時間的行情進行參數優化,之後將分段行情對應的資金曲線拼接起來,得到一個表現更出色的資金曲線;或者,策略交易者指定過去某幾個表現較差的交易日不進行交易;再或者,策略交易者對過去的行情進行過度擬合,卻並不考慮這個擬合方程不適用於未來;等等。上述種種經過加工的回測時的優異表現,都會與策略未來的運行結果存在較大差異。

      曲線擬合可以幫助我們解釋過去的走勢,從而推導未來的走勢。然而,如果策略交易者對行情進行了過度擬合,則策略對過去行情的解釋可能會非常出色,但對於未來行情的解釋卻幾乎肯定是非常糟糕的。

      下麵兩個圖表可以闡釋適當的曲線擬合和過度的曲線擬合。圖9的紅色曲線擬合是適當的,我們可以看到十個離散點基本均勻的分佈在曲線附近。圖10的紅色曲線擬合很顯然是過度的,每個點都位於紅色曲線上,但我們很難想像這跟曲線能夠表達出下一個即將出現的點。

    image.png

      圖9.適當擬合

    image.png

      圖10.過度擬合

      7.市場容量

      對於承載較大資金規模的策略而言,如果沒有充分考慮市場容量的問題,可能會導致交易結果與預期偏差較大。例如,漲跌停和流動性中斷時,大資金常常很難成交,這在策略回測時很難納入考量;或者,實際品種的市場容量有限,較大的單量不能全部以指定價格成交,這也會影響最終的交易結果。

      8.樣本量過少

      有些策略覆蓋的時間段太短,所以樣本量太少,不能充分展現策略效果。這些策略在更長時間段上的資金曲線可能表現的並沒有那麼好。

      9.信號量過少

      有些策略雖然測試了較長的時間段,但觸發的交易信號很少。這些策略未來是否表現穩定也有待觀察。例如,應用在日線圖上的策略需要考察更長的時期。

      10.適用範圍小

      有些策略雖然覆蓋了較長的時間段,或較多的品種或市場,但僅僅覆蓋了一種類型的行情(例如一輪較長時間的大牛市)。這些策略在遇到截然不同的市場情況時,表現可能會大相徑庭。

    熱點資訊

    United Arab Emirates Dirham

    • United Arab Emirates Dirham
    • Australia Dollar
    • Canadian Dollar
    • Swiss Franc
    • Chinese Yuan
    • Danish Krone
    • Euro
    • British Pound
    • Hong Kong Dollar
    • Hungarian Forint
    • Japanese Yen
    • South Korean Won
    • Mexican Peso
    • Malaysian Ringgit
    • Norwegian Krone
    • New Zealand Dollar
    • Polish Zloty
    • Russian Ruble
    • Saudi Arabian Riyal
    • Swedish Krona
    • Singapore Dollar
    • Thai Baht
    • Turkish Lira
    • United States Dollar
    • South African Rand

    United States Dollar

    • United Arab Emirates Dirham
    • Australia Dollar
    • Canadian Dollar
    • Swiss Franc
    • Chinese Yuan
    • Danish Krone
    • Euro
    • British Pound
    • Hong Kong Dollar
    • Hungarian Forint
    • Japanese Yen
    • South Korean Won
    • Mexican Peso
    • Malaysian Ringgit
    • Norwegian Krone
    • New Zealand Dollar
    • Polish Zloty
    • Russian Ruble
    • Saudi Arabian Riyal
    • Swedish Krona
    • Singapore Dollar
    • Thai Baht
    • Turkish Lira
    • United States Dollar
    • South African Rand
    當前匯率  :
    --
    請輸入金額
    United Arab Emirates Dirham
    可兌換金額
    -- United States Dollar
    風險提示

    外匯天眼資料均來自各國外匯監管機構的官方資料,如英國FCA、澳大利亞ASIC等,所公佈的內容亦均以公正、客觀和實事求是為宗旨,不向外匯交易平臺收取公關費、廣告費、排名費、資料清洗費等灰色費用。外匯天眼會盡最大努力保持我方資料與各監管機構等權威資料方資料的一致及同步性,但不承諾與其即時保持一致和同步。

    鑑於外匯行業的錯綜複雜,不排除有個別外匯交易商通過欺騙手段獲得監管機構的合法註冊。如WikiFX所公佈數據與實際情況有不符之處,請通過WikiFX“投訴”和“糾錯”功能,向我們提出,我們將及時進行核實查證,並公佈相關結果。

    外匯、貴金屬和差價合約(OTC場外交易)是槓桿產品,存在較高的風險,可能會導致虧損您的投資本金,請理性投資。

    特別提示,外匯天眼所列資訊僅供參考,不構成投資建議。外匯平臺由客戶自行選擇,平臺操作帶來的風險,與外匯天眼無關,客戶需自行承擔相關後果和責任。