基于k線圖表示的金融時間序列相似性查詢方法
【技術領域】
[0001] 本發明涉及數據庫、數據挖掘、信息檢索等領域,尤其涉及金融時間序列數據分析 和挖掘。
【背景技術】
[0002] 時間序列廣泛存在于人們的日常生活及工業生產中,如基金或股票的實時交易數 據,零售市場的日銷量數據,流程工業的傳感器監測數據,天文觀測數據,航空航天雷達、衛 星監測數據,實時天氣溫度及空氣質量指數等。
[0003] 時間序列相似性查詢,又稱為時間序列的樣例檢索,在工業界和金融界有著廣泛 的應用需求。比如,在股票市場的實時交易中,交易員想要從海量的歷史股票數據中,查詢 出與當前時刻股票走勢的形態最相似的k條歷史序列作為參考,來獲取有價值的知識和啟 發,完成交易行為。很明顯,解決該問題的最簡單方法是對數據庫的線性掃描,然而這種將 查詢序列與數據庫每條序列一一對比的方法具有很高的時間開銷。因此,工業界通常采用 空間索引方法,如R樹、R*樹、網格文件等。但是,大多數空間索引方法的性能,會隨著時間 序列維度的升高而迅速降級,即出現"維度災難"。所以,傳統的查詢方法在對時間序列構建 空間索引之前,會首先采用特定的數據表示方法提取時間序列的特征,以實現降維。
[0004] 目前工業界常用的數據表示方法可分為非數據適應性和數據適應性方法。對于 前者,變換參數不受單獨的時間序列影響,而始終保持不變;該類表示大多基于頻譜分解實 現,如離散傅里葉變換、離散小波變換、離散余弦變換,其主要通過對原始時間序列做相應 的頻域變換,提取主要的頻譜系數作為特征;該類方法各有缺陷,如離散傅里葉變換只能 提取總體形態特征而忽略了局部特征,離散小波變換只能處理長度為2的指數次的時間序 列,離散余弦變換的信息丟失較多,對原始數據的重構誤差較大。數據適應性表示是指對變 換參數的確定需要依賴數據本身;通過增加數據敏感的選擇處理過程,可以把大部分非數 據適應性方法變為數據適應性方法。該類方法有分段聚集近似、分段線性近似、符號化聚集 近似、奇異值分解、主成分分析等,前三種都需要先對原始時間序列進行分段,然后對每一 子段單獨處理(分段聚集近似是對各段求平均值,分段線性近似是對各段做線段擬合,符 號化聚集近似是在分段聚集近似基礎上將每段平均值離散化為符號),由于其所提取的特 征較為單一,使其對時間序列波動模式的表達能力較弱。奇異值分解和主成分分析通過對 所有時間序列做統一的特征矩陣分解實現,這兩類方法的典型缺陷是計算復雜度高,而且 分解過程只能在內存完成,數據規模的可擴展性很低。
[0005] 工業界迄今采用的索引方法大多是基于樹的空間索引,B-樹最先用于索引一維數 據,是許多分層索引結構的基礎;R-樹系列,如R*-樹、R+-樹等,采用最小邊界矩形組織數 據,但是最小邊界矩形會覆蓋大量無數據的空間,導致查詢結果存在大量的"誤命中",從而 降低查詢效率;A-樹使用了向量近似文件來存儲最小邊界矩形和虛擬邊界矩形的上下邊 界,從而保證較低的索引開銷和較高的查詢完備性。由于工業生產中的時間序列具有高維 或超高維特性,即使在精度損失可接受的范圍內做降維處理,仍然可能具有很高的維度,因 此,基于樹的索引方法很容易出現"維度災難"問題。
【發明內容】
[0006] 本發明要解決的問題是對用戶任意指定的一條金融時間序列,如何快速地從大規 模金融時間序列數據庫中找出k條最相似的序列。為了解決該問題,本發明提出了基于K 線圖表示的金融時間序列相似性查詢方法。
[0007] 本發明的目的是通過以下技術方案實現的:一種基于K線圖表示的金融時間序列 相似性查詢方法,包括以下步驟:
[0008] (1)特征提取,具體包括以下子步驟:
[0009] (1. 1)依次讀取金融時間序列數據庫中的每條時間序列;
[0010] (1. 2)對時間序列做Z-規范化處理;
[0011] (1. 3)設定K線表示粒度1,采用該粒度的窗口對步驟1. 2處理得到的時間序列平 均切分為W條子序列;依次提取每條子序列的初始值vfi"t,最大值v max,最小值vmin,最終值 Vlast,構造K線圖,并表示為特征向量K = [vfi"t, vmax, vmin, vlast],將金融時間序列轉化為K線 序列K = {心,K2,…,&,…,KJ ;
[0012] (1. 4)分別提取K線序列的基本模式Pbasi。與典型模式P typiMl,將其轉化為基本字 符串Strbasi。與典型字符串Strtypieal,具體為:
[0013] (1. 4. 1)將金融時間序列在金融交易市場中單位時間段的最大升降幅度范圍平均 劃分為n個區間,并從0開始依次遞增編號;
[0014] (1. 4. 2)依次掃描每對相鄰的K線組合〈1,1+1>,計算Ki+1的四個特征相對于1的 最終值Ki(v last)的升降幅度,并分別映射到步驟1. 4. 1劃分的相應區間,以區間編號表示各 特征,得到離散化特征向量Di+1^f <D i,Di+1>的各元素依次分配到連續存儲單元,組合為基 本模式Pbasi。,由此將K線序列轉化為基本字符串Str basi。;
[0015] (1. 4. 3)采用金融技術分析領域的D種多K線組合模式作為典型模式庫Ptypical_ base,并將每個典型模式P typiMl以離散化特征向量的形式存儲;依次掃描K線序列,若以K i 起始的多K線組合〈1,Ki+1,. . .,Ki+n>與PtypiMl_base中的典型模式相匹配,則進行提取并 根據1. 4. 2的方式編碼存儲,由此將K線序列轉化為典型字符串StrtypiMl;
[0016] (2)索引構建,具體包括以下子步驟:
[0017] (2. 1)基于Lucene全文檢索開源框架,以Pbasi。作為索引項,對所有基本字符串 Strbasic;構建基本模式倒排索引Pbasic_index;
[0018] (2. 2)基于Lucene全文檢索開源框架,以Ptypieal作為索引項,對所有典型字符串 Strtypical構建典型模式倒排索引P typical_index ;
[0019] (3)查詢處理,具體包括以下子步驟:
[0020] (3. 1)將查詢時間序列Q進行與步驟1相同的特征提取,得到基本字符串 Strbasic;(Q)與典型字符串 StrtypiMl(Q);
[0021] (3. 2)對Strbasic;(Q)查詢步驟2. 1得到的基本模式倒排索引Pbasic_index,獲取包 含M個候選對象的候選集C1;
[0022] (3. 3)對Strtypical(Q)查詢步驟2. 2得到的典型模式倒排索引Ptypical_index,獲取 包含N個候選對象的候選集C2;
[0023] (3. 4)對(^與C 2求交集,得到包含r個候選對象的最終候選集C 3;
[0024] (3. 5)對C3中的每個候選對象,通過磁盤I/O讀取原始序列,并與查詢時間序列Q 的原始值進行相似性度量,根據相似性度量值,對C3的所有候選對象進行排序,保留k個最 相似的候選序列作為最終的查詢結果并返回。
[0025] 本發明的有益效果是:
[0026] 1、在特征提取階段,采用了K線表示方法,適用于金融時間序列特有的波動特性 和應用需求;對時間序列分別提取基本模式與典型模式特征,可分別捕捉金融時間序列的 基本波動特性與具有重要參考價值的指示