龍 婧,車文剛,權(quán)鵬宇,周志元
(1. 昆明理工大學(xué) 信息工程與自動化學(xué)院,云南 昆明 650500;2. 昆明理工大學(xué) 云南省計算機技術(shù)應(yīng)用重點實驗室,云南 昆明 650500)
金融數(shù)據(jù)中心存放并管理著企業(yè)核心的金融業(yè)務(wù)數(shù)據(jù),包括:系統(tǒng)業(yè)務(wù)數(shù)據(jù)、交易痕跡數(shù)據(jù)、客戶行為數(shù)據(jù)等等。這些數(shù)據(jù)涉及企業(yè)運營的方方面面,是企業(yè)的核心信息資產(chǎn)[1]。金融市場作為一個復(fù)雜的系統(tǒng),不僅僅是一個互動的參與人數(shù)眾多的制度,也受到政治,文化和經(jīng)濟等諸多因素的影響[2]。而時間序列是一種與數(shù)據(jù)點有關(guān)的序列[3],股票時間序列既包括開盤價、收盤價、最高價和最低價,也包括在交易日進行的股票價格的連續(xù)測量值,即成交量。股票時間序列中所蘊含的信息對股票投資者的決策起著關(guān)鍵性作用,這也決定了對股票時間序列的研究隨著數(shù)據(jù)挖掘技術(shù)的深入而成為熱點研究問題。
但是,由于傳統(tǒng)的時間序列方法及其變化更傾向于關(guān)注價格和轉(zhuǎn)折點而不是其他變化的信息變量,如開盤價、收盤價、最高價和最低價。這就很難發(fā)現(xiàn)股價波動模式的準確性和完整性,而對于投資者,他們真正關(guān)心的是股價的反轉(zhuǎn)點??偠灾m然股票時間序列中奇異點的預(yù)測研究在證券市場已經(jīng)存在,但針對該奇異點判斷K線形態(tài)motif模式識別,以此對大盤的趨勢分析卻還并不是很完善。例如,文獻[4]將模式識別算法用到網(wǎng)絡(luò)流量分類研究中證明其吞吐率和擴展性,文獻[5]采用d-近鄰聚類的聚類算法檢測時間序列奇異點,文獻[6]用小波變換模極大值檢測時間序列的奇異點,文獻[7]取局部異常因子作為判斷值檢測時間序列奇異點,文獻[8]采用子系聯(lián)合的方法研究時間序列的 Motif挖掘和異常檢測,文獻[9]將motif定義在基于MapReduce的圖案檢索算法中檢測基因調(diào)控關(guān)系。然而,這些研究只能得到股票價格出現(xiàn)最大波動的時刻t,將這些 t值聚類作為奇異點,卻并不知道該時刻時間序列呈現(xiàn)的K線形態(tài)motif模式,也對股票后期走勢的影響無法判定。所以新的方法和技術(shù)在金融領(lǐng)域的研究是非常迫切的,數(shù)據(jù)挖掘和人工智能技術(shù)的深入開發(fā)對反轉(zhuǎn)點發(fā)現(xiàn)、K線形態(tài)motif模式的研究和股票價格的預(yù)測也都是非常重要的。
在本文中,我將介紹并應(yīng)用一個可行的和有效的技術(shù)分析框架–K線形態(tài)圖–股票時間序列。結(jié)合基序理論和短期趨勢聚類的思想,得到股票時間序列的反轉(zhuǎn)點和反轉(zhuǎn)點前的K線形態(tài)的特征序列,定為 motif模式。并應(yīng)用時間序列的短期趨勢理論判斷motif模式對股票后期趨勢的影響。
研究股票時間序列,在特定的交易日 t內(nèi),總是能夠發(fā)現(xiàn)在相同交易期的一組股票中有相同的定向運動。在股市波動過程中,這組股票將在這些交易日內(nèi)獲得收益或發(fā)生損失,我們稱這種股市波動為股票短期趨勢[10]。如果在這些交易日內(nèi)至少有兩種或多種股票具有類似行為,這種趨勢被認為是短期趨勢的基序。
定義1. K線反轉(zhuǎn)形態(tài):K線反轉(zhuǎn)形態(tài)圖形表示股價的原有走勢將要有逆轉(zhuǎn)的趨勢,也就是將要減緩原先的股價走勢方向,但是下一步的趨勢不定。例如,原來的上升趨勢變成下降趨勢,原來的下降趨勢將變成上升趨勢,或者原來的上升或下降將變成一段平穩(wěn)的圖形后再發(fā)生下一步的變化。
定義2. 短期趨勢:我們通過s S = X[ ti-1, ti+3]來表示X部分,其中,i-1和i+3分別是在[ti-1, ti+3]期間內(nèi)的開始和結(jié)束日指數(shù)。如果在[ti-1, ti+3]期間內(nèi),ci-1< ci和 ci< ci+1< ci+2< ci+3,通常認為時間序列X在 4個交易日內(nèi)具有短期增長趨勢;如果在[ti-1, ti+3]期間內(nèi), ci-1< ci和 ci<ci+1<ci+2<ci+3,那么認為時間序列X在4個交易日內(nèi)具有短期下跌趨勢。 ti點被定義為短期趨勢的轉(zhuǎn)折點。
定義3. 基序理論:基序一般指構(gòu)成任何一種特征序列的基本結(jié)構(gòu)。而本文將基序理論結(jié)合短期趨勢得出一種短期趨勢的基序,即如果在 的股票時間序列中對于 k=1,2,3,…n而言存在 Sk=Xk[ti-1,ti+3]的兩個或多個類似部分,這個具有相同短期趨勢模式的類似部分被定義為短期趨勢的基序。
定義4. Motif模式:如果在的股票時間序列中對于 k=1,2,3,…,n而言存在的兩個或多個類似部分或片段,則這個具有相同短期趨勢模式的類似部分或片段被定義為短期趨勢的時間序列模式。
K線反轉(zhuǎn)形態(tài)種類繁多,其中既包括最初的反轉(zhuǎn)形態(tài),也包括在股票中出現(xiàn)的組合反轉(zhuǎn)形態(tài)。而本文將以紅三兵三烏鴉這種頂部反轉(zhuǎn)和底部反轉(zhuǎn)的典型形態(tài)為例來研究K線反轉(zhuǎn)形態(tài)的motif模式,通過MATLAB軟件完成數(shù)值計算和模式挖掘。結(jié)合以上定義可得算法如下:
算法1:判斷增長趨勢算法
步驟1:從 的任何一個交易日中獲取X(ti, oi, ci,hi, li)的一個股票時間序列,比較第i天和第i-1天的股票收盤價,如果 ci-1> ci,轉(zhuǎn)到第2步;否則增加到第二天并返回到第1步。
步驟2:比較第i+1天和第i天的股票價格,如果 ci+1> ci,轉(zhuǎn)到第3步;否則增加i到第二天并返回到第1步。
步驟3:比較第i+2天和第i+1天的股票價格,如果 ci+2>ci+1,轉(zhuǎn)到第4步;否則增加 到第二天并返回到第1步。
步驟4:比較第i+3天和第i+2天的股票價格,如果 ci+3>ci+2,轉(zhuǎn)到第5步;否則增加 到第二天并返回到第1步。
步驟 5:檢測到一個短期的增長趨勢,判斷增長趨勢之后是否存在三烏鴉頂部反轉(zhuǎn)形態(tài),并結(jié)合算法3。
算法2:短期下跌趨勢算法
帶有上述任何一種股票價格的類似算法將被使用,其中,比計算結(jié)果大的替代比計算結(jié)果小的.步驟 5:檢測到一個短期的下跌趨勢,判斷下跌趨勢之后是否存在紅三兵底部反轉(zhuǎn)形態(tài),結(jié)合算法4。
算法3:紅三兵底部反轉(zhuǎn)形態(tài)檢測算法
紅三兵是連續(xù)三日的小陽線組合,在股票中屬于高開高走的反轉(zhuǎn)形態(tài)組合。選取某一個交易日 i得到的股票時間序列 X ( ti, ci, oi, hi, li)。
步驟1:把第i天的收盤價 ci與第i-1天的收盤價 ci-1進行比較,如果 ci>ci-1,則把第i天的開盤價 oi與第i-1天的開盤價 oi-1和收盤價 ci-1同時進行比較,如果 oi-1< oi< ci-1,則轉(zhuǎn)到步驟2;否則增加i到第二天并返回到步驟1。
步驟2:把第i天的收盤價 ci與第i+1天的收盤價 ci+1進行比較,如果 ci+1> ci,則把第 i+1天的開盤價 oi+1與第 i天的開盤價 oi和收盤價 ci同時進行比較,如果 oi< oi+1< ci,則轉(zhuǎn)到步驟 3;否則增加i到第二天并返回到步驟1。
步驟3:若選取的時間序列交易日i即滿足步驟1,又滿足步驟2,則判斷檢測到一個紅三兵反轉(zhuǎn)形態(tài)。
算法4:三烏鴉頂部反轉(zhuǎn)形態(tài)檢測算法
三烏鴉是連續(xù)三日的小陰線組合,在股票中屬于低開低走的反轉(zhuǎn)形態(tài)組合。選取某一個交易日 i得到的股票時間序列 X ( ti, ci, oi, hi, li)。
步驟1:把第i天的收盤價 ci與第i-1天的收盤價 ci-1進行比較,如果 ci<ci-1,則把第i天的開盤價 oi與第i-1天的開盤價 oi-1和收盤價 ci-1同時進行比較,如果 ci-1< oi<oi-1,則轉(zhuǎn)到步驟2;否則增加i到第二天并返回到步驟1。
步驟2:把第i天的收盤價 ci與第i+1天的收盤價 ci+1進行比較,如果 ci+1< ci,則把第 i+1天的開盤價 oi+1與第 i天的開盤價 oi和收盤價 ci同時進行比較,如果 ci<oi+1< oi,則轉(zhuǎn)到步驟 3;否則增加i到第二天并返回到步驟1。
步驟3:若選取的時間序列交易日即滿足步驟1,又滿足步驟2,則判斷檢測到一個三烏鴉反轉(zhuǎn)形態(tài)。
集合算法3、算法4得到紅三兵三烏鴉K線反轉(zhuǎn)形態(tài)如圖1所示:
一般而言,結(jié)合短期趨勢理論的股票時間序列中的基序是一種頻繁出現(xiàn)在時間順序中的模式,而這種時間順序?qū)︻A(yù)測股票短期趨勢和價格非常有用。在本節(jié)中,我們提出了一種用于找到股票時間序列中與短期趨勢有關(guān)的這些基序的算法。并以此得到對應(yīng)K線反轉(zhuǎn)形態(tài)的motif模式。
步驟1:取X(ti, yi)的股票時間序列,檢測短期趨勢并記住持續(xù)時間。
步驟2:取X(ti, yi)的另一個股票時間序列,檢測短期趨勢并進行比較在相同時間周期內(nèi)是否存在有時間序列的相似部分。如果是的話,轉(zhuǎn)到第三步,否則轉(zhuǎn)到第二步。
圖1 紅三兵三烏鴉K線反轉(zhuǎn)形態(tài)圖Fig.1 K-line reversal morphology of three Red soldiers and three Crows
步驟 3:記住檢測到類似部分的段數(shù),然后返回到第2步。
步驟4:檢測到的股票時間序列的基序。
以上證A股為例,隨機抽取n只股票,通過上述算法,找到了相應(yīng)的股票時間序列中紅三兵三烏鴉K線反轉(zhuǎn)形態(tài)的motif模式,以及以5天為一個短期趨勢檢測周期的移動平均線結(jié)果圖。如圖 2,圖3,圖4,圖5所示。
圖2 紅三兵反轉(zhuǎn)形態(tài)motif模式圖Fig.2 The Motif pattern of three Red soldiers
結(jié)合短期趨勢理念,檢測股票K線反轉(zhuǎn)形態(tài)的motif模式,并判斷該motif模式對股票趨勢的影響。本文選取上證A股中含有紅三兵三烏鴉motif模式的100支股票在2015年12月至2016年12月連續(xù)一年的日收盤價數(shù)據(jù)進行實驗,以出現(xiàn) motif模式后的一周為短期趨勢檢測的時間段。采用特征指標進行短期趨勢預(yù)測,以成交量為度量標尺,收益率計算公式如(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 短期趨勢檢測的移動平均線圖Fig.5 Moving average of short-term trend detected
計算短期趨勢一周 t時間內(nèi)股票收益率序列記為γ:
計算出現(xiàn)紅三兵三烏鴉反轉(zhuǎn)形態(tài)motif模式的t時間內(nèi)股票收益率序列記為γ′:
將得到的兩個時間段內(nèi)的股票收益率進行對比,得到判斷股票短期趨勢的幅度δ:
通過提出的方法進行實驗,檢測得到了1248個紅三兵三烏鴉形態(tài)段數(shù),其中紅三兵形態(tài)697個,三烏鴉形態(tài)551個。以二個月為時間段對其進行分類,總共分為6個時間段,其統(tǒng)計表如表1所示:
表1 紅三兵三烏鴉形態(tài)次數(shù)統(tǒng)計表Tab.1 The statistics table of three Red soldiers and three Crows morphological
由數(shù)據(jù)表分析可知:上證A股在最近一年的股票波動較大,尤其是在2016年8-12月之間,其紅三兵三烏鴉形態(tài)出現(xiàn)的頻率相對較多,說明股票的反轉(zhuǎn)強度較大。在某種程度上,股票收盤價隨著股票價格的波動而變化,所以收盤價的變化也影響著股價變化,進而判斷股票趨勢[11]。
為了進一步證實本文提出的股市預(yù)警方法的有效性,提取紅三兵三烏鴉形態(tài) motif模式對應(yīng)的日收盤價,代入公式(1)(2)(3)。計算結(jié)果如表2,表3,表4所示,由數(shù)據(jù)表分析可知:紅三兵motif模式后對應(yīng)的收盤價在一個短期趨勢內(nèi)上升的次數(shù)遠大于下降的次數(shù),其比率達到 93.5%,則紅三兵屬于底部反轉(zhuǎn)形態(tài),其后期趨勢看漲的說法的準確性較高,這為投資者買入提供預(yù)警。同理,三烏鴉motif模式后對應(yīng)的收盤價在一個短期趨勢內(nèi)下降的次數(shù)圓大于上升的次數(shù),其比率占 93.3%,則三烏鴉屬于頂部反轉(zhuǎn)形態(tài),后市看跌,為投資者及時賣出提供預(yù)警。
表2 紅三兵形態(tài)收盤價趨勢統(tǒng)計表Tab.2 Statistical table of close price in three Red soldiers
表3 三烏鴉形態(tài)收盤價趨勢統(tǒng)計表Tab.3 Statistical table of close price in three Crows
表4 股票后期趨勢及占比Tab.4 Late trend and ratio of stocks
到目前為止,針對股票時間序列中存在的影響投資者決策的因素或特征等方面的研究,國內(nèi)外學(xué)者都不勝其數(shù)。而由于數(shù)據(jù)挖掘技術(shù)或算法存在的局限性,很多文獻中只是提出了檢測股票時間序列中的奇異點位置,而針對股票的趨勢分析也只是一個模糊理論,例如文獻[12]張悅等人利用層次聚類分析判斷奇異點。同時,日本的蠟燭圖圖表也一直是K線形態(tài)最直接的反映和參照,所以本文就是應(yīng)用蠟燭圖圖表技術(shù),結(jié)合基序理論和短期趨勢聚類的思想,提出了一種檢測K線反轉(zhuǎn)形態(tài)的motif模式的有意義檢測法,將次應(yīng)用在股價反轉(zhuǎn)預(yù)測中,為投資者提供一個預(yù)警。
[1] 信懷義, 安衛(wèi)杰. 金融數(shù)據(jù)中心數(shù)據(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] 渠文龍. 模式識別算法在網(wǎng)絡(luò)流量分類中的應(yīng)用[J]. 軟件,2013, 34(3): 72-79.
[5] 趙慶江, 柑桔, 車文剛. 基于奇異點的證券時間序列趨勢模型估計[C]. 第三十一屆中國控制會議, 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] 付強, 車文剛. 基于滑動窗口的奇異點數(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] 林明德, 陳進忠. 股市技術(shù)分析完全操作手冊[M]. 廣東: 廣東經(jīng)濟出版社, 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.