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

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

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

圖3 三烏鴉反轉形態motif模式圖Fig.3 The Motif pattern of three Crows

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

圖5 短期趨勢檢測的移動平均線圖Fig.5 Moving average of short-term trend detected
計算短期趨勢一周 t時間內股票收益率序列記為γ:

計算出現紅三兵三烏鴉反轉形態motif模式的t時間內股票收益率序列記為γ′:

將得到的兩個時間段內的股票收益率進行對比,得到判斷股票短期趨勢的幅度δ:

通過提出的方法進行實驗,檢測得到了1248個紅三兵三烏鴉形態段數,其中紅三兵形態697個,三烏鴉形態551個。以二個月為時間段對其進行分類,總共分為6個時間段,其統計表如表1所示:

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

表2 紅三兵形態收盤價趨勢統計表Tab.2 Statistical table of close price in three Red soldiers

表3 三烏鴉形態收盤價趨勢統計表Tab.3 Statistical table of close price in three Crows

表4 股票后期趨勢及占比Tab.4 Late trend and ratio of stocks
到目前為止,針對股票時間序列中存在的影響投資者決策的因素或特征等方面的研究,國內外學者都不勝其數。而由于數據挖掘技術或算法存在的局限性,很多文獻中只是提出了檢測股票時間序列中的奇異點位置,而針對股票的趨勢分析也只是一個模糊理論,例如文獻[12]張悅等人利用層次聚類分析判斷奇異點。同時,日本的蠟燭圖圖表也一直是K線形態最直接的反映和參照,所以本文就是應用蠟燭圖圖表技術,結合基序理論和短期趨勢聚類的思想,提出了一種檢測K線反轉形態的motif模式的有意義檢測法,將次應用在股價反轉預測中,為投資者提供一個預警。
[1] 信懷義, 安衛杰. 金融數據中心數據備份必要性及其機制研究[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] 渠文龍. 模式識別算法在網絡流量分類中的應用[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] 付強, 車文剛. 基于滑動窗口的奇異點數據挖掘算法研究[J], 江西科學, 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] 林明德, 陳進忠. 股市技術分析完全操作手冊[M]. 廣東: 廣東經濟出版社, 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.