<dd id="wfjyo"><output id="wfjyo"></output></dd>
  • <span id="wfjyo"><output id="wfjyo"><b id="wfjyo"></b></output></span>

  • <input id="wfjyo"></input>

    <ol id="wfjyo"></ol>

    <track id="wfjyo"></track>
    <optgroup id="wfjyo"></optgroup>

      <acronym id="wfjyo"></acronym><span id="wfjyo"><sup id="wfjyo"></sup></span>

          <dd id="wfjyo"></dd>
          1. <optgroup id="wfjyo"></optgroup>

            打開微信,掃一掃登錄

            在量化交易策略設計中我們要避免哪些“陷阱”?

            網絡   2019-07-19 15:57 18642 7

            在策略的設計過程中,必須十分注意這些“陷阱”,才能讓策略反映真實有效的結果。

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


            1、偷價

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


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


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



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


            圖1.策略偷價


            圖2.策略沒有偷價


            2、未來函數


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


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


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


            圖3.策略包含未來函數

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


            3、手續費


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


            4、滑點


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


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


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


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

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


            5、指數合約


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


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


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


            圖7.滬銅指數合約

            圖8.滬銅連續合約


            6、過度優化


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


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


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


            圖9.適當擬合

            圖10.過度擬合


            7、市場容量


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


            8、樣本量過少


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


            9、信號量過少


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


            10、適用范圍小


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


            亚洲真人无码永久在线观看-幻女free性摘花第一次-欧美熟妇zozo杂交-色狠狠色偷偷色噜噜色

            <dd id="wfjyo"><output id="wfjyo"></output></dd>
          2. <span id="wfjyo"><output id="wfjyo"><b id="wfjyo"></b></output></span>

          3. <input id="wfjyo"></input>

            <ol id="wfjyo"></ol>

            <track id="wfjyo"></track>
            <optgroup id="wfjyo"></optgroup>

              <acronym id="wfjyo"></acronym><span id="wfjyo"><sup id="wfjyo"></sup></span>

                  <dd id="wfjyo"></dd>
                  1. <optgroup id="wfjyo"></optgroup>