韓澤文
高頻交易市場是許多金融機(jī)構(gòu)角力的重要場所,量價(jià)關(guān)系則是眾多學(xué)者研究的重點(diǎn)。通過量價(jià)關(guān)系在高頻交易市場構(gòu)建合適的模型來預(yù)測價(jià)格趨勢一直是各大券商研究的方向之一。本文通過掛單量因子這一指標(biāo),構(gòu)建了嶺回歸模型來預(yù)測價(jià)格變化,并根據(jù)模型建立的簡單策略進(jìn)行模擬交易,取得了不錯(cuò)的效果。
一、引言
長期以來,以股指期貨為主的二級(jí)市場都是各大券商的必爭之地,而作為矛頭的高頻交易策略則是一家券商硬實(shí)力的集中體現(xiàn)之一。與傳統(tǒng)的中低頻交易側(cè)重關(guān)注收盤信息的特點(diǎn)不同,高頻交易要求交易者能對(duì)日內(nèi)數(shù)據(jù)的變化做出及時(shí)應(yīng)對(duì)。一個(gè)理想的右側(cè)交易策略應(yīng)該是能較為準(zhǔn)確地在價(jià)格低位發(fā)出開倉信號(hào),在價(jià)格到達(dá)高位后及時(shí)發(fā)出信號(hào)平倉。為了探尋合適的交易信號(hào)來構(gòu)建一個(gè)穩(wěn)定可行的交易策略,需要選取一些合適的指標(biāo)來預(yù)測價(jià)格的趨勢。以往的量價(jià)關(guān)系的研究多集中于論證上·,鮮有成果能成功找到穩(wěn)健的因子;且因子的運(yùn)用多集中在日頻交易等中低頻交易中,對(duì)高頻交易的研究往往被忽視,而在市場中進(jìn)行交易正是研究的目的。因此,本文以Cont的掛單量因子模型作為基礎(chǔ),根據(jù)高頻市場的特征對(duì)模型進(jìn)行改進(jìn),并在滬深股市上用一年的高頻數(shù)據(jù)(tick級(jí))進(jìn)行模擬交易。
二、數(shù)據(jù)預(yù)處理
對(duì)數(shù)據(jù)的預(yù)處理在模型擬合中十分關(guān)鍵。如果不能很好的處理數(shù)據(jù),模型會(huì)很大程度地受到樣本不平衡等負(fù)面因素影響,導(dǎo)致模擬交易的失敗。這也是高頻交易中模型擬合的一大難點(diǎn)。本文主要通過增大訓(xùn)練集的方法來避免這些問題的出現(xiàn)。
讀取2020整年的數(shù)據(jù),將數(shù)據(jù)按交易時(shí)間做升序排列,得到新的數(shù)據(jù)集。根據(jù)交易時(shí)間對(duì)該數(shù)據(jù)做篩選,選出發(fā)生在09:30:00至11:30:00、13:00:00至14:56:57間的交易信息,同時(shí)生成在這時(shí)間內(nèi)頻率為3秒的均勻時(shí)間序列。對(duì)比后發(fā)現(xiàn)手頭的數(shù)據(jù)與標(biāo)準(zhǔn)的時(shí)間序列不同,將多余的刪去,缺失的用前一個(gè)tick補(bǔ)上,得到標(biāo)準(zhǔn)的序列,數(shù)據(jù)預(yù)處理完畢。
為了訓(xùn)練和檢驗(yàn)?zāi)P停瑢?shù)據(jù)集劃分為訓(xùn)練集和測試集兩塊。將前兩個(gè)月的交易數(shù)據(jù),即前65861個(gè)tick數(shù)據(jù)作為訓(xùn)練集訓(xùn)練模型,剩下的數(shù)據(jù)則作為測試集來檢驗(yàn)?zāi)P偷臄M合效果,以判斷模型是否可用于交易。
三、構(gòu)建模型
本文的模型建立在Cont構(gòu)造的掛單量因子上,并根據(jù)Bartolozzi的理論,將原本日頻的模型引用到高頻交易中
(一)構(gòu)建自變量:
1.委買量序列:
以一檔為例,如果一檔買價(jià)跟前一tick比成上升趨勢,w1為該tick的一檔委買量。如果買價(jià)下降,w1為前一tick的一檔委買量的負(fù)值。如果買價(jià)并無變化,w1為該tick的一檔委買量和前一tick的差值。即:
其中,w1n 為新定義的一檔買量序列,buyvolume1n 為在n時(shí)刻的一檔委買量,buyprice1n為在n時(shí)刻的一檔買價(jià)。
以此類推,得到十檔委買量序列:w1~w10。
2.委賣量序列:
以一檔為例,如果n時(shí)刻的一檔賣價(jià)比前一時(shí)刻的賣價(jià)高,v1為前一時(shí)刻的一檔委賣量的負(fù)值。如果賣價(jià)下降,v1為該時(shí)刻的委賣量。如果賣價(jià)并無變化,v1為該時(shí)刻的一檔委賣量和前一時(shí)刻的差值。即:
其中,v1n為新定義的一檔賣量序列,sellvolume1n 為在n時(shí)刻的一檔委賣量,sellprice1n為在n時(shí)刻的一檔賣價(jià)。
以此類推,得到十檔委賣量序列:v1~v10。
3.差值序列:
每檔委買量序列與委賣量序列的差值,即:
4.掛單流差值序列(Order Flow Imbalance):
根據(jù)經(jīng)驗(yàn)法則,約每十秒會(huì)有比較顯著的掛單流差值變動(dòng),因此,以每三個(gè)tick為單位對(duì)每檔的差值序列取平均,得到新的每檔序列,即:
此處的每檔OFI序列即為所需的自變量。
(二)構(gòu)建因變量:
構(gòu)建加權(quán)價(jià)格序列:
構(gòu)建盤口加權(quán)價(jià)格序列weighted-price,即:
其中,buyprice1(n) 為n時(shí)刻的一檔買價(jià),buyvolume1(n)為一檔買量,sellprice1(n) 為n時(shí)刻的一檔賣價(jià),sellvolume1(n)為一檔賣量。
(三)模型擬合:
構(gòu)建嶺回歸:
利用逐步回歸的思想,構(gòu)建一個(gè)包含十檔信息的函數(shù),再根據(jù)顯著性檢驗(yàn)剔除自變量,得到最后的模型。即:
為了避免出現(xiàn)利用明日數(shù)據(jù)構(gòu)建明日模型造成的過擬合,我們用該時(shí)刻和前一時(shí)刻的tick數(shù)據(jù)構(gòu)建自變量去預(yù)測下一tick時(shí)的中間價(jià)與現(xiàn)在的差值。得到的模型R方為0.149,雖然從統(tǒng)計(jì)學(xué)角度出發(fā),模型的擬合結(jié)果并不夠顯著,但在高頻交易中該模型的擬合結(jié)果是可以接受的。
四、模型實(shí)踐
(一)構(gòu)建策略:
根據(jù)信息可知:該股股價(jià)在100左右浮動(dòng),為了避免因?yàn)檎`觸信號(hào)而造成的錯(cuò)誤開倉,我們將閾值設(shè)定為大于交易成本的為0.24,即:當(dāng)模型預(yù)測的差值減去前一tick的差值上穿閾值,在下一tick按賣一價(jià)買入,當(dāng)預(yù)測值減去觀測值下穿閾值,則在下一tick按買一價(jià)賣出平倉。
(二)實(shí)踐策略:
在測試集中實(shí)踐這個(gè)策略,得到122次交易機(jī)會(huì),平均收益率約為0.0028,勝率為0.5。凈值曲線如下圖:
從凈值曲線中可以看出,即便收益率有所波動(dòng),該策略在高頻交易中的表現(xiàn)是比較優(yōu)秀的,能在去除交易費(fèi)用的情況下保持較高的交易次數(shù)和勝率,有一定的可行性。
五、結(jié)語
本文以相關(guān)研究為基礎(chǔ),將Cont等人的掛單量因子模型應(yīng)用到高頻交易市場,嘗試在模擬日內(nèi)交易中獲得超額收益,并取得了不錯(cuò)的成績。由此可以看出,掛單量因子可以為交易者提供超額收益。
(作者單位:吉林大學(xué) 數(shù)學(xué)學(xué)院統(tǒng)計(jì)學(xué)專業(yè))