龍 婧,車文剛,權(quán)鵬宇,周志元
(1. 昆明理工大學(xué) 信息工程與自動(dòng)化學(xué)院,云南 昆明 650500;2. 昆明理工大學(xué) 云南省計(jì)算機(jī)技術(shù)應(yīng)用重點(diǎn)實(shí)驗(yàn)室,云南 昆明 650500)
金融數(shù)據(jù)中心存放并管理著企業(yè)核心的金融業(yè)務(wù)數(shù)據(jù),包括:系統(tǒng)業(yè)務(wù)數(shù)據(jù)、交易痕跡數(shù)據(jù)、客戶行為數(shù)據(jù)等等。這些數(shù)據(jù)涉及企業(yè)運(yùn)營(yíng)的方方面面,是企業(yè)的核心信息資產(chǎn)[1]。金融市場(chǎng)作為一個(gè)復(fù)雜的系統(tǒng),不僅僅是一個(gè)互動(dòng)的參與人數(shù)眾多的制度,也受到政治,文化和經(jīng)濟(jì)等諸多因素的影響[2]。而時(shí)間序列是一種與數(shù)據(jù)點(diǎn)有關(guān)的序列[3],股票時(shí)間序列既包括開(kāi)盤價(jià)、收盤價(jià)、最高價(jià)和最低價(jià),也包括在交易日進(jìn)行的股票價(jià)格的連續(xù)測(cè)量值,即成交量。股票時(shí)間序列中所蘊(yùn)含的信息對(duì)股票投資者的決策起著關(guān)鍵性作用,這也決定了對(duì)股票時(shí)間序列的研究隨著數(shù)據(jù)挖掘技術(shù)的深入而成為熱點(diǎn)研究問(wèn)題。
但是,由于傳統(tǒng)的時(shí)間序列方法及其變化更傾向于關(guān)注價(jià)格和轉(zhuǎn)折點(diǎn)而不是其他變化的信息變量,如開(kāi)盤價(jià)、收盤價(jià)、最高價(jià)和最低價(jià)。這就很難發(fā)現(xiàn)股價(jià)波動(dòng)模式的準(zhǔn)確性和完整性,而對(duì)于投資者,他們真正關(guān)心的是股價(jià)的反轉(zhuǎn)點(diǎn)。總而言之,雖然股票時(shí)間序列中奇異點(diǎn)的預(yù)測(cè)研究在證券市場(chǎng)已經(jīng)存在,但針對(duì)該奇異點(diǎn)判斷K線形態(tài)motif模式識(shí)別,以此對(duì)大盤的趨勢(shì)分析卻還并不是很完善。例如,文獻(xiàn)[4]將模式識(shí)別算法用到網(wǎng)絡(luò)流量分類研究中證明其吞吐率和擴(kuò)展性,文獻(xiàn)[5]采用d-近鄰聚類的聚類算法檢測(cè)時(shí)間序列奇異點(diǎn),文獻(xiàn)[6]用小波變換模極大值檢測(cè)時(shí)間序列的奇異點(diǎn),文獻(xiàn)[7]取局部異常因子作為判斷值檢測(cè)時(shí)間序列奇異點(diǎn),文獻(xiàn)[8]采用子系聯(lián)合的方法研究時(shí)間序列的 Motif挖掘和異常檢測(cè),文獻(xiàn)[9]將motif定義在基于MapReduce的圖案檢索算法中檢測(cè)基因調(diào)控關(guān)系。然而,這些研究只能得到股票價(jià)格出現(xiàn)最大波動(dòng)的時(shí)刻t,將這些 t值聚類作為奇異點(diǎn),卻并不知道該時(shí)刻時(shí)間序列呈現(xiàn)的K線形態(tài)motif模式,也對(duì)股票后期走勢(shì)的影響無(wú)法判定。所以新的方法和技術(shù)在金融領(lǐng)域的研究是非常迫切的,數(shù)據(jù)挖掘和人工智能技術(shù)的深入開(kāi)發(fā)對(duì)反轉(zhuǎn)點(diǎn)發(fā)現(xiàn)、K線形態(tài)motif模式的研究和股票價(jià)格的預(yù)測(cè)也都是非常重要的。
在本文中,我將介紹并應(yīng)用一個(gè)可行的和有效的技術(shù)分析框架–K線形態(tài)圖–股票時(shí)間序列。結(jié)合基序理論和短期趨勢(shì)聚類的思想,得到股票時(shí)間序列的反轉(zhuǎn)點(diǎn)和反轉(zhuǎn)點(diǎn)前的K線形態(tài)的特征序列,定為 motif模式。并應(yīng)用時(shí)間序列的短期趨勢(shì)理論判斷motif模式對(duì)股票后期趨勢(shì)的影響。
研究股票時(shí)間序列,在特定的交易日 t內(nèi),總是能夠發(fā)現(xiàn)在相同交易期的一組股票中有相同的定向運(yùn)動(dòng)。在股市波動(dòng)過(guò)程中,這組股票將在這些交易日內(nèi)獲得收益或發(fā)生損失,我們稱這種股市波動(dòng)為股票短期趨勢(shì)[10]。如果在這些交易日內(nèi)至少有兩種或多種股票具有類似行為,這種趨勢(shì)被認(rèn)為是短期趨勢(shì)的基序。
定義1. K線反轉(zhuǎn)形態(tài):K線反轉(zhuǎn)形態(tài)圖形表示股價(jià)的原有走勢(shì)將要有逆轉(zhuǎn)的趨勢(shì),也就是將要減緩原先的股價(jià)走勢(shì)方向,但是下一步的趨勢(shì)不定。例如,原來(lái)的上升趨勢(shì)變成下降趨勢(shì),原來(lái)的下降趨勢(shì)將變成上升趨勢(shì),或者原來(lái)的上升或下降將變成一段平穩(wěn)的圖形后再發(fā)生下一步的變化。
定義2. 短期趨勢(shì):我們通過(guò)s S = X[ ti-1, ti+3]來(lái)表示X部分,其中,i-1和i+3分別是在[ti-1, ti+3]期間內(nèi)的開(kāi)始和結(jié)束日指數(shù)。如果在[ti-1, ti+3]期間內(nèi),ci-1< ci和 ci< ci+1< ci+2< ci+3,通常認(rèn)為時(shí)間序列X在 4個(gè)交易日內(nèi)具有短期增長(zhǎng)趨勢(shì);如果在[ti-1, ti+3]期間內(nèi), ci-1< ci和 ci<ci+1<ci+2<ci+3,那么認(rèn)為時(shí)間序列X在4個(gè)交易日內(nèi)具有短期下跌趨勢(shì)。 ti點(diǎn)被定義為短期趨勢(shì)的轉(zhuǎn)折點(diǎn)。
定義3. 基序理論:基序一般指構(gòu)成任何一種特征序列的基本結(jié)構(gòu)。而本文將基序理論結(jié)合短期趨勢(shì)得出一種短期趨勢(shì)的基序,即如果在 的股票時(shí)間序列中對(duì)于 k=1,2,3,…n而言存在 Sk=Xk[ti-1,ti+3]的兩個(gè)或多個(gè)類似部分,這個(gè)具有相同短期趨勢(shì)模式的類似部分被定義為短期趨勢(shì)的基序。
定義4. Motif模式:如果在的股票時(shí)間序列中對(duì)于 k=1,2,3,…,n而言存在的兩個(gè)或多個(gè)類似部分或片段,則這個(gè)具有相同短期趨勢(shì)模式的類似部分或片段被定義為短期趨勢(shì)的時(shí)間序列模式。
K線反轉(zhuǎn)形態(tài)種類繁多,其中既包括最初的反轉(zhuǎn)形態(tài),也包括在股票中出現(xiàn)的組合反轉(zhuǎn)形態(tài)。而本文將以紅三兵三烏鴉這種頂部反轉(zhuǎn)和底部反轉(zhuǎn)的典型形態(tài)為例來(lái)研究K線反轉(zhuǎn)形態(tài)的motif模式,通過(guò)MATLAB軟件完成數(shù)值計(jì)算和模式挖掘。結(jié)合以上定義可得算法如下:
算法1:判斷增長(zhǎng)趨勢(shì)算法
步驟1:從 的任何一個(gè)交易日中獲取X(ti, oi, ci,hi, li)的一個(gè)股票時(shí)間序列,比較第i天和第i-1天的股票收盤價(jià),如果 ci-1> ci,轉(zhuǎn)到第2步;否則增加到第二天并返回到第1步。
步驟2:比較第i+1天和第i天的股票價(jià)格,如果 ci+1> ci,轉(zhuǎn)到第3步;否則增加i到第二天并返回到第1步。
步驟3:比較第i+2天和第i+1天的股票價(jià)格,如果 ci+2>ci+1,轉(zhuǎn)到第4步;否則增加 到第二天并返回到第1步。
步驟4:比較第i+3天和第i+2天的股票價(jià)格,如果 ci+3>ci+2,轉(zhuǎn)到第5步;否則增加 到第二天并返回到第1步。
步驟 5:檢測(cè)到一個(gè)短期的增長(zhǎng)趨勢(shì),判斷增長(zhǎng)趨勢(shì)之后是否存在三烏鴉頂部反轉(zhuǎn)形態(tài),并結(jié)合算法3。
算法2:短期下跌趨勢(shì)算法
帶有上述任何一種股票價(jià)格的類似算法將被使用,其中,比計(jì)算結(jié)果大的替代比計(jì)算結(jié)果小的.步驟 5:檢測(cè)到一個(gè)短期的下跌趨勢(shì),判斷下跌趨勢(shì)之后是否存在紅三兵底部反轉(zhuǎn)形態(tài),結(jié)合算法4。
算法3:紅三兵底部反轉(zhuǎn)形態(tài)檢測(cè)算法
紅三兵是連續(xù)三日的小陽(yáng)線組合,在股票中屬于高開(kāi)高走的反轉(zhuǎn)形態(tài)組合。選取某一個(gè)交易日 i得到的股票時(shí)間序列 X ( ti, ci, oi, hi, li)。
步驟1:把第i天的收盤價(jià) ci與第i-1天的收盤價(jià) ci-1進(jìn)行比較,如果 ci>ci-1,則把第i天的開(kāi)盤價(jià) oi與第i-1天的開(kāi)盤價(jià) oi-1和收盤價(jià) ci-1同時(shí)進(jìn)行比較,如果 oi-1< oi< ci-1,則轉(zhuǎn)到步驟2;否則增加i到第二天并返回到步驟1。
步驟2:把第i天的收盤價(jià) ci與第i+1天的收盤價(jià) ci+1進(jìn)行比較,如果 ci+1> ci,則把第 i+1天的開(kāi)盤價(jià) oi+1與第 i天的開(kāi)盤價(jià) oi和收盤價(jià) ci同時(shí)進(jìn)行比較,如果 oi< oi+1< ci,則轉(zhuǎn)到步驟 3;否則增加i到第二天并返回到步驟1。
步驟3:若選取的時(shí)間序列交易日i即滿足步驟1,又滿足步驟2,則判斷檢測(cè)到一個(gè)紅三兵反轉(zhuǎn)形態(tài)。
算法4:三烏鴉頂部反轉(zhuǎn)形態(tài)檢測(cè)算法
三烏鴉是連續(xù)三日的小陰線組合,在股票中屬于低開(kāi)低走的反轉(zhuǎn)形態(tài)組合。選取某一個(gè)交易日 i得到的股票時(shí)間序列 X ( ti, ci, oi, hi, li)。
步驟1:把第i天的收盤價(jià) ci與第i-1天的收盤價(jià) ci-1進(jìn)行比較,如果 ci<ci-1,則把第i天的開(kāi)盤價(jià) oi與第i-1天的開(kāi)盤價(jià) oi-1和收盤價(jià) ci-1同時(shí)進(jìn)行比較,如果 ci-1< oi<o(jì)i-1,則轉(zhuǎn)到步驟2;否則增加i到第二天并返回到步驟1。
步驟2:把第i天的收盤價(jià) ci與第i+1天的收盤價(jià) ci+1進(jìn)行比較,如果 ci+1< ci,則把第 i+1天的開(kāi)盤價(jià) oi+1與第 i天的開(kāi)盤價(jià) oi和收盤價(jià) ci同時(shí)進(jìn)行比較,如果 ci<o(jì)i+1< oi,則轉(zhuǎn)到步驟 3;否則增加i到第二天并返回到步驟1。
步驟3:若選取的時(shí)間序列交易日即滿足步驟1,又滿足步驟2,則判斷檢測(cè)到一個(gè)三烏鴉反轉(zhuǎn)形態(tài)。
集合算法3、算法4得到紅三兵三烏鴉K線反轉(zhuǎn)形態(tài)如圖1所示:
一般而言,結(jié)合短期趨勢(shì)理論的股票時(shí)間序列中的基序是一種頻繁出現(xiàn)在時(shí)間順序中的模式,而這種時(shí)間順序?qū)︻A(yù)測(cè)股票短期趨勢(shì)和價(jià)格非常有用。在本節(jié)中,我們提出了一種用于找到股票時(shí)間序列中與短期趨勢(shì)有關(guān)的這些基序的算法。并以此得到對(duì)應(yīng)K線反轉(zhuǎn)形態(tài)的motif模式。
步驟1:取X(ti, yi)的股票時(shí)間序列,檢測(cè)短期趨勢(shì)并記住持續(xù)時(shí)間。
步驟2:取X(ti, yi)的另一個(gè)股票時(shí)間序列,檢測(cè)短期趨勢(shì)并進(jìn)行比較在相同時(shí)間周期內(nèi)是否存在有時(shí)間序列的相似部分。如果是的話,轉(zhuǎn)到第三步,否則轉(zhuǎn)到第二步。

圖1 紅三兵三烏鴉K線反轉(zhuǎn)形態(tài)圖Fig.1 K-line reversal morphology of three Red soldiers and three Crows
步驟 3:記住檢測(cè)到類似部分的段數(shù),然后返回到第2步。
步驟4:檢測(cè)到的股票時(shí)間序列的基序。
以上證A股為例,隨機(jī)抽取n只股票,通過(guò)上述算法,找到了相應(yīng)的股票時(shí)間序列中紅三兵三烏鴉K線反轉(zhuǎn)形態(tài)的motif模式,以及以5天為一個(gè)短期趨勢(shì)檢測(cè)周期的移動(dòng)平均線結(jié)果圖。如圖 2,圖3,圖4,圖5所示。

圖2 紅三兵反轉(zhuǎn)形態(tài)motif模式圖Fig.2 The Motif pattern of three Red soldiers
結(jié)合短期趨勢(shì)理念,檢測(cè)股票K線反轉(zhuǎn)形態(tài)的motif模式,并判斷該motif模式對(duì)股票趨勢(shì)的影響。本文選取上證A股中含有紅三兵三烏鴉motif模式的100支股票在2015年12月至2016年12月連續(xù)一年的日收盤價(jià)數(shù)據(jù)進(jìn)行實(shí)驗(yàn),以出現(xiàn) motif模式后的一周為短期趨勢(shì)檢測(cè)的時(shí)間段。采用特征指標(biāo)進(jìn)行短期趨勢(shì)預(yù)測(cè),以成交量為度量標(biāo)尺,收益率計(jì)算公式如(1)(2)(3)所示:

圖3 三烏鴉反轉(zhuǎn)形態(tài)motif模式圖Fig.3 The Motif pattern of three Crows

圖4 紅三兵特殊形態(tài)motif模式圖Fig.4 The special Motif pattern of three Red soldiers

圖5 短期趨勢(shì)檢測(cè)的移動(dòng)平均線圖Fig.5 Moving average of short-term trend detected
計(jì)算短期趨勢(shì)一周 t時(shí)間內(nèi)股票收益率序列記為γ:

計(jì)算出現(xiàn)紅三兵三烏鴉反轉(zhuǎn)形態(tài)motif模式的t時(shí)間內(nèi)股票收益率序列記為γ′:

將得到的兩個(gè)時(shí)間段內(nèi)的股票收益率進(jìn)行對(duì)比,得到判斷股票短期趨勢(shì)的幅度δ:

通過(guò)提出的方法進(jìn)行實(shí)驗(yàn),檢測(cè)得到了1248個(gè)紅三兵三烏鴉形態(tài)段數(shù),其中紅三兵形態(tài)697個(gè),三烏鴉形態(tài)551個(gè)。以二個(gè)月為時(shí)間段對(duì)其進(jìn)行分類,總共分為6個(gè)時(shí)間段,其統(tǒng)計(jì)表如表1所示:

表1 紅三兵三烏鴉形態(tài)次數(shù)統(tǒng)計(jì)表Tab.1 The statistics table of three Red soldiers and three Crows morphological
由數(shù)據(jù)表分析可知:上證A股在最近一年的股票波動(dòng)較大,尤其是在2016年8-12月之間,其紅三兵三烏鴉形態(tài)出現(xiàn)的頻率相對(duì)較多,說(shuō)明股票的反轉(zhuǎn)強(qiáng)度較大。在某種程度上,股票收盤價(jià)隨著股票價(jià)格的波動(dòng)而變化,所以收盤價(jià)的變化也影響著股價(jià)變化,進(jìn)而判斷股票趨勢(shì)[11]。
為了進(jìn)一步證實(shí)本文提出的股市預(yù)警方法的有效性,提取紅三兵三烏鴉形態(tài) motif模式對(duì)應(yīng)的日收盤價(jià),代入公式(1)(2)(3)。計(jì)算結(jié)果如表2,表3,表4所示,由數(shù)據(jù)表分析可知:紅三兵motif模式后對(duì)應(yīng)的收盤價(jià)在一個(gè)短期趨勢(shì)內(nèi)上升的次數(shù)遠(yuǎn)大于下降的次數(shù),其比率達(dá)到 93.5%,則紅三兵屬于底部反轉(zhuǎn)形態(tài),其后期趨勢(shì)看漲的說(shuō)法的準(zhǔn)確性較高,這為投資者買入提供預(yù)警。同理,三烏鴉motif模式后對(duì)應(yīng)的收盤價(jià)在一個(gè)短期趨勢(shì)內(nèi)下降的次數(shù)圓大于上升的次數(shù),其比率占 93.3%,則三烏鴉屬于頂部反轉(zhuǎn)形態(tài),后市看跌,為投資者及時(shí)賣出提供預(yù)警。

表2 紅三兵形態(tài)收盤價(jià)趨勢(shì)統(tǒng)計(jì)表Tab.2 Statistical table of close price in three Red soldiers

表3 三烏鴉形態(tài)收盤價(jià)趨勢(shì)統(tǒng)計(jì)表Tab.3 Statistical table of close price in three Crows

表4 股票后期趨勢(shì)及占比Tab.4 Late trend and ratio of stocks
到目前為止,針對(duì)股票時(shí)間序列中存在的影響投資者決策的因素或特征等方面的研究,國(guó)內(nèi)外學(xué)者都不勝其數(shù)。而由于數(shù)據(jù)挖掘技術(shù)或算法存在的局限性,很多文獻(xiàn)中只是提出了檢測(cè)股票時(shí)間序列中的奇異點(diǎn)位置,而針對(duì)股票的趨勢(shì)分析也只是一個(gè)模糊理論,例如文獻(xiàn)[12]張悅等人利用層次聚類分析判斷奇異點(diǎn)。同時(shí),日本的蠟燭圖圖表也一直是K線形態(tài)最直接的反映和參照,所以本文就是應(yīng)用蠟燭圖圖表技術(shù),結(jié)合基序理論和短期趨勢(shì)聚類的思想,提出了一種檢測(cè)K線反轉(zhuǎn)形態(tài)的motif模式的有意義檢測(cè)法,將次應(yīng)用在股價(jià)反轉(zhuǎn)預(yù)測(cè)中,為投資者提供一個(gè)預(yù)警。
[1] 信懷義, 安衛(wèi)杰. 金融數(shù)據(jù)中心數(shù)據(jù)備份必要性及其機(jī)制研究[J]. 軟件, 2015, 36(12): 72-75.
[2] Lan Q, Zhang D, Xiong L. Reversal Pattern Discovery in Financial Time Series Based on Fuzzy Candlestick Lines[J].Systems Engineering Procedia, 2011, 2: 182-190.
[3] Lee C H L, Liu A, Chen W S. Pattern discovery of fuzzy time series for financial prediction[J]. IEEE Transactions on Knowledge & Data Engineering, 2006, 18(5): 613-625.
[4] 渠文龍. 模式識(shí)別算法在網(wǎng)絡(luò)流量分類中的應(yīng)用[J]. 軟件,2013, 34(3): 72-79.
[5] 趙慶江, 柑桔, 車文剛. 基于奇異點(diǎn)的證券時(shí)間序列趨勢(shì)模型估計(jì)[C]. 第三十一屆中國(guó)控制會(huì)議, 2012.
[6] Xiao-di Liu, Wen-gang Che, and Qing-jiang Zhao, “Analysis of outliers and public information arrivals using wavelet transform modulus Maximum,” The 2nd IEEE International Conference on Information and Financial Engineering,September 2010, pp. 176-179.
[7] 付強(qiáng), 車文剛. 基于滑動(dòng)窗口的奇異點(diǎn)數(shù)據(jù)挖掘算法研究[J], 江西科學(xué), 2011, 29(2).
[8] Lin Y, Mccool M D, Ghorbani A A. Time Series Motif Discovery and Anomaly Detection Based on Subseries Join[J]. Iaeng International Journal of Computer Science,2010, 37(3): 259-271.
[9] Huo H, Lin S, Yu Q, et al. An algorithm for motif finding based on MapReduce[J]. China Sciencepaper, 2012.
[10] Che W. The Motif Detection of Short-term Tendency in Stock Time Series[C]// International Conference on Applied Science and Engineering Innovation. 2015.
[11] 林明德, 陳進(jìn)忠. 股市技術(shù)分析完全操作手冊(cè)[M]. 廣東: 廣東經(jīng)濟(jì)出版社, 2001.
[12] Yue Zhang, Jie Liu, and Hang Li, “An outlier detection algorithm based on clustering analysis,” The 1st International Conference on Pervasive Computing, Signal Processing and Applications, pp. 1126-1128, September 2010.