郭建峰 楊昀昶
摘? ?要:文章利用機(jī)器學(xué)習(xí)支持向量機(jī)算法中的C-SVM模型來對期貨進(jìn)行擇時,構(gòu)建基于C-SVM的期貨訂單簿擇時交易策略模型,以上海黃金期貨主力合約訂單簿數(shù)據(jù),引入交易止損機(jī)制進(jìn)行回測評價,通過與實際真實交易信號對比,可以發(fā)現(xiàn)基于該模型預(yù)測的擇時交易信號準(zhǔn)確率較高,從而驗證基于C-SVM的期貨訂單簿量化擇時交易策略是有效的,可以輔助決策期貨交易,選擇合適時機(jī)進(jìn)行期貨合約買賣盈利。
關(guān)鍵詞:C-SVM;期貨;訂單簿;擇時交易
全球證券市場的交易機(jī)制一般分為報價驅(qū)動市場和訂單驅(qū)動市場兩類,前者由做市商提供交易流動性,后者由交易指令訂單提供流動性。中國的股票和期貨市場都屬于訂單驅(qū)動。目前,針對訂單驅(qū)動市場的訂單簿動態(tài)建模及構(gòu)建交易策略,主要是通過金融計量學(xué)和機(jī)器學(xué)習(xí)兩種方法來完成。本文將采用機(jī)器學(xué)習(xí)方法中的支持向量機(jī)(Support Vector Machine,SVM),依據(jù)期貨的訂單簿建模,研究期貨的擇時交易策略。SVM最早由Vapnik提出,是一種分類學(xué)習(xí)算法。對于一個分類問題,單層前向問題可解決線性分類問題,多層前向問題可解決非線性問題。但這些只能解決問題,并不能保證得到分類器是最優(yōu)的?;诮y(tǒng)計學(xué)習(xí)理論的SVM方法可以從理論上實現(xiàn)對不同類別間的最優(yōu)分類,通過尋找最壞的向量,達(dá)到最好的泛化目的。本文首先介紹并推導(dǎo) SVM模型,并解釋為何選擇該模型做期貨走勢的預(yù)測,利用非線性SVM模型中的 C-SVM模型來對期貨進(jìn)行擇時。通過自動地對漲跌兩種狀態(tài)進(jìn)行分類學(xué)習(xí),使計算機(jī)自動識別未來可能的狀態(tài),達(dá)到擇時的目的。本文實證部分,以上海黃金期貨為例,以價格信號為樣本屬性,通過MATLAB編程,并利用臺灣大學(xué)林智仁教授等人開發(fā)的LibSVM工具箱,首先,對數(shù)據(jù)預(yù)處理,其次,選擇最優(yōu)懲罰系數(shù)c和核函數(shù)半徑g,自動選擇最優(yōu)時間窗口Window,最后,利用實際收益率、回撤率等指標(biāo)對模型進(jìn)行評測,完成C-SVM的期貨訂單簿擇時交易策略的實證研究。
1? ? SVM與訂單簿
SVM比一般的機(jī)器學(xué)習(xí)算法更加簡單易用,直接將一個復(fù)雜的時間序列預(yù)測問題,轉(zhuǎn)化為一個簡單的分類問題,可以給出明確的交易信號。SVM的特點是,輸入樣本后將分類器的結(jié)果與1/﹣1比較,大于1或小于﹣1可確定類屬,介于兩者之間則不予分類。通過最大化幾何間隔來訓(xùn)練分類器,只有支持向量會參數(shù)模型訓(xùn)練。對于線性不可分的樣本通過映射到高維空間來實現(xiàn)線性可分,這個映射關(guān)系不好確定,核函數(shù)則很巧妙的解決了這個問題,也正是因為核函數(shù)的引入,SVM有效地克服了維度之咒。C-SVM是非線性模型,擬合非常貼近市場現(xiàn)實。基于這些特點,可以預(yù)見SVM在期貨市場可能具有較高的預(yù)測準(zhǔn)確性。另外,為了克服少量離群點的干擾,可在模型中加入松弛變量和懲罰因子,對于分布不均的樣本,可通過懲罰因子來進(jìn)行調(diào)節(jié)。每個樣本都有一個松弛變量而懲罰因子則是固定的,需要由用戶輸入,核函數(shù)的參數(shù)也需要用戶輸入,這就涉及一個參數(shù)尋優(yōu)的問題(網(wǎng)格暴力法、粒子群、啟發(fā)式)。
訂單簿的研究屬于金融證券市場的微觀結(jié)構(gòu)范疇,從國外研究情況看,金融市場的微觀結(jié)構(gòu)理論研究主要集中在做市商交易市場,這可能主要與西方國家大多證券市場是做市商交易制度有關(guān),針對訂單驅(qū)動市場的微觀結(jié)構(gòu)理論研究明顯不足。而近年來,以中國為代表的訂單驅(qū)動市場占全球交易份額越來越大,因此圍繞訂單簿相關(guān)研究非常有必要。圖1是股指期貨主力合約IF1906的 Level-1行情訂單簿截圖,可以看出,能直接獲取的盤口信息、交易撮合的詳細(xì)信息并不多,也就是說國內(nèi)的期貨市場公開的交易信息比較少,因此,交易過程中交易策略主要依賴訂單簿。
2? ? 模型構(gòu)造過程
2.1? 數(shù)據(jù)初始化
首先,利用xlsread函數(shù)將訂單簿相關(guān)數(shù)據(jù)導(dǎo)入data矩陣中。這些數(shù)據(jù)包括上海黃金期貨的開盤價、收盤價、最高價、最低價、成交量5項計量指標(biāo)以及一個時間軸信息。盡量選擇簡單易用的數(shù)據(jù)樣本,便于分析處理,也降低了整體算法的時間復(fù)雜度。本文選擇2014年1月1日~2016年12月30日729個交易日內(nèi)的訂單簿數(shù)據(jù)。
其次,對數(shù)據(jù)進(jìn)行預(yù)處理。包括對數(shù)據(jù)矩陣歸一化處理,和構(gòu)造一個Label 指標(biāo),在這個指標(biāo)中1代表上漲,﹣1代表下跌。
如果不對數(shù)據(jù)矩陣進(jìn)行矩陣歸一化處理,算法復(fù)雜度將會上升,同時也會降低算法的擬合優(yōu)度。而Label則給該模型一個重要的參考變量矩陣,以便于機(jī)器識別,并進(jìn)行分類學(xué)習(xí)處理。
2.2? 參數(shù)尋優(yōu)
利用工具箱中的外部函數(shù)SVMcgForClass.m函數(shù)進(jìn)行參數(shù)尋優(yōu),找到最小的方差值bestacc,懲罰系數(shù)bestc和核函數(shù)半徑bestg。
SVMcgForClass函數(shù)的原理是,暴力解出最優(yōu)的c和g,即通過不斷嘗試不同的c和g的值來選擇出最小方差對應(yīng)的c與g。c是懲罰系數(shù),即對誤差的寬容度。c越高,說明越不能容忍出現(xiàn)誤差,容易過擬合。c越小,容易欠擬合。c過大或過小,泛化能力變差。g是選擇RBF函數(shù)作為kernel后,該函數(shù)自帶的一個參數(shù)。隱含地決定了數(shù)據(jù)映射到新的特征空間后的分布,g越大,支持向量越少,g值越小,支持向量越多。支持向量的個數(shù)影響訓(xùn)練與預(yù)測的速度。
最終,模型參數(shù)尋優(yōu)的運(yùn)行結(jié)果:Bestacc=82.280 2,bestc=256,bestg=0.125 0。其中,bestc:最佳的參數(shù)c,bestg:最佳的參數(shù)g。
2.3? 建立C-SVM基礎(chǔ)模型
通過工具箱中svmtrain.m函數(shù)建立模型,即建立已經(jīng)靜態(tài)優(yōu)化過的SVM模型。model是訓(xùn)練得到的模型,是一個結(jié)構(gòu)體。
model= svmtrain(train_label, train_matrix, [‘libsvm_options]);
其中,train_label表示訓(xùn)練集的標(biāo)簽,train_matrix表示訓(xùn)練集的屬性矩陣,libsvm_options是需要設(shè)置的一系列參數(shù),各個參數(shù)可參見工具箱說明書。如果用回歸的話,其中的﹣s參數(shù)值應(yīng)為3,﹣h為0表示C-SVM。
2.4? 模型動態(tài)優(yōu)化
模型動態(tài)優(yōu)化,主要體現(xiàn)在選擇最優(yōu)滑窗長度。利用工具箱中的Bestwindow.m函數(shù),選擇SVM模型中的最優(yōu)滑窗長度。所謂滑窗,即滑窗置信度,利用量測數(shù)據(jù)的置信度對量測數(shù)據(jù)進(jìn)行滑窗式檢測,初步判別無效數(shù)據(jù),然后對支持向量機(jī)的核函數(shù)進(jìn)行改進(jìn),利用數(shù)據(jù)自身的特征信息對核函數(shù)進(jìn)行加權(quán)處理,再用改進(jìn)的SVM對數(shù)據(jù)進(jìn)行再分類處理,最終確定無效數(shù)據(jù)。本文的最優(yōu)滑窗主要應(yīng)用于止損策略中,利用滑窗長度的平均收益率,用來平滑止損程度,滑動窗口選擇過程如圖2所示。
2.5? C-SVM模型預(yù)測擇時交易信號
在得出最佳時間窗口長度,可以得出SVM模型預(yù)測交易信號,并與實際信號對比。利用工具箱中的SVMforcast.m函數(shù)可得出SVM模型分類后的買賣交易信號,并可以通過對比分析預(yù)測交易信號與實際交易信號間的關(guān)系,可獲知基于C-SVM模型預(yù)測擇時交易信號準(zhǔn)確率較高。
3? ? 模型回測與評價
完整的交易策略中,要有適當(dāng)?shù)闹箵p機(jī)制,因此C-SVM模型回測,需要引入止損策略進(jìn)行回測。最簡單的止損機(jī)制就是如果模型給出的預(yù)測信號和當(dāng)日實際走勢相悖偏離達(dá)到一定程度(閥值)時,進(jìn)行止損交易。這里選取10個點(約相當(dāng)于黃金價格 3%)作為止損閥值。
通過一些常用的測評指標(biāo)對本模型進(jìn)行回測,發(fā)現(xiàn)本策略可以在長期交易中獲得超額收益,因此本策略是有效的,即成功地將復(fù)雜的時間序列預(yù)測轉(zhuǎn)化為二分類問題。回測黃金期貨走勢與最大回撤區(qū)、累計收益的關(guān)系如圖3所示。
各項回測指標(biāo)結(jié)果:
最優(yōu)滑窗敞口=65
最優(yōu)準(zhǔn)確度=0.759 82
夏普比率=9.249
信息比率=0.089 75
最終獲利點數(shù)=794.95
最大回撤=0.009 403 3 最大回撤時間為第604到617個交易日
預(yù)期最大回撤=0.002 858 7
從各項回測評價指標(biāo),我們最終可以得出的結(jié)論:最大回撤=0.009 403 3,夏普比率=9.249。整個模型收益情況跑贏CRB指數(shù),同時最大回撤控制得當(dāng),夏普比率良好,因此可以認(rèn)為基于C-SVM的期貨訂單簿擇時交易策略有效。
4? ? 結(jié)語
本文構(gòu)建了基于C-SVM(支持向量機(jī))的機(jī)器學(xué)習(xí)在期貨Level-1訂單簿的動態(tài)模型,通過歷史行情數(shù)據(jù)的驗證,并將預(yù)測期貨擇時交易信號與真實交易信號對比,取得了較好的效果,證明了機(jī)器學(xué)習(xí)方法可以應(yīng)用在期貨訂單簿的交易策略中。未來研究可以將期貨訂單簿數(shù)據(jù)擴(kuò)展到超高頻甚至是毫秒級的量化交易策略,從單邊交易策略擴(kuò)展到套利交易模型,從國內(nèi)市場擴(kuò)展到全球高頻交易市場,執(zhí)行方式可考慮計算機(jī)程序化、自動化交易。
基金項目:陜西省教育廳專項科研計劃項目;項目名稱:基于高頻交易限價訂單簿動態(tài)演化的隨機(jī)建模與交易策略研究;項目編號:17JK0688。陜西省“十三五規(guī)劃”項目;項目名稱:數(shù)字金融背景下陜西省金融科技人才培養(yǎng)研究;項目編號:SGH18H173。西安郵電大學(xué)教學(xué)改革研究項目;項目名稱:面向中國量化投資與對沖基金的金融工程人才培養(yǎng)模式改革與創(chuàng)新研究;項目編號:JGA201727。
作者簡介:陳有為(1976— ),男,陜西西安人,講師,碩士;研究方向:金融工程,計算金融與風(fēng)險管理。
[參考文獻(xiàn)]
[1]陳孝全,劉波.基于支持向量機(jī)?;淖C券指數(shù)預(yù)測[J].計算機(jī)技術(shù)與發(fā)展,2015(4):11-12.
[2]湯凌冰.機(jī)器學(xué)習(xí)在量化投資中的運(yùn)用研究[M].北京:電子工業(yè)出版社,2014.
[3]周勝臣,施詢之,瞿文婷等.基于微博搜索和SVM的股市時間序列預(yù)測研究[J].計算機(jī)與現(xiàn)代化,2013(4):22-26.
[4]徐國祥,楊振建.PCA-GA-SVM模型的構(gòu)建及應(yīng)用研究—滬深300指數(shù)預(yù)測精度實證分析[J].數(shù)量經(jīng)濟(jì)技術(shù)經(jīng)濟(jì)研究,2011(2):135-147.
[5]彭麗芳,孟志青,姜華.基于時間序列的支持向量機(jī)在股票預(yù)測中的應(yīng)用[J].計算技術(shù)與自動化,2006(3):88-91.
[6]HUANG W,NAKAMO R,SHOUYANG W.Forecasting stock markets movement direction with support vector machine[J].Computers&Operations Research,2005(10):2513-2522.
[7]KIM K J.Financial time series forecasting using support vector machines[J].Neuro Computing,2003(1/2):307-319.
Abstract:This article build futures orders based on C-SVM thin timing trading strategy model, with the Shanghai gold futures contract order data, main introduction evaluating back-test stop-loss trading mechanism, compared with the actual real trading signals, can be found based on the timing trading signal high accuracy of the model, so as to verify the futures orders book based on C-SVM quantitative timing trading strategy is effective, auxiliary decision-making futures trading can, choose appropriate time for buying and selling futures contracts to make a profit.
Key words:C-SVM; futures; order book; timing trading