徐亦凡
摘? ?要:基于模式識(shí)別的時(shí)間序列數(shù)據(jù)分析方法,因其能夠揭示復(fù)雜、非線性的股價(jià)運(yùn)行模式,在經(jīng)濟(jì)學(xué)、統(tǒng)計(jì)學(xué)和機(jī)器學(xué)習(xí)領(lǐng)域受到了廣泛的關(guān)注。為了避免人判斷的主觀性,因此采用一種與雙底形態(tài)的目標(biāo)模板進(jìn)行對(duì)比的方法,把一維的股價(jià)時(shí)間序列變換成二維的圖形與目標(biāo)模板進(jìn)行對(duì)比,對(duì)比后相似度高的時(shí)間片段能作為未來(lái)市場(chǎng)價(jià)格上漲的信號(hào)。實(shí)驗(yàn)結(jié)果表明,此方法能夠產(chǎn)生正收益,且對(duì)股票的未來(lái)漲跌具有一定的預(yù)測(cè)能力。
關(guān)鍵詞:模式識(shí)別;股票價(jià)格預(yù)測(cè);機(jī)器學(xué)習(xí);人工神經(jīng)網(wǎng)絡(luò)
中圖分類號(hào):F830.592? ? ? ? 文獻(xiàn)標(biāo)志碼:A? ? ? 文章編號(hào):1673-291X(2024)08-0081-04
引言
在對(duì)金融時(shí)間序列數(shù)據(jù)進(jìn)行分析時(shí),技術(shù)分析投資者認(rèn)為,股票價(jià)格的未來(lái)走勢(shì)是能夠基于某些特定形態(tài)來(lái)進(jìn)行預(yù)測(cè)的,因?yàn)樗麄兿嘈旁诮鹑谑袌?chǎng)中“歷史會(huì)重演”。對(duì)于股票價(jià)格形態(tài)的研究有助于投資者作出合理的投資決策[1],因此,技術(shù)分析投資者把對(duì)股價(jià)走勢(shì)形態(tài)的分析認(rèn)作是一種能夠在時(shí)域上評(píng)估特定股票未來(lái)變動(dòng)趨勢(shì)的技巧[2,3]。而隨著金融科技應(yīng)用范圍的逐漸擴(kuò)大,這一領(lǐng)域越來(lái)越受到人們的關(guān)注[4]。
美國(guó)經(jīng)濟(jì)學(xué)家尤金·法瑪提出的有效市場(chǎng)假說(shuō)[5]認(rèn)為,投資人是不可能戰(zhàn)勝市場(chǎng)的,任何股價(jià)形態(tài)都無(wú)法提前反映股票的未來(lái)走勢(shì)。與此相對(duì)的,有一些研究人員支持市場(chǎng)并非有效的觀點(diǎn)。這一觀點(diǎn)揭示了投資者能夠通過(guò)使用如基本面分析、技術(shù)面分析等來(lái)?yè)魯∈袌?chǎng)。為實(shí)現(xiàn)這一目標(biāo),本文試圖找到一個(gè)能夠處理大量數(shù)據(jù)并且基于數(shù)據(jù)生成適當(dāng)交易信號(hào)(買入或賣出)的投資策略,這是本文的研究目的。目前已有研究人員提出不同的方法來(lái)表示時(shí)間序列,常見(jiàn)的表示可以分為三類:基于生成式模型的表示方式、基于變換的表示方式和基于時(shí)域的表示方式。生成式模型使用不同模型中的參數(shù)來(lái)表示時(shí)間序列,如隱馬爾可夫模型[6]、貝葉斯網(wǎng)絡(luò)[7]等。基于變換的表示方式旨在將原始數(shù)據(jù)轉(zhuǎn)移到另一特征空間來(lái)表示時(shí)間序列,如離散傅立葉變換[8]、時(shí)間序列符號(hào)聚合近似方法SAX[9]。基于時(shí)域的表示方式的核心是從原始時(shí)間序列中找出具有代表性的點(diǎn),如感知重要點(diǎn)PIP[10]、分段線性逼近PLA[11]、分段聚合逼近PAA[12]、分段常數(shù)逼近PCA[13]等。上述這幾種基于時(shí)域的表示方式,其本質(zhì)上都是進(jìn)行數(shù)據(jù)降維工作,用少數(shù)的數(shù)據(jù)來(lái)重新表示原始時(shí)間序列[14]。
一、相關(guān)工作
(一)證券投資分析
在證券投資分析領(lǐng)域主要有兩種分析方法:基本面分析和技術(shù)分析。基本面分析利用與公司有關(guān)的財(cái)務(wù)數(shù)據(jù)來(lái)尋找出同一行業(yè)中最具有競(jìng)爭(zhēng)力的公司。技術(shù)分析是通過(guò)分析股票的歷史價(jià)格圖表來(lái)識(shí)別趨勢(shì)以預(yù)測(cè)股票未來(lái)的走勢(shì)。它是通過(guò)事先定義一些技術(shù)指標(biāo),當(dāng)技術(shù)指標(biāo)達(dá)到某一閾值時(shí)即意味著產(chǎn)生出了買入、賣出的投資機(jī)會(huì)[15]。技術(shù)指標(biāo)通常是通過(guò)股票的歷史價(jià)格計(jì)算出新的數(shù)值來(lái)預(yù)測(cè)未來(lái)的價(jià)格。比如波動(dòng)率指標(biāo),如果該技術(shù)指標(biāo)的走勢(shì)不穩(wěn)定并且其數(shù)值朝著正反兩個(gè)方向不斷變化,則說(shuō)明該支股票波動(dòng)率較大,其股價(jià)日后出現(xiàn)大漲或者大跌的概率也較大[16]。
(二)模式識(shí)別
由于國(guó)內(nèi)A股市場(chǎng)缺乏做空手段,普通投資者只能以做多來(lái)盈利。因此,本文選取代表見(jiàn)底回升轉(zhuǎn)勢(shì)形態(tài)的雙底形態(tài)(又稱W底)為研究對(duì)象。雙底形態(tài)技術(shù)分析中的經(jīng)典形態(tài),代表股價(jià)趨勢(shì)將發(fā)生巨大變化,股價(jià)將從先前下跌趨勢(shì)中發(fā)生反轉(zhuǎn)。它的形狀像英文字母W,股價(jià)先是下跌然后反彈,在形成了第一個(gè)底部之后第二次下跌至與第一次下跌底部接近的價(jià)格水平后股價(jià)又一次發(fā)生反彈,股價(jià)在兩次觸及低點(diǎn)之后都發(fā)生了反彈,此時(shí)這個(gè)低點(diǎn)被認(rèn)為是一個(gè)重要的支撐位,股價(jià)有可能開(kāi)始轉(zhuǎn)勢(shì)上漲。圖1是展示雙底形態(tài)的示意圖。
在過(guò)往研究中已有研究者使用不同的方法來(lái)識(shí)別股票技術(shù)形態(tài),如感知重要點(diǎn)PIP、時(shí)間序列符號(hào)聚合近似方法SAX等。本文采用與模板對(duì)比的方法,使用一個(gè)儲(chǔ)存著各個(gè)點(diǎn)相應(yīng)權(quán)重的矩陣[17]作為模板,如圖2所示。通過(guò)把股價(jià)序列與目標(biāo)模板進(jìn)行對(duì)比,當(dāng)股票的價(jià)格恰巧落在目標(biāo)形態(tài)所在的點(diǎn)上,則給予該點(diǎn)高分;當(dāng)股價(jià)遠(yuǎn)離目標(biāo)形態(tài)時(shí),則給予低分。最終對(duì)整個(gè)矩陣中各個(gè)點(diǎn)的分值求和得到表征擬合程度的擬合值,擬合值越高則表明待檢測(cè)的股價(jià)序列與目標(biāo)模板越接近。
二、方法
我們使用圖2作為模板來(lái)進(jìn)行股價(jià)形態(tài)識(shí)別。這是一個(gè)10 ×10 的矩陣,矩陣中的每一個(gè)元素代表該點(diǎn)的權(quán)重Wij,其值介于1到-2之間。在這個(gè)矩陣中,權(quán)重值定義為1的區(qū)域代表著股價(jià)走勢(shì)呈現(xiàn)出以雙底或雙頂形態(tài),在圖中以深色顯示。我們用代表著雙底形態(tài)與雙頂形態(tài)的模板和待檢測(cè)股票收盤價(jià)的時(shí)間序列數(shù)據(jù)進(jìn)行匹配,具體方法是,將待檢測(cè)股票時(shí)間序列的收盤價(jià)格取一個(gè)寬度為40個(gè)交易日的時(shí)間窗口,從最早的價(jià)格開(kāi)始與模板對(duì)照,之后將時(shí)間窗口向后移動(dòng)一個(gè)交易日進(jìn)行下一次匹配,之后逐步向前直至對(duì)整個(gè)時(shí)間序列完成匹配。對(duì)待檢測(cè)股價(jià)序列與目標(biāo)模板之間進(jìn)行匹配的方法是一種在圖像檢測(cè)中用于目標(biāo)識(shí)別的模式識(shí)別技術(shù)。我們把移動(dòng)窗口中第t個(gè)交易日的收盤價(jià)記作Pt,t = 0,...,39,移動(dòng)窗口本身的順序以k表示,k從1開(kāi)始。對(duì)于在時(shí)間窗口中的40個(gè)交易日的收盤價(jià),我們將把它轉(zhuǎn)換至那個(gè)10 ×10二維矩陣中的某一個(gè)元素的位置上,并把這個(gè)時(shí)間窗口記作Ik。最后,我們計(jì)算雙底形態(tài)模板與轉(zhuǎn)換后的矩陣Ik的互相關(guān),把第k個(gè)時(shí)間窗口的擬合值記為FITk。除了FITk以外,我們還計(jì)算了第k個(gè)時(shí)間窗口最高價(jià)與最低價(jià)之差,并記為RANGEk。其中,互相關(guān)[18]在信號(hào)處理領(lǐng)域中通常用來(lái)衡量?jī)蓚€(gè)信號(hào)之間相似性,它通常用于在一段長(zhǎng)信號(hào)中搜索較短的已知特征。此外,通過(guò)滑動(dòng)模板來(lái)與源圖像的各個(gè)部位進(jìn)行比較,互相關(guān)也可用于識(shí)別圖像中的特定目標(biāo)。
這個(gè)算法的關(guān)鍵是對(duì)于每一個(gè)寬度為40個(gè)交易日的時(shí)間窗口k,如何將一維的時(shí)間序列信息映射到 10×10 的二維矩陣Ik中去。首先,我們把二維矩陣Ik中每一個(gè)元素的值記為gij,通過(guò)計(jì)算時(shí)間窗口內(nèi) 40 個(gè)交易日收盤價(jià)的最高價(jià)與最低價(jià)之差,并把這個(gè)差值范圍除以 10 以得到一個(gè)增量值inc,之后將通過(guò)這個(gè)增量值來(lái)計(jì)算每日的收盤價(jià)將映射到二維矩陣中的那一行去。
Pmax與Pmin分別是時(shí)間窗口內(nèi)40個(gè)交易日收盤價(jià)的最高價(jià)與最低價(jià)。在得到了增量值inc之后,我們可以給二維矩陣中的每一行行i一個(gè)對(duì)應(yīng)的區(qū)間:
二維矩陣中的第j列對(duì)應(yīng)著40日移動(dòng)窗口內(nèi)的連續(xù)4日的收盤價(jià)格,例如,P4 ·j,P4 ·j+1,P4 ·j+2,P4 ·j+3對(duì)應(yīng)著二維矩陣中的第j列,j=1,2,...,10。第j列中每個(gè)元素gij的值則由第j列所對(duì)應(yīng)的4個(gè)交易日的收盤價(jià)格分別屬于哪一行行i所對(duì)應(yīng)的價(jià)格區(qū)間來(lái)決定:
最后,我們計(jì)算并記錄第k個(gè)時(shí)間窗口的擬合值FITK與代表價(jià)格區(qū)間的值RANGEk。FITk是匹配模板的矩陣與經(jīng)轉(zhuǎn)換后的二維矩陣兩者間的互相關(guān),RANGEk是移動(dòng)窗口內(nèi)每日收盤價(jià)的價(jià)格區(qū)間除以該時(shí)間窗口最后一個(gè)交易日的收盤價(jià)Pk歸一化的值,其計(jì)算公式分別為:
三、實(shí)驗(yàn)結(jié)果與分析
實(shí)驗(yàn)從國(guó)內(nèi)A股市場(chǎng)中隨機(jī)選取了10支規(guī)模大、流動(dòng)性好、上市時(shí)間久的股票作為數(shù)據(jù)集。數(shù)據(jù)從Tushare平臺(tái)上下載,時(shí)間段從2000年初到2022年12月30日為止,所選取的股票數(shù)據(jù)基本都有20年以上歷史交易記錄。選取交易歷史記錄長(zhǎng)的股票以保證其股價(jià)模式具有代表性。
實(shí)驗(yàn)1:通過(guò)模式識(shí)別來(lái)識(shí)別雙底形態(tài)。
我們通過(guò)將應(yīng)用交易規(guī)則之后的結(jié)果與在比較期內(nèi)每日買入并持有一段時(shí)間的結(jié)果進(jìn)行比較以觀察該方法的有效性。在使用移動(dòng)窗口前進(jìn)與模板對(duì)比時(shí),移動(dòng)窗口前進(jìn)的步進(jìn)設(shè)定為移動(dòng)窗口長(zhǎng)度的十分之一。因?yàn)槿绻麑⒉竭M(jìn)設(shè)定為一,相鄰兩個(gè)窗口幾乎是相同的,時(shí)常會(huì)出現(xiàn)連續(xù)幾天時(shí)間窗口的擬合值都高于閾值的情況。為了避免重復(fù)檢測(cè)以及加快計(jì)算速度,故將移動(dòng)窗口移動(dòng)的步進(jìn)設(shè)為窗口長(zhǎng)度的十分之一。設(shè)pk為第k交易日的收盤價(jià),RANGEk與FITk如上文所述分別代表價(jià)格區(qū)間與擬合值,買入股票之后的預(yù)測(cè)期內(nèi)的交易天數(shù)用h表示,其中h的取值為5、10、20。對(duì)于買入并持有策略,同樣采用移動(dòng)窗口的方式,一共有k個(gè)移動(dòng)窗口,其中,第一個(gè)移動(dòng)窗口的編號(hào)為m,最后一個(gè)移動(dòng)窗口的編號(hào)為n。然后計(jì)算每一個(gè)子區(qū)間的收益率,當(dāng)每日都買入時(shí),市場(chǎng)的平均收益為:
而只當(dāng)買入信號(hào)產(chǎn)生后才買入時(shí):
買入次數(shù)nb=■■Rk(7)
其中,Rk=1,如果RANGE■與FIT■滿足我們所設(shè)定的買入規(guī)則0,如果RANGE■與FIT■不滿足買入規(guī)則 (8)
那么按照交易規(guī)則后的平均收益率為:
最后,我們把應(yīng)用交易規(guī)則后的平均收益率與采取每日買入并持有策略代表市場(chǎng)的平均收益率兩者相減,得到超額收益率:
rex=rtavg-ravg(10)
表1展示了運(yùn)用交易規(guī)則之后所得到的超額利潤(rùn)。表1中的超額利潤(rùn)值是市場(chǎng)平均回報(bào)和應(yīng)用交易規(guī)則后再買入股票的平均回報(bào)之間的差值。兩種市場(chǎng)策略都是在買入后持有一段時(shí)間以對(duì)比收益率。采用模式識(shí)別方法所用的交易規(guī)則如下:在某一交易日,如果RANGEk> RANGE且FITk>FIT,則買入并持有n個(gè)交易日。從結(jié)果可以看出,對(duì)于用于預(yù)測(cè)價(jià)格向上的雙底形態(tài)進(jìn)行匹配后的擬合值FITk較高的時(shí)間序列片段其后市股價(jià)的上漲幅度較大。
四、結(jié)束語(yǔ)
本文通過(guò)構(gòu)建模型,提出了一種基于模板對(duì)比的股票時(shí)間序列模式識(shí)別方法,具有避免人的主觀判斷、能從全局的視角尋找極值點(diǎn)等優(yōu)勢(shì)。實(shí)驗(yàn)結(jié)果表明,與雙底形態(tài)擬合度較高的股價(jià)時(shí)間序列片段其后市在平均上能有正的收益。在市場(chǎng)運(yùn)行模式不變的前提下,按照此策略投資能夠?qū)崿F(xiàn)盈利。該模型是一種分析時(shí)間序列數(shù)據(jù)的有效方法,能夠幫助投資者作出短期預(yù)測(cè)。
參考文獻(xiàn):
[1]? ?約翰·墨菲.金融市場(chǎng)技術(shù)分析[M].丁圣元,譯.北京:地震出版社,2010.
[2]? ?BLAKEY P. Pattern recognition techniques[J].IEEE Microwave Magazine,2002,3(1):28-33.
[3]? ?SHAH D.ISAH H.ZULKERNINE F.Stock market analysis:A review and taxonomy of prediction techniques[J].International Journal of Financial Studies,2019,7(2):26.
[4]? ?KUMAR D,SARANGI P K,VERMA R.A systematic review of stock market prediction using machine learning and statistical techniques[J].Materials Today:Proceedings,2022(49):3187-3191.
[5]? ?FAMA E F.Efficient capital markets: A review of theory and empirical work[J].The journal of Finance,1970,25(2):383-417.
[6]? ?張旭東,黃宇方,杜家浩,等.基于離散型隱馬爾可夫模型的股票價(jià)格預(yù)測(cè)[J].浙江工業(yè)大學(xué)學(xué)報(bào),2020,48(2):148-153,211.
[7]? ?ZHAO Z Y.Bayesian Multiregression Dynamic Models with Applications in Finance and Business[D].Durham,USA:Duke University,2015.
[8]? ?SAMIEE K,KOVACS P,GABBOUJ M.Epileptic seizure classification of EEG time-series using rational discrete short-time Fourier transform[J].IEEE transactions on Biomedical Engineering,2014,62(2):541-552.
[9]? ?LEITAO J,NEVES R F,Horta N.Combining rules between PIPs and SAX to identify patterns in financial markets[J].Expert Systems with Applications,2016(65):242-254.
[10]? ?ZHANG Z,JIANG J,WANG H.A new segmentation algorithm to stock time series based on pip approach[C]//2007 International Conference on Wireless Communications, Networking and Mobile Computing.Shanghai,China:IEEE,2007:5609-5612
[11]? ?Li H L,GUO C H,QIU W R,2011.Similarity measure based on piecewise linear approximation and derivative dynamic time warping for time series mining[J].Expert Systems with Applications,2011,38(12):14732-14743.
[12]? ?BRASILEIRO R C, SOUZA V L,OLIVEIRA A L.Automatic trading method based on piecewise aggregate approximation and multi-swarm of improved self-adaptive particle swarm optimization with validation[J].Decision Support Systems,2017(104):79-91.
[13]? ?MEGALOOIKONOMOU V, Li G, WANG Q.A dimensionality reduction technique for efficient similarity analysis of time series databases[C]//Proceedings of the thirteenth ACM international conference on Information and knowledge management.Washington D.C.,USA:ACM,2004:160-161.
[14]? ?BAO D.A generalized model for financial time series representation and prediction[J].Applied Intelligence,2008(29):1-11.
[15]? ?OZTURK M,TOROSLU I H,F(xiàn)IDAN G.Heuristic based trading system on Forex data using technical indicator rules[J].Applied Soft Computing,2016(43):170-186.
[16]? ?GORGULHO A,NEVES R, HORTA N.2011.Applying a GA kernel on optimizing technical analysis rules for stock picking and portfolio composition[J].Expert systems with Applications,2011,38(11):14072-14085.
[17]? ?LEIGH W,PAZ N,PURVIS R.Market timing:a test of a charting heuristic[J].Economics Letters,2002,77(1):55-63.
[18]? ?ELHADI M,MERZOUGUI M,Hadi M,et al.Detection of the Objects by the Cross-correlation[J].International Journal of Computer Applications,2016,136(12):23-27.
Research on Stock Price Prediction Based on Pattern Recognition
XU Yifan
(School of Management, University of Shanghai for Science and Technology, Shanghai 200093, China)
Abstract: The method of time series data analysis based on pattern recognition has attracted wide attention in the fields of economics, statistics, and machine learning due to its ability to reveal complex and nonlinear stock price patterns.A heuristic based template called the “Double Bottoms”, which transfers a one-dimensional stock price time series to a two-dimensional template, and identifies time segments with high similarity to the template as signals which can predict future market price increments.Experimental results show that this method can generate positive returns and has a certain predictive ability for future stock price movements.
Key words: Pattern recognition; Stock price prediction; Machine learning; Artificial neural networks
[責(zé)任編輯? ?若? ?云]