點(diǎn)及財(cái)經(jīng),股票期貨專(zhuān)業(yè)投機(jī)者。
說(shuō)起價(jià)格'樞軸'交易系統(tǒng),相信每一位量化交易者或許會(huì)聯(lián)想到全球收益top10的量化交易策略。
例如:R-breaker,Dual Thrust等比較經(jīng)典的基于某個(gè)價(jià)格為樞軸,然后加減一定閥值得到其他關(guān)鍵價(jià)格(上軌、下軌等)的量化策略。
通過(guò)突破區(qū)間或突破區(qū)間后是否反轉(zhuǎn),作為交易信號(hào)的主要來(lái)源。
如下圖所示:
注:R-breaker策略的開(kāi)平倉(cāng)邏輯。
而今天,作者同樣是給大家分享一個(gè)基于昨日k線(xiàn)的樞軸交易系統(tǒng),并將其稱(chēng)為'P_breaker',即'樞軸區(qū)間突破策略'。
同時(shí),作者將在策略中與跨周期、跟蹤止盈及波動(dòng)率(ATR)過(guò)濾假突破方法相結(jié)合開(kāi)發(fā)程序化交易策略,并實(shí)現(xiàn)自動(dòng)化交易。
文章所說(shuō)的樞軸區(qū)間,可以理解成兩條軌道(上軌和下軌),算法也是比較的簡(jiǎn)單。
我們只需要昨日k線(xiàn)的最高價(jià)、最低價(jià)和收盤(pán)價(jià)就可以計(jì)算出'P_breaker'策略的樞軸價(jià)格區(qū)間。
算法如下圖所示:
注:上圖中Pivot_Up、Pivot_Down就是所謂樞軸價(jià)格區(qū)間的上軌和下軌。'[1]'代表上一個(gè)交易日。
想要計(jì)算樞軸價(jià)格區(qū)間,我們的首先得知道Pivot_Range,也就是樞軸價(jià)差。
樞軸價(jià)差,簡(jiǎn)單來(lái)講。就是昨日k線(xiàn)的高低價(jià)均值與昨日k線(xiàn)的高低收價(jià)均值之差。
如下圖所示:
然后,用昨日k線(xiàn)的高低收價(jià)均值±Pivot_Range就得到我們的樞軸價(jià)格區(qū)間Pivot_Up和Pivot_Down這兩個(gè)軌道。
這就我們樞軸價(jià)格區(qū)間的計(jì)算方法。
當(dāng)價(jià)格在上軌之上,代表著多頭趨勢(shì)。反之,則為空頭趨勢(shì)。
作者將其計(jì)算出來(lái)以后,迫不及待的趕緊加個(gè)開(kāi)平倉(cāng)指令看看他的回測(cè)效果。以下是策略的開(kāi)平倉(cāng)邏輯。
① 開(kāi)倉(cāng)邏輯:
如下圖所示:
② 策略平倉(cāng)邏輯:
然而,說(shuō)實(shí)話(huà)回測(cè)報(bào)告差的不是一點(diǎn)半點(diǎn),而是很差!
如下圖所示:
③ 策略交易信號(hào):
如下圖所示:
其他的不說(shuō),就說(shuō)這交易次數(shù)。這么多交易次數(shù),很明顯就是交易過(guò)度而引起的。原因有很多,比如沒(méi)有進(jìn)行假突破過(guò)濾、方向過(guò)濾方法不好、止盈太過(guò)靈敏等!
交易次數(shù)一旦過(guò)多,就會(huì)影響整個(gè)策略的績(jī)效。就拿最致命的一點(diǎn),那就是滑點(diǎn)成本!進(jìn)而拉低盈虧比,勝率和平均利潤(rùn)指標(biāo)。
因此,要想知道自己策略交易次數(shù)是否合理,需要策略邏輯與交易信號(hào)結(jié)合,仔細(xì)觀(guān)察每一筆交易是否是策略應(yīng)該抓住的。
如下圖所示:
并觀(guān)察,信號(hào)在震蕩區(qū)域的表現(xiàn)。如果頻繁觸發(fā)止損,那么策略就還需要改進(jìn)(過(guò)濾)。
因此,作者將結(jié)合策略本身特性、跨周期、跟蹤止盈及波動(dòng)率方法來(lái)對(duì)策略進(jìn)行改進(jìn)!
我們都知道上述策略中,作者觀(guān)察交易信號(hào)。發(fā)現(xiàn)策略交易次數(shù)過(guò)多,震蕩區(qū)域頻繁觸發(fā)假信號(hào),以及多空趨勢(shì)的劃分仍不夠成熟。
以上因素,導(dǎo)致了策略績(jī)效非常糟糕。
如下圖所示:
而接下來(lái),作者將在不改變?cè)呗缘闹饕灰走壿嫷幕A(chǔ)上對(duì)其進(jìn)行改進(jìn)。
1. 重大改進(jìn)一,將計(jì)算樞軸價(jià)格區(qū)間的時(shí)間再拉長(zhǎng)。
在之前,我們用于計(jì)算樞軸價(jià)格區(qū)間的k線(xiàn)僅僅是昨日一根k線(xiàn)。而在這里,作者將用N根日k線(xiàn)的價(jià)格數(shù)據(jù),組合成一根新的k線(xiàn)。作者在策略中N=3,即3根日k。
利用組合后的k線(xiàn)數(shù)據(jù),計(jì)算樞軸價(jià)格區(qū)間。
如下圖所示:
2. 重大改進(jìn)二,利用跨周期均線(xiàn)進(jìn)行多空趨勢(shì)過(guò)濾。
在原策略中,價(jià)格在上軌之上,稱(chēng)為多頭趨勢(shì)。價(jià)格在下軌之下,稱(chēng)為空頭趨勢(shì)。這樣是不夠的,我們應(yīng)該順大勢(shì)(大周期趨勢(shì))。
所以,除了用樞軸價(jià)格區(qū)間判斷趨勢(shì)外,作者還將采用周線(xiàn)的EMA8均線(xiàn)作為多空趨勢(shì)過(guò)濾器。
如下圖所示:
注:藍(lán)色線(xiàn)為17分鐘周期獲取到的周線(xiàn)EMA8均線(xiàn)。
3. 重大改進(jìn)三,利用波動(dòng)率ATR過(guò)濾假突破。
由于系統(tǒng)在震蕩區(qū)域頻繁的觸發(fā)假信號(hào),導(dǎo)致策略反復(fù)打臉。因此,作者將在開(kāi)倉(cāng)價(jià)格±1倍ATR,增加信號(hào)的觸發(fā)難度。以降低策略開(kāi)倉(cāng)的靈敏度。
如下圖所示:
4. 重大改進(jìn)四,作者將采用跟蹤止盈作為策略的出場(chǎng)。
在原策略中,我們只采用唐奇安通道作為出場(chǎng)。有一個(gè)很?chē)?yán)重的問(wèn)題,那就是止盈不夠及時(shí),盈利單子很可能變成虧損。
因此,作者將采用具有加速算法的跟蹤止盈方法,作為策略的出場(chǎng)。
如下圖所示:
小結(jié)。
以上,就是作者通過(guò)自己的一些經(jīng)驗(yàn)結(jié)合策略邏輯,對(duì)策略進(jìn)行改進(jìn)。
跨周期的過(guò)濾,主要是為了順大勢(shì),開(kāi)倉(cāng)更具有優(yōu)勢(shì)。增加波動(dòng)率ATR過(guò)濾及計(jì)算樞軸價(jià)格區(qū)間所需的日k線(xiàn)數(shù)量,是為了讓策略開(kāi)倉(cāng)信號(hào)不那么靈敏,可以減少交易次數(shù)。
作者用螺紋鋼期貨指數(shù)17分鐘周期進(jìn)行回測(cè),策略回測(cè)參數(shù)、盈虧曲線(xiàn)及交易信號(hào)如下圖所示:
① 策略回測(cè)參數(shù)設(shè)置:
② 策略交易盈虧曲線(xiàn):
③ 策略交易信號(hào):
小結(jié)。
從改進(jìn)前后的資金曲線(xiàn)對(duì)比來(lái)看,通過(guò)4大方法改進(jìn)之后系統(tǒng)有了非常大的提升。
策略的盈虧比是1.66,勝率是49%,平均利潤(rùn)是103,交易次數(shù)是471,最大回撤是-4930。
文章策略的每一個(gè)模塊都是核心。
例如:'P_breaker'策略的樞軸價(jià)幅的計(jì)算,以及策略中的跨周期、波動(dòng)率ATR過(guò)濾和跟蹤止盈。
這些模塊的改進(jìn),讓首先是讓策略的交易次數(shù)瞬間驟降,同時(shí)降低了策略在震蕩區(qū)間觸發(fā)假信號(hào)的次數(shù)。從而大大提高了策略的勝率等其他統(tǒng)計(jì)指標(biāo)。
聯(lián)系客服