潘磊 王琦 王丹華 范大娟
摘 要:近年來中國的金融市場發(fā)展迅速,借助國外市場的量化投資發(fā)展經(jīng)驗,我國的量化投資基金也大量涌現(xiàn),與其他一致但其中大部分主要投資于期貨市場,主要由于傳統(tǒng)的量化交易策略大多不適應(yīng)國內(nèi)股票市場的特點。本文基于量化交易中的Dual-Thrust策略,實現(xiàn)了一個做多版本的改進策略,并基于中國股票市場歷史數(shù)據(jù)進行了回測驗證,實驗結(jié)果表明該擇時策略在中國A股交易中具有一定的盈利能力,對后續(xù)其他量化交易策略的開發(fā)具有一定的指導(dǎo)作用。
關(guān)鍵詞:量化交易 量化投資 趨勢跟蹤 股票策略 擇時交易
中圖分類號:F832.51 文獻標(biāo)識碼:A 文章編號:1672-3791(2018)09(c)-0017-06
Abstract:In recent years, China's financial market has developed rapidly. With the experience of quantitative investment development in foreign markets, China's quantitative investment funds have also emerged in large numbers, but most of them mainly invest in the futures market, mainly because traditional quantitative trading strategies are mostly unsuitable for the domestic stock market. Based on the Dual-Thrust strategy in quantitative trading, this paper implements an improved strategy and performs back-testing based on historical data of China's stock market. Experiment results show that this strategy has certain profit in China A-share trading, and there are also guidance for the development of other quantitative trading research.
Key Words:Quantitative trading; Quantitative investment; Trend tracking; Stock strategy; Market-timing
隨著中國金融市場的快速發(fā)展,量化交易與量化投資,逐漸發(fā)展起來,出現(xiàn)了許多以量化投資為主的投資基金,甚至是全自動無人值守的機器交易型量化基金。由于主觀交易通常是交易者通過自己的經(jīng)驗來進行交易決策,決定何時買賣以及購買什么品種的投資標(biāo)的。而量化交易則是通過對交易的理解,制定機械化的買賣規(guī)則,在條件觸發(fā)后無條件的執(zhí)行交易信號。因此量化交易可以解決主觀交易者由于自身心理、情緒因素等缺陷造成的錯誤交易。
但中國量化交易起步較晚,且中國股票市場與外國市場相比較,具有自身的特點,一些國外成熟的量化交易模型和量化投資理念并不能直接適用于中國股票市場。
齊岳等研究者[1]采用深度強化學(xué)習(xí)中的深度確定性策略梯度,將深度強化學(xué)習(xí)技術(shù)應(yīng)用于投資組合管理。孫瑞奇采用神經(jīng)網(wǎng)絡(luò)、RNN和LSTM預(yù)測標(biāo)普500指數(shù)的收盤價[2]。蔣慧敏提出了一種基于Zigzag的K線趨勢中的高點、低點和拐點的識別算法,來構(gòu)造期貨程序化交易系統(tǒng)中K線特征趨勢算法[3]。王淑燕等研究者使用基于八因子選股模型,利用隨機森林算法實現(xiàn)了對股票漲跌的預(yù)測[4]。王宣承利用LASSO方法選出有效的技術(shù)指標(biāo)作為輸入變量,然后通過神經(jīng)網(wǎng)絡(luò)方法來搜索最優(yōu)的交易規(guī)則[5]。另外,也有學(xué)者利用遺傳算法等來優(yōu)化SVM并應(yīng)用于提高交易信號的準(zhǔn)確性上[6]。
Dual-Thrust(以下簡稱DT)是由Michael Chalek在20世紀(jì)80年代開發(fā),曾被FutureTrust雜志評為最賺錢的策略之一。DT系統(tǒng)策略思路簡明,適用于股票、期貨、外匯等多類型市場,如果配合上良好的資金管理和策略擇時,可以為投資者帶來長期穩(wěn)定的收益。DT是典型的區(qū)間突破型策略,以當(dāng)日開盤價加減一定比例的N周期內(nèi)的價格振幅(Range),確定上下軌。DT對于多頭和空頭的觸發(fā)條件,考慮了非對稱的幅度,做多和做空參考的Range可以選擇不同的周期數(shù),也可以通過參數(shù)來確定。
DT原主要應(yīng)用在可以雙向多空交易的市場中,但筆者認(rèn)為在股票交易中亦有一定的參考作用。本文實現(xiàn)了原版DT策略并在中國A股市場中進行了實證,實踐證明了該交易系統(tǒng)在A股的有效性,同時也證明了中國股票市場當(dāng)前還不是有效市場,而是存在一種局部無效性的一個弱有效市場。
1 策略原理
1.1 開盤區(qū)間突破策略
DT系統(tǒng)是根據(jù)開盤區(qū)間突破策略改進而來的,而后者的主要實現(xiàn)原理如下。
(1)在前一天的收盤時,計算兩個值,分別是:最高價-收盤價和收盤價-最低價。然后取這兩個值較大的那個,乘以參數(shù)k。把結(jié)果稱為觸發(fā)值。
(2)在當(dāng)天開盤時,記錄當(dāng)時的開盤價,然后在當(dāng)日實時價格超過設(shè)定的閾值(開盤+觸發(fā)值)時馬上買入,或者當(dāng)實時價格低于閾值(開盤-觸發(fā)值)時馬上賣空。
(3)不設(shè)定止損,因此這個系統(tǒng)是反轉(zhuǎn)系統(tǒng),即如果在價格超過閾值時有一手空頭倉位,則買入兩手。同理,如果在價格低于閾值時手上有一手多單,則賣出兩手。
1.2 DT策略
DT策略在開盤區(qū)間突破策略上進行了相關(guān)改進,如圖1所示。
(1)在區(qū)間閾值(Range)的設(shè)置上,引入前N日的4個價位,分別為N日最高價中的最高價、N日收盤價中的最高價、N日收盤價中的最低價、N日最低價中的最低價,使得一定時期內(nèi)的范圍相對穩(wěn)定,可以適用于日間的趨勢跟蹤。
(2)DT策略對于多頭和空頭的觸發(fā)條件,考慮了非對稱的幅度,做多和做空參考的Range可以選擇不同的周期數(shù),同時可以通過參數(shù)Ks和Kx來確定。當(dāng)Ks
因此,通常在使用該策略時,一方面可以參考歷史數(shù)據(jù)進行參數(shù)調(diào)優(yōu),另一方面,則可以根據(jù)投資者主觀對后勢的判斷,或從結(jié)合其他的技術(shù)分析指標(biāo)或數(shù)據(jù)模型,階段性地動態(tài)調(diào)整參數(shù)的值。
由于DT策略原是用于多空交易,適合既可以做多又可以做空的市場,如期貨、外匯等,但在中國A股目前做空手段有限的情況下,不太適用,因此我們將其中的做空信號改為空倉信號,當(dāng)策略滿足賣出條件后就一直空倉,直到下次再滿足開倉條件,修改后的策略偽代碼描述如表1所示。
其中high[1]、low[1]分別表示當(dāng)前周期的前一根K線的最高價和最低價,HighD(1)表示前一天的最高價,CloseD(1)表示前一天的收盤價,LowD(1)表示前一天的最低價,OpenD(0)表示當(dāng)天的開盤價。Highest(x,N)和Lowest(x,N)分別是求N天最大值和最小值的函數(shù),Buy和Sell分別是買入和賣出函數(shù),MarketPosition表示當(dāng)前股票倉位,0表示空倉,1表示持倉。
2 實驗
2.1 DT策略在通達信中的實現(xiàn)
筆者將原版的Dual Thrust策略在通達信(一款股票行情與分析軟件)中進行的實現(xiàn),實現(xiàn)的代碼如圖2所示
如圖3所示,DT策略在通達信中的實現(xiàn)是以技術(shù)指標(biāo)+交易系統(tǒng)形式完成,在技術(shù)指標(biāo)中通過設(shè)置買賣點信號以及買賣點之間的連線,我們可以很清楚地看到,實線線段表示買入持股過程,而虛線線段則是賣出空倉的過程。
2.2 不同周期的應(yīng)用
DT策略可以應(yīng)用在1min、5min、15min、60min等多個K線周期上,并且根據(jù)不同的交易周期可以結(jié)合不同的交易策略行程穩(wěn)定的交易系統(tǒng)。圖4到圖7為DT策略在通達信中不同K線周期的買賣信號情況,對于同一只股票,在不同周期加載改策略,實際的交易信號的時間點是不同的,因此交易效果也不盡相同。
2.3 回測分析
通過程序化交易回測,可以將DT策略的歷史交易情況進行回測分析,以驗證策略在實際股票交易中的表現(xiàn)情況。下面以5minK線周期中的DT策略為例,選取了2006年8月至2015年7月間的股票數(shù)據(jù)作為樣本,數(shù)據(jù)包含5min周期的開盤價、收盤價、最高價、最低價和成交量的歷史數(shù)據(jù),分別對幾只股票進行了歷史回測,評估回測性能的指標(biāo)的含義如表2所示,DT策略參數(shù)使用默認(rèn)值(K1=0.5,K2=0.5,M=1,N=1),交易手續(xù)費設(shè)置為5%,回測結(jié)果如表3所示。
由實驗結(jié)果可知,一個可以穩(wěn)定盈利的趨勢型股票交易策略,月勝率不一定要很高,甚至可以不超過50%,但是盈虧比一定要盡量高。即盈利的時候盡量盈利的多,而虧損的時候盡量虧損的少,當(dāng)符合這樣統(tǒng)計規(guī)律的情況下,趨勢策略是可以長期穩(wěn)定從股市中盈利的,當(dāng)然也要有足夠的交易次數(shù)作為保證,并且回測中所用的股票數(shù)據(jù)的跨度都在3年以上,最長的達到10年,進而證明DT策略在A股的股票交易中具有一定的穩(wěn)定盈利性能,但同時也值得注意的是,該策略的最大回撤也比較大,因而風(fēng)險較大,在實際使用當(dāng)中可以結(jié)合其他信息進行過濾,以減小交易時的風(fēng)險。
3 結(jié)語
本文將Dual-Thrust策略進行修改,實現(xiàn)了一個只做多版本的Dual-Thrust策略,并在中國A股10年的歷史數(shù)據(jù)中進行了回測驗證,實驗結(jié)果證明了該策略在A股量化交易中的有效性,有一定的盈利能力,但回撤稍大,未來可結(jié)合其他的改進和過濾策略進一步改進。
參考文獻
[1] 齊岳,黃碩華.基于深度強化學(xué)習(xí)DDPG算法的投資組合管理[J].計算機與現(xiàn)代化,2018(5):93-99.
[2] 孫瑞奇.基于LSTM神經(jīng)網(wǎng)絡(luò)的美股股指價格趨勢預(yù)測模型的研究[D].首都經(jīng)濟貿(mào)易大學(xué),2016.
[3] 蔣慧敏.基于Zigzag的K線趨勢拐點識別算法設(shè)計與實現(xiàn)[J].計算技術(shù)與自動化,2017,36(4):68-71.
[4] 王淑燕,曹正鳳,陳銘芷.隨機森林在量化選股中的應(yīng)用研究[J].運籌與管理,2016,25(3):163-168,177.
[5] 王宣承.基于LASSO和神經(jīng)網(wǎng)絡(luò)的量化交易智能系統(tǒng)構(gòu)建——以滬深300股指期貨為例[J].投資研究,2014,33(9):23-39.
[6] 黃宏運,吳禮斌,李詩爭.GA優(yōu)化的SVM在量化擇時中的應(yīng)用[J].南京師范大學(xué)學(xué)報:工程技術(shù)版,2017,17(1):72-79.