王哲 肖臻
【摘要】? ? 期貨市場(chǎng)向從業(yè)者提供了套期保值工具以規(guī)避價(jià)格風(fēng)險(xiǎn),基于K線(xiàn)圖的技術(shù)分析以及基于統(tǒng)計(jì)分析與機(jī)器學(xué)習(xí)的量化交易,能提高期貨市場(chǎng)流動(dòng)性,從而加速價(jià)格發(fā)現(xiàn)。然而,目前K線(xiàn)圖的分析過(guò)于依賴(lài)人主觀分析的經(jīng)驗(yàn),量化分析則通過(guò)特征預(yù)測(cè)漲跌來(lái)獲得買(mǎi)賣(mài)點(diǎn),由于特征很容易失效,因此準(zhǔn)確率不高。本研究通過(guò)人機(jī)結(jié)合,基于無(wú)監(jiān)督深度學(xué)習(xí)自編碼模型,將K線(xiàn)圖形狀時(shí)間序列數(shù)據(jù)降維,可視化為散點(diǎn)圖,使用點(diǎn)的顏色表示后續(xù)價(jià)格走勢(shì),點(diǎn)之間的距離代表兩段K線(xiàn)圖形狀的相似度,因此通過(guò)散點(diǎn)圖可以快速檢索與當(dāng)前K線(xiàn)圖形狀相似的歷史K線(xiàn)圖,并根據(jù)歷史K線(xiàn)圖后續(xù)走勢(shì)做出交易決策。有別于傳統(tǒng)方法,本方法既可以充分利用算法對(duì)數(shù)據(jù)的處理能力自動(dòng)學(xué)習(xí)特征,同時(shí)又能很好的利用人視覺(jué)分析的經(jīng)驗(yàn)。
【關(guān)鍵詞】? ? 人機(jī)結(jié)合? ? 期貨交易? ? 時(shí)序降維? ? 可視化? ? 自編碼網(wǎng)絡(luò)
一、國(guó)內(nèi)外研究現(xiàn)狀
1.1量化交易的研究
傳統(tǒng)分析方法側(cè)重于依靠特征(因子)預(yù)測(cè)漲跌的方法對(duì)量化交易進(jìn)行研究,缺點(diǎn)是精準(zhǔn)度不高、容易過(guò)擬合,同時(shí),某特征被證明有效后,容易引起市場(chǎng)跟風(fēng),最終導(dǎo)致失效。
Jegadeesh and Titman (1993) 對(duì)橫截面動(dòng)量進(jìn)行了研究[1],定義了動(dòng)量因子,是指價(jià)格趨勢(shì)有一種慣性,強(qiáng)者恒強(qiáng),弱者恒弱,相應(yīng)的交易策略是追漲殺跌,動(dòng)量因子容易理解,可操作性強(qiáng)。
Fernandez-Perez A 等人(2016) 總結(jié)了期貨交易常用的11個(gè)因子[2],包括動(dòng)量因子、期限結(jié)構(gòu)因子、特質(zhì)波動(dòng)率、持倉(cāng)情況因子、流動(dòng)性因子、通脹因子、匯率因子等因子。
上海交通大學(xué)胡波(2018)使用隨機(jī)森林和支持向量機(jī)算法研究了黃金期貨交易[3],此論文的創(chuàng)新點(diǎn)從算法上對(duì)支持向量機(jī)進(jìn)行了加權(quán),對(duì)時(shí)間較早的數(shù)據(jù)特征降低權(quán)重,時(shí)間近的數(shù)據(jù)特征增加權(quán)重。
1.2無(wú)監(jiān)督深度學(xué)習(xí)自編碼器的研究
無(wú)監(jiān)督深度學(xué)習(xí)的優(yōu)勢(shì)在于能自主發(fā)現(xiàn)特征。網(wǎng)絡(luò)通過(guò)多層處理,將原始的“低層”特征轉(zhuǎn)換為“高層”特征表示,可完成復(fù)雜的分類(lèi)等任務(wù)。深度學(xué)習(xí)在圖像識(shí)別、聲音識(shí)別、文本翻譯等領(lǐng)域取得了很多成果。
自編碼器是深度學(xué)習(xí)中的一種無(wú)監(jiān)督學(xué)習(xí)模型,它利用神經(jīng)網(wǎng)絡(luò)編碼器將輸入壓縮成潛在空間表征,再用解碼器將這種表征重構(gòu)為輸出,通過(guò)這種有損的壓縮算法,學(xué)習(xí)到輸入數(shù)據(jù)最重要的特征。
Madiraju N S,? Sadat S M,? Fisher D(2018)提出了一種針對(duì)時(shí)間序列數(shù)據(jù)的無(wú)監(jiān)督聚類(lèi)算法[4],在聚類(lèi)前通過(guò)自編碼器將時(shí)間序列數(shù)據(jù)降維。
Mohammed Ali,Mark W. Jones,Xianghua Xie,Mark Williams. TimeCluster(2019)提出了一種時(shí)間序列數(shù)據(jù)降維后,通過(guò)可視化進(jìn)行模式識(shí)別與異常檢測(cè)的方法 [5],數(shù)據(jù)降維綜合使用了自編碼器與PCA等方法。與金融數(shù)據(jù)分析不同,文中舉例的呼吸時(shí)間序列數(shù)據(jù)非常有規(guī)律,模式比較明顯,人眼很容易識(shí)別異常,而在金融數(shù)據(jù)分析中,K線(xiàn)圖波浪識(shí)別主觀性更強(qiáng),模式無(wú)明顯界限。同時(shí),相較于醫(yī)學(xué)領(lǐng)域?qū)?zhǔn)確性的高要求,金融數(shù)據(jù)分析對(duì)準(zhǔn)確率要求不如醫(yī)學(xué)領(lǐng)域嚴(yán)格,只需勝率略大即可。
二、人機(jī)結(jié)合在期貨交易中的應(yīng)用總體研究
人們?cè)谑褂肒線(xiàn)圖做期貨交易分析時(shí),假設(shè)歷史會(huì)重演,通過(guò)K線(xiàn)圖的形狀來(lái)判斷價(jià)格走勢(shì),例如鉆石底、頭肩頂?shù)?。然而,目前K線(xiàn)圖的分析過(guò)于依賴(lài)人的經(jīng)驗(yàn),因此,我們可以通過(guò)皮爾遜相關(guān)系數(shù)計(jì)算兩條K線(xiàn)圖曲線(xiàn)的形狀相似度,找到與當(dāng)前走勢(shì)相符的歷史數(shù)據(jù),返回其后續(xù)走勢(shì)的曲線(xiàn),然后用人腦過(guò)濾一遍,來(lái)決定最終操作。
通過(guò)研究發(fā)現(xiàn),相似度類(lèi)似的曲線(xiàn)有很多條,后續(xù)走勢(shì)可能存在差異。通過(guò)把每一段K線(xiàn)圖降維到二維空間的一個(gè)點(diǎn),點(diǎn)之間的距離越近代表這兩段K線(xiàn)圖的形狀越相似,越遠(yuǎn)代表這兩段K線(xiàn)圖的形狀差異越大,點(diǎn)的顏色代表這段K線(xiàn)圖后續(xù)價(jià)格的走勢(shì)。如果上漲為紅色,下跌為綠色,把這些點(diǎn)畫(huà)成散點(diǎn)圖后,就可以通過(guò)人來(lái)觀察待預(yù)測(cè)的點(diǎn)所處位置周?chē)伾植记闆r來(lái)判斷交易信號(hào)。本文的創(chuàng)新點(diǎn)是人機(jī)結(jié)合,開(kāi)創(chuàng)了K線(xiàn)圖之外的一個(gè)新的可視化工具來(lái)輔助期貨交易決策。
三、實(shí)現(xiàn)方案
通過(guò)前30天的日K線(xiàn)數(shù)據(jù)預(yù)測(cè)后5天的價(jià)格走勢(shì),將期貨交易K線(xiàn)圖時(shí)間序列數(shù)據(jù)用滑動(dòng)窗口滾動(dòng)生成數(shù)據(jù)集[5],使用無(wú)監(jiān)督深度學(xué)習(xí)自編碼模型[4]訓(xùn)練降維模型,然后通過(guò)模型對(duì)歷史期貨交易數(shù)據(jù)降維抽取特征,和待預(yù)測(cè)時(shí)序數(shù)據(jù)降維后的特征一起生成可視化的二維散點(diǎn)圖。
3.1數(shù)據(jù)預(yù)處理
1.期貨市場(chǎng)有幾十種交易品種,綜合考慮如下因素,選取螺紋鋼作為研究標(biāo)的:交易活躍,不易產(chǎn)生滑點(diǎn);交易一手金額適中,易控制風(fēng)險(xiǎn);價(jià)格波動(dòng)率適中,即不會(huì)因?yàn)椴▌?dòng)太大而爆倉(cāng),也不會(huì)因?yàn)椴▌?dòng)太小沒(méi)有盈利;上市時(shí)間早,有較長(zhǎng)歷史數(shù)據(jù)可用。
2.螺紋鋼日K線(xiàn)圖的數(shù)據(jù)包含開(kāi)盤(pán)價(jià)、收盤(pán)價(jià)、最高價(jià)、最低價(jià)、成交量,從2009年3月27日到2021年8月4日共3006行數(shù)據(jù),使用30+5個(gè)工作日的滑動(dòng)窗口[5],按天滑動(dòng)滾動(dòng)生成2970份步長(zhǎng)為35的時(shí)序樣本數(shù)據(jù),其中前面30步長(zhǎng)時(shí)序數(shù)據(jù)用于降維,后5個(gè)步長(zhǎng)用于判斷后續(xù)走勢(shì)。
3. K 線(xiàn)圖的形狀與價(jià)格絕對(duì)值無(wú)關(guān),由于通貨膨脹等原因,時(shí)間越接近,價(jià)格越高,降維后保留的部分價(jià)格信息會(huì)干擾決策,通過(guò)求日漲跌幅消除其影響。其次,對(duì)數(shù)據(jù)做歸一化為深度學(xué)習(xí)訓(xùn)練做準(zhǔn)備。90%的樣本數(shù)據(jù)用于深度學(xué)習(xí)訓(xùn)練(70%訓(xùn)練數(shù)據(jù),20%測(cè)試數(shù)據(jù)),另外10%用于評(píng)估人機(jī)結(jié)合交易的效果。
3.2自編碼器無(wú)監(jiān)督深度學(xué)習(xí)訓(xùn)練
1.參考文獻(xiàn)[4],使用TensorFlow和Keras構(gòu)建深度學(xué)習(xí)卷積自編碼模型,將30(步長(zhǎng))*5(特征)的時(shí)序數(shù)據(jù)降維到6維特征,使用90%樣本集中的30步長(zhǎng)時(shí)序數(shù)據(jù)進(jìn)行無(wú)監(jiān)督學(xué)習(xí)訓(xùn)練。
2.編碼器首先通過(guò)一維卷積捕捉序列間的短距離波動(dòng),然后經(jīng)過(guò)池化將卷積結(jié)果降維,降維后的數(shù)據(jù)通過(guò)兩個(gè)雙向LSTM學(xué)習(xí)到序列前后的數(shù)據(jù)波動(dòng),最后壓縮成6維特征。
3.解碼器進(jìn)行UpSample和反卷積操作,將學(xué)習(xí)到的6維特征它重構(gòu)為30*5時(shí)序數(shù)據(jù),與輸入序列對(duì)比,以MSE為損失函數(shù),不斷的訓(xùn)練這個(gè)深度自編碼網(wǎng)絡(luò),就可以得到自編碼降維模型。
3.3降維和可視化
使用自編碼器訓(xùn)練出來(lái)的模型,將K線(xiàn)數(shù)據(jù)壓縮成6維特征,通過(guò)PCA進(jìn)一步降維到2維,后5天走勢(shì)跌幅超過(guò)3%的點(diǎn)標(biāo)識(shí)為綠色圓點(diǎn),漲幅超過(guò)3%的點(diǎn)標(biāo)識(shí)為紅色圓點(diǎn),需要預(yù)測(cè)的當(dāng)前行情通過(guò)同樣的模型將K線(xiàn)數(shù)據(jù)降維到散點(diǎn)平面圖上的一個(gè)點(diǎn),用黑色三角形表示,根據(jù)點(diǎn)附近的紅綠圓點(diǎn)聚集情況判斷是要買(mǎi)多,還是賣(mài)空或者不交易。
通過(guò)實(shí)驗(yàn),可以非常清楚的看到K線(xiàn)圖形狀相似度接近的歷史曲線(xiàn)后續(xù)的歷史走勢(shì),為交易決策提供了K線(xiàn)圖外的一種可視化工具。
四、結(jié)束語(yǔ)
通過(guò)機(jī)器學(xué)習(xí)K線(xiàn)圖形狀關(guān)鍵特征,將K線(xiàn)圖形狀相似度信息與價(jià)格未來(lái)走勢(shì)可視化為散點(diǎn)圖,快速找到與當(dāng)前K線(xiàn)圖形狀類(lèi)似的歷史K線(xiàn)圖及后續(xù)價(jià)格走勢(shì),實(shí)現(xiàn)計(jì)算機(jī)輔助交易決策。機(jī)器學(xué)習(xí)與人腦結(jié)合,在K線(xiàn)圖以外,新創(chuàng)建了一種可視化輔助交易決策的圖。
參? ?考? 文? 獻(xiàn)
[1] Narasimhan Jegadeesh and Sheridan Titman .Returns to Buying Winners and Selling Losers:Implications for Stock Market Efficiency. The Journal of Finance, March 1993
[2] Fernandez-Perez A ,? Fuertes A M ,? Miffre J . Harvesting Commodity Risk Premia.2016
[3]胡波. 基于機(jī)器學(xué)習(xí)的期貨市場(chǎng)趨勢(shì)研究[D].上海交通大學(xué),2018.
[4] Madiraju N S ,? Sadat S M ,? Fisher D , et al. Deep Temporal Clustering : Fully Unsupervised Learning of Time-Domain Features[J].? 2018.
[5]Mohammed Ali,Mark W. Jones,Xianghua Xie,Mark Williams. TimeCluster: dimension reduction applied to temporal data for visual analytics[J]. The Visual Computer,2019,35(6-8):