彭佳星 肖基毅
摘 要:證券時間序列是證券交易價格的一組觀測數(shù)據(jù),是一種有其自身顯著的特點的時間序列,針對這些特點我們提出一種基于分形理論與K線圖形特點的分段方法,經(jīng)過理論分析與實踐證明其劃分的證券時間序列分段有其合理性。在對時間序列數(shù)據(jù)壓縮率很高的情況下,還能保持較好的擬合誤差,并能較好地描述證券時間序列的走勢特征。
關鍵詞:分型;轉折點;證券時間序列
一、引言
證券時間序列是按證券交易時間先后排列的一系列證券交易價格觀測數(shù)據(jù),其觀測值按固定的時間間隔采樣。證券時間序列屬于金融時間序列的一種,因為證券交易金額大交易頻率高而受研究者大量關注。
面對海量、高維的證券數(shù)據(jù),直接在原始數(shù)據(jù)上處理難度很大,因此,需要研究合適的數(shù)據(jù)表示形式,以規(guī)約簡化數(shù)據(jù)。目前常見的時間序列特征表示形式有域變化表示法、符號表示法、奇異值分解法、分段聚合近似表示方法(piecewise aggregate approximation,PAA)和分段直線表示法(Piecewise Linear Representation,PLR)等[1]。由于域變換表示法大多基于點距離,無法刻畫時間序列的重要特征—動態(tài)屬性;符號表示法更適應在文本數(shù)據(jù)挖掘和生物信息等領域中得到較多應用;奇異值分解法時間復雜度高,且從數(shù)據(jù)集中任意增加或刪除一條記錄,都要重新運算,不適合證券時間序列數(shù)據(jù)的動態(tài)增加;分段聚合近似表示方法根據(jù)是通過對時間序列進行平均分割并利用分段序列的均值來表示原時間序列的方法,極大值、極小值、形態(tài)特征等數(shù)據(jù)容易丟失,不利于體現(xiàn)證券時間序列的趨勢特征[2-3]。而分段直線表示法具有形式直觀、數(shù)據(jù)壓縮度高、支持動態(tài)增量更新和距離度量靈活等特點,更適合于證券數(shù)據(jù)表示。
PLR算法有不少應用于證券時間序列的實驗,一類如詹艷艷等基于斜率的分段法,根據(jù)斜率的變化把證券時間序列分成多個序列[4]。這類方法用于證券時間序列分段有一個顯著的缺點,同一趨勢段會因為漲跌幅度變化較大的而分為多個段,不利于趨勢的理解。另一類是以Pratt為代表的重要點分段法,根據(jù)序列中反趨勢的幅度,用序列分段中的上漲趨勢中的最大值或下跌趨勢的最小值,與反趨勢中某個值的比率小于某個臨界值R來判斷是否構成反趨勢段,從而達到分段的目的[5];以及田野等的改進的重要點分段法,這類方法比基于斜率的分段法能更好的描述證券時間序列的走勢特征[6]。不足之處是證券時間序列趨勢調整有急速大幅的調整,也有幅度不大卻時間比較長的調整,這就是通常所說的“時間換空間”或者“空間換時間”的調整,這可能會導致同一走勢中的不同調整段不能都被很好分段。當兩個股票時間序列漲跌節(jié)奏相同而幅度不同時,會因為分段不相同而不利于相似度度量。
本文提出的基于分型轉折點的分段方法,對于“空間換時間”的大幅調整和“時間換空間”的窄幅調整,都能較好的描述股票的基本趨勢及不同調整段。同時,本文的分段方法能支持使用同一時間點的最高價與最低價作為數(shù)據(jù)源,在趨勢段的最高點最低點能更好的保留原始數(shù)據(jù),比大多數(shù)分段算法只使用收盤價作為數(shù)據(jù)源更接近真實值。
二、問題描述及分型轉折點的定義
(一)問題的定義
定義1(證券時間序列)證券時間序列是證券交易記錄值和交易時間組成的有序集合。記為X= 分段方法的目標是對證券時間序列進行降維,減少序列中點的個數(shù)的同時保留時間序列數(shù)據(jù)關鍵特征,分段直線表示法的重點就在于分段點的選取。 (二)證券時間序列的分形特征與分段評價標準 分形(Fractal)的概念是美籍數(shù)學家本華·曼德博首先提出的。以海岸線為例,作為曲線,其特征是極不規(guī)則、極不光滑的,呈現(xiàn)極其蜿蜒復雜的變化。我們不能從形狀和結構上區(qū)分這部分海岸與那部分海岸有什么本質的不同。這種幾乎同樣程度的不規(guī)則性和復雜性,說明海岸線在形貌上是自相似的,也就是局部形態(tài)和整體態(tài)的相似。 證券交易時間序列數(shù)據(jù)也具有這樣的自相似性,我們從證券交易的日K線圖上看到的圖形概貌,與從月K線圖、日K線、30分鐘K線圖上看到的圖形幾乎有同樣程度的不規(guī)則性和復雜性。國內一些研究也表明,中國股票市場也具有分形特征[7]。這個特征表明證券時間序列中局部與整體之間有一些相似的結構特性,如果這種結構特征能在特征表示法中體現(xiàn)出來,對于證券數(shù)據(jù)挖掘是很有利的。 目前大多數(shù)時間序列特征表示法,追求擬合誤差e(t)的最小化。然而證券時間序列特征表示法中,對趨勢特征的保留程度,也是衡量特征表示優(yōu)劣的指標。本文中把擬合誤差和趨勢特征的保留程度一起作為參照指標。 根據(jù)證券數(shù)據(jù)分形特征的自相似性,以及證券K線圖形的拓撲結構,本文提出一種證券數(shù)據(jù)新型分段方法,命名為分型轉折點分段法。 三、分型轉折點分段方法 分段思路:根據(jù)證券時間序列的拓撲結構特點,所有的轉折點必然存在視覺上的高低點,這些高低點可以構成各個趨勢段的頂和底。頂和底的出現(xiàn)在圖形上會有一定的條件限制,找出序列所有頂和底,就可以確定分段點。這樣的分段適合月線、日線、分鐘線等各個時間度量單位的證券時間序列。 (一)基本定義 分型轉折點分段線性表示法建立在時間序列圖形分析的基礎之上。 證券時間序列描述的是股票等有價證券的交易價格觀測值,記錄股票交易在等長時間間隔內的價格數(shù)據(jù),常見時間間隔大小為:年、季、月、周、日、60分鐘、30分鐘、15分鐘、5分鐘、1分鐘。根據(jù)分形理論,不同時間間隔的觀測值拓撲圖形都有一定的自相似特點,通過觀測的視覺經(jīng)驗也能看出證券時間序列的自相似性。
本文重點關注某一個時間間隔內觀測值的最高價和最低價,用K(i)top表示時間序列第i個觀測值的最高價,用K(i)botton表示時間序列第i個觀測值的最低價。觀測值的圖形表示可以用最高價到最低價的垂直連線表示,并命名為K線(也是對證券理論中K線的一種簡化)。
(二)兩個觀測值的組合關系
1、非包含。一根K線的高點比另一根高(低),低點也比另一根高(低),則說這兩根K線是非包含的。
定義一:如果K(i+1)top>K(i)top and K(i+1)bottom>K(i)bottom,或者K(i+1)top 2、包含。前一根K線的高低點在后一根K線的高低點范圍之內,或者后一根K線的高低點在前一根K線的高低點范圍之內,則說這兩根K線存在包含關系。 定義二:如果K(i)top>=K(i+1)top and K(i)bottom<=K(i+1)bottom,則說K(i)包含K(i+1);如果K(i)top<=K(i+1)top and K(i)bottom>=K(i+1)bottom,則說K(i+1)包含K(i)。這兩種情況都構成包含關系。 (三)證券時間序列的方向(2個非包含關系的觀測值決定了方向) 非包含關系的2根K線后一根的高點比前一根高,低點也比前一根高,稱為向上(上漲)。非包含關系的2根K線后一根的高點比前一根低,低點也比前一根低,稱為向下(下跌)。 定義三:當2個觀測值為非包含關系時,如果K(i)top 定義四:當2個觀測值為非包含關系時,如果K(i)top>K(i+1)top and K(i)bottom>K(i+1)bottom,則序列的方向是向下(下跌)的。 (四)合并存在包含關系的觀測值 1、當序列方向是向上時(存在包含關系的2根K線之前的K線的方向,可以是經(jīng)過包含關系處理的),以2根K線中的高點的較高者為高點,以2根K線中低點的較高者為低點,合并為1根K線。 2、當K線方向是向下時,以2根K線中的高點的較低者為高點,以2根K線中低點的較低者為低點,合并為1根K線。 定理一:對存在包含關系K線合并時,如果前面序列是向上的,K(合)top=Max(K(i)top,K(i+1)top),K(合)bottom=Max(K(i)bottom,K(i+1)bottom);如果前面序列式向下的,K(合)top=Min(K(i)top,K(i+1)top),K(合)bottom=Min(K(i)bottom,K(i+1)bottom)。 (五)3根K線組合關系(包含關系已作合并處理) 時間序列中存在包含關系的K線做了合并處理之后,3根K線的組合關系只可能是以下四種情況: 頂分型:第二根K線的高點是3根K線高點中最高的,低點是3根K線低點中最高的。 底分型:第二K線低點是相鄰三K線低點中最低的,而高點也是相鄰三K線高點中最低的。 頂分型的最高點叫該分型的頂,底分型的最低點叫該分型的底。 上升K線:三根K線的高點依次升高,低點依次升高。 下降K線:三根K線的高點依次降低,低點依次降低。 (六)K線的分型 所有的時間序列轉折點都必定是頂分型或者底分型(包含關系已經(jīng)合并),頂、底分型是時間序列走勢發(fā)生轉折的必要非充分條件。 頂分型:第二根K線的高點是3根K線高點中最高的,低點是3根K線低點中最高的。 底分型:第二K線低點是相鄰三K線低點中最低的,而高點也是相鄰三K線高點中最低的。 頂分型的最高點叫該分型的頂,底分型的最低點叫該分型的底。 (七)分型轉折點分段方法 轉折點一定有頂分型或者底分型,但頂、底分型要構成轉折點需要在視覺上形成一定的轉折效果,對數(shù)據(jù)壓縮有幫助,這里引入時間窗的方法,要求頂、底之間滿足:頂、底之間不少于N根K線(不包括頂、底所在的K線)。N值越小,分段點越多,壓縮率越高;反之,N值越大,分段點越少,壓縮率越低。由于趨勢的存在,N取值對分段點的影響并不是很大。 由分型到分段確認的幾種情況: 先由前兩根K線定方向,向上則第一根為底,向下則第一根為頂。包含則再根據(jù)下一根K線確定方向。 如果先出頂分型,接下來,如果再出一頂分型則:頂+頂 取其中高者為頂;如果一樣高,則前者為頂。此時頂仍未確定。等待下一個分型。 如果再出一底分型則:頂+底,1、符合分段要求則為1段,先保存下來。頂已經(jīng)確定,等待底的確定。2、不符合,則前頂仍未確定。等待下一個分型。 反之,先出底分型,接下來,如果再出一底分型則:底+底 取其中低者為底;如果一樣高,則前者為底。此時底仍未確定。等待下一個分型。 如果再出一頂分型則:底+頂,1、符合分段定義則為1段,先保存下來。底已經(jīng)確定,等待頂?shù)拇_定。2、不符合,此時底仍未確定。等待下一個分型。 3、第一個K線如果不在第一個分型中,則該K線與第一個分型構成一個分段;最后一個分型與最后一個K線構成未定分段。 (八)算法優(yōu)點比較分析 1、其他分段算法處理證券數(shù)據(jù)時,每一個時間點T只能處理一個數(shù)據(jù),算法往往從開盤價、收盤價、最高價、最低價中選擇一個來代替時間點T內的所有價格,大多數(shù)算法選用收盤價。當一些時間點處在證券時間序列的極值處時,計算整個時間序列內的漲跌幅度就會存在誤差。本算法能同時處理兩個價格,我們選用最高價和最低價,能更真實的描述時間序列漲跌的幅度與趨勢轉折點位置。
2、本分段算法對構建證券時間序列的形態(tài)趨勢非常有效,在高壓縮率的基礎上還能很好的保留序列基本趨勢特點,不會出現(xiàn)把一個趨勢段劃分成兩個同方向的趨勢段相連的情況。
3、支持數(shù)據(jù)的動態(tài)更新,新增加數(shù)據(jù)不影響對本分段算法效率。
四、實驗結果及分析
(一)實驗數(shù)據(jù)
本文中的實驗數(shù)據(jù)來自同花順方正證券泉友通交易軟件。
數(shù)據(jù)源:選取上證指數(shù)420個(2014.10.20-2016.7.5)交易日觀測值,包括最高價和最低價,形式為K=
(二)實驗方法
本文通過使用基于K線分型轉折點算法分段,輸入為同花順交易軟件導出的股票日K線數(shù)據(jù),輸出為各個分段點價格和時間。
基于K線分型轉折點算法流程如下:
(三)實驗結果
本文的實驗環(huán)境為AMD 1.5GHZ聯(lián)想個人電腦,內存2G,操作系統(tǒng)為Windows7。實驗數(shù)據(jù)為上證指數(shù)420天的時間序列數(shù)據(jù)。首先對其進行標準化,把數(shù)據(jù)范圍限制到[0,1]之間,以便于比較擬合誤差。方法是首先找出序列中的最大值max,最小值min,然后用xi-minmax-min來進行計算。擬合誤差采用∑(xi-xi)2進行計算(其中xi為實際值,xi為估計值)。
實驗股票時間序列420個,分型轉折點分段算法參數(shù)N取值5時(即頂?shù)字g不少于5根K線),數(shù)據(jù)壓縮率為94%,擬合誤差為0.629。可以直觀地看出,壓縮后的序列很好地保留了序列總體的走勢,如圖2
五、結論
本文針對證券時間序列分段方法提出了一種新的思路,這種分段方法基于證券時間序列本身的特征構造分型,根據(jù)分型特征構造分段。實驗表明,該分段方法壓縮比率很高時,還能很好的保留原是序列的走勢結構,是一種很好的分段方法。(作者單位:1.南華大學計算機科學與技術學院;2.衡陽師范學院計算機科學與技術學院;3.智能信息處理與應用湖南省重點實驗室)
參考文獻:
[1] 李海林,郭崇慧.時間序列數(shù)據(jù)挖掘中特征表示與相似性度量研究綜述[J].計算機應用研究,2013年5月,1285-1291.
[2] Keogh,E,Chakrabarti,K,Pazzani,M,Mehrotra,S.Dimensionality reduction for fast similarity search inlarge time series databases.Knowledge and informationSystems[J],2001,3(3),263-286
[3] Keogh,E.A fast and robust method for pattern matching in time series databases,Proceedings of 9th International Conference on Tools with Artificial Intelligence[C],1997,578-584.
[4] 詹艷艷,徐榮聰,陳曉云.基于斜率提取邊緣點的時間序列分段線性表示方法[J].計算機科學,2006,139-142.
[5] Pratt,K.B,F(xiàn)ink,E.Search for patterns in compressed time series.International Journal of Image and Graphics[J],2002,2(1),89-106.
[6] 田野.改進的基于重要點的時間序列數(shù)據(jù)分段方法.微型電腦應用[J],2012,48-51.
[7] 張兵,徐偉.中國股票市場分形特征的實證研究[J].經(jīng)濟管理,2002,63-69.