李大夜,李天洋
(對外經(jīng)濟貿(mào)易大學a.國際商學院;b.國際經(jīng)濟貿(mào)易學院,北京 100029)
技術分析作為經(jīng)典投資分析工具,在業(yè)界使用廣泛,但曾因為其缺乏理論依據(jù),判斷方法不夠客觀,技術分析在學術界備受爭議。Brock等(1991)[1]提出了一個研究技術分析有效性的方法,并獲得了廣泛應用[2,3]。該框架也有其不足:技術分析圖形數(shù)量多,難以窮舉;即使確認了某圖形能獲得超額收益,仍無法回答是否存在未知圖形能獲得更好的收益;該框架能夠驗證某個圖形的有效性,但無法獲得“技術分析是否有效”這個問題的完整圖景。因為上述問題的存在,已有的技術分析研究得出了大量的不完全一致的結(jié)論。
本文提出一個新的方法,不必先選圖形而后驗證其有效性,而是在歷史市場價格構成的整個圖形空間內(nèi),采用數(shù)據(jù)挖掘方法,根據(jù)幾何相似度對所有圖形進行分類,并用歷史數(shù)據(jù)檢驗每種圖形分類的預測能力,最后根據(jù)驗證結(jié)果來判斷技術分析圖形法的有效性。該方法的前提假設是,如果真的存在某種有效的圖形,在樣本充足的前提下,該圖形將重復出現(xiàn)于歷史價格數(shù)據(jù)中,并已經(jīng)顯示出了其預測能力。如果分類結(jié)果中,存在某些圖形確實有統(tǒng)計意義上顯著的預測能力,則說明市場并非隨機游走,基于圖形的技術分析方法是有效的。本文提出的方法不需要先確定具體圖形(如均線交叉、頭肩頂?shù)龋?,因此能一定程度上克服Brock框架的缺點。本文方法最顯著的優(yōu)勢就是:該方法是一個基于數(shù)據(jù)挖掘的自頂向下的全局研究方法,無需制定圖形,所以能夠為圖形法的有效性問題提供一個全景結(jié)果。
Brock等(1991)[1]提出了一種應用廣泛的技術分析研究方法,主要包含三個步驟:
(1)選定研究的技術分析圖形,并針對圖形特征建模,確定圖形的識別方法。
(2)在計算機輔助下,通過對大量歷史數(shù)據(jù)模擬交易,獲得該圖形的預測性能,將之與基準性能進行比較,驗證其是否在統(tǒng)計意義上顯著地優(yōu)于基準性能。
(3)計算超額收益。如該圖形能夠獲得超額收益,則證明該技術分析圖形有效;如不能獲得超額收益,也不能直接得出所有技術分析圖形均無效的結(jié)論,仍需驗證其他技術分析圖形的有效性。
該研究框架提供了定量研究技術分析的方法,使技術分析不再被認為是一種主觀的、經(jīng)驗性的方法,這推動了學界對技術分析的研究[4-8]。本文主要關注的問題是,在金融市場的價格時間序列中是否存在某些價格圖形對市場未來的收益率有預測能力。由于Brock方法必需預先選定研究的圖形對象,所以無法窮舉所有的圖形,在驗證技術分析有效性問題時存在限制。本文提出了一種基于數(shù)據(jù)挖掘的自頂向下的方法來驗證這一問題。為說明這一問題,首先形式化描述這一問題。市場價格表示為時間序列可定義m維向量:向量vt包含了時間t到t+m-1時間范圍內(nèi)的價格數(shù)據(jù)。投資者通過觀察一段時間內(nèi)的價格數(shù)據(jù),識別價格走勢圖形,并據(jù)此對未來的收益率做出預測。具體說,技術分析投資者可以通過識別向量vt對應的圖形,來推斷下一時間市場的走勢,即預測t+m時刻的資產(chǎn)收益率rt+m。根據(jù)有效市場理論的推斷,向量vt中價格信息對隨后的收益率rt+m沒有預測能力,或者說,基于向量vt的收益率rt+m的條件分布,和收益率rt+m的無條件分布是一致的。投資者的判斷過程可以形式化表示如下:f(vt)=rt+m,加入市場噪聲后可以表示為為t+m時刻的市場噪聲,服從期望為零的正態(tài)分布?;趫D形的投資決策其實就是投資者試圖找到函數(shù)f(vt)的形式。從數(shù)據(jù)挖掘的角度,歷史數(shù)據(jù)中的所有(vt,rt+m)可作為訓練樣本集,rt+m為向量vt的條件收益率,也稱向量vt的演化值。如果確如有效市場理論所推斷的那樣,市場價格已經(jīng)反映了所有的歷史信息,價格服從馬爾科夫過程,的條件分布應是期望為0的正態(tài)分布,①為簡單起見,此處假設市場漂移率為0。對日度對數(shù)收益率而言,這個假設也是接近實際情況的。相對于收益率的波動,日收益率期望值非常小。。如果市場并非完全有效,技術分析方法能夠預測市場未來走勢,則意味著存在某種具有預測能力的圖形,vt中攜帶了對rt+m有預測能力的信息,rt+m的條件分布可能顯著區(qū)別于期望為零的正態(tài)分布。下面介紹比較方法。
本文的研究基于如下假設:一組圖形如果其拓撲形狀足夠相似,他們對應的價格向量之間的距離足夠小,則可以認為它們屬于同一種類型圖形。這樣,在預測條件收益率rt+m這個問題上,它們攜帶了同樣的信息。更進一步,某個圖形對應的價格向量為v*,其對應的條件收益率r*的分布可以用訓練集中與向量v*距離最近的K個向量{v1,v2,...,vK} 對應條件收益率 {r1,r2,...,rK} 來估計,可以通過檢驗{r1,r2,...,rK}是否服從市場收益率的無條件分布來判斷該圖形是否具有預測能力。如果該圖形確實對市場價格運動方向有預測能力,那么圖形對應的條件收益率的概率分布將顯著地不同于無條件收益率的概率分布。如果條件收益率分布的期望值顯著為正(負),那么投資者可以將該圖形作為一個有效的買入(賣出)信號。如果在股票價格時間序列中出現(xiàn)了該圖形,股票未來價格將傾向于上漲(下跌)。
近年來隨著數(shù)據(jù)挖掘和人工智能等學科的發(fā)展,如神經(jīng)網(wǎng)絡等新的工具被跨界應用到了金融領域[9,10]。技術分析作為一個基于歷史價格信息的經(jīng)驗方法,與人工智能和數(shù)據(jù)挖掘等通過訓練樣本實現(xiàn)分類和預測的思想有諸多共通之處。將技術分析與這些先進的數(shù)學工具相結(jié)合,使技術分析成為一種定量的研究方法,這吸引了相關學者的廣泛關注[11,12]。本文采用K近鄰法(K nearest neighbor method)估計指定圖形的條件收益率分布,對收益率做出預測。為適應本文所研究問題的需要,將對K近鄰預測方法做必要調(diào)整。經(jīng)典的K近鄰預測方法可以通過以下幾個步驟完成。
第一步:給定時間序列{pt},t=1,2,...T,構建矩陣:
χT-m+1,m被稱為投影矩陣,其每一行都是一個m維向量,m被稱為嵌入維度。
第二步:將向量vi及其的演化值pi+m對應起來,構造演化矩陣:
第三步:找到未知的待預測值pT+1對應向量v*=vT-m+1在投影矩陣中距離它最近的K個向量vNN1,vNN2,...vNNK,稱這些向量為向量v*的K近鄰。pT+1的值可以通過K近鄰對應的演化值pNN1,pNN2,...,pNNK計算得出。本文采用了等權重加權演化值來計算預測值。如果直接使用經(jīng)典的K近鄰方法檢驗價格序列技術分析圖形的預測能力,仍存在以下問題:
(1)樣本不足。基于單個股票的時間序列并不能為技術分析圖形提供足夠多的訓練樣本。單個股票即使能提供數(shù)十年的歷史日度數(shù)據(jù),樣本量仍顯不足,仍存在這種可能,某圖形在該股票歷史價格數(shù)據(jù)中從未出現(xiàn)或極少出現(xiàn)。如果歷史數(shù)據(jù)中不存在相應的訓練樣本,K近鄰法無法表現(xiàn)出其應有的預測能力。
(2)信噪比。在日度或更高頻的數(shù)據(jù)中,噪聲大量存在于收益率和價格序列中,信噪比低,使得確定向量v所對應的真實技術分析圖形的難度增大,需要采取方法降噪。
(3)特征提取。技術分析理論認為,相同或高度相似的圖形對未來市場走勢有相同的預測(條件收益率分布相同)。這里提到的相似是指拓撲相似,而并不是價格向量的歐幾里德距離意義上的相似,需要對向量v做適當?shù)念A處理,使其圖形拓撲特征更加明顯,易于提取。
(4)過度擬合。絕大多數(shù)情況下,股票市場是有效的,歷史價格對未來市場運動方向并無預測能力,向量v只是市場隨機游走產(chǎn)生的軌跡而已。但經(jīng)典K近鄰法總能找到K個近鄰向量并會據(jù)此做出預測,每時每刻都會為投資者產(chǎn)生買入或者賣出信號,而并不核實向量v是否真的有預測能力。這種對向量v不加區(qū)分的做法會降低K近鄰法整體的預測性能,并在實踐中非常顯著地增加了投資者的交易次數(shù)和成本。
為了解決樣本不足問題,需要增加訓練樣本。本文采取的方法是,在計算某只股票的價格向量v時,將所有股票的歷史數(shù)據(jù)作為訓練樣本,而不是僅在這只股票自身的歷史數(shù)據(jù)中尋找近鄰向量。為方便起見,本文的實證部分將確定一個時間點,將該時間點之前和之后的所有股票樣本分別作為訓練樣本和測試樣本。這樣,即便需要考慮金融市場的時變性,僅使用最近二十年的日度數(shù)據(jù),仍然可以將訓練樣本的數(shù)量增加到百萬級別。K近鄰法將在這數(shù)百萬樣本中尋找圖形最相似的K個向量,與基于個股時間序列的方法相比,如此處理可以大大增加K近鄰法找到向量v同類圖形的機會。
由于收益率序列信噪比低,噪聲與信號難以有效分離。并且,技術分析圖形的相似,是指圖形的拓撲相似,這并不完全等同于圖形對應的向量之間的歐幾里德距離小。為了解決信噪比和特征提取問題,需要對價格向量v=(p1,p2,...,pm)做預處理和降維。本文分別對向量 v在時間序列和價格這兩個維度上做預處理,將v映射到一個10×10 的網(wǎng)格中,表示成w=(n1,n2,...,n10)的形式,w為一個維度為10的整型向量,ni是整數(shù),取值范圍是[0,9]。10×10網(wǎng)格的橫坐標為時間坐標,縱坐標為價格坐標。下面介紹預處理的具體步驟。
考慮到操作方便,本文對價格向量v的特征維度m做一定限制,其取值均采用10的整數(shù)倍。向量v中價格數(shù)據(jù)是時間序列數(shù)據(jù),預處理將在時間序列上把v分成寬度相等的10個連續(xù)的分塊。如果m=10,則無需處理;如果m>10,則在時間序列上均分成10個無重疊的分塊,每塊包含m/10個價格數(shù)據(jù)。然后求出塊i內(nèi)價格的平均值,得到一個由平均值組成的維度為 10 的新的向量,其中是向量v中時間上最早10%的價格數(shù)據(jù)的平均值。
其中,w是一個維度為10的整型向量,相當于單位化的向量u;INT[x]表示對x取整。w可以理解為是一個10×10的網(wǎng)格,網(wǎng)格橫軸為時間軸,縱軸為價格軸,縱軸最高點對應B集合中最大值9,最低點對應的B集合最小值0。A 集合中元素對應 B 集合元素ni的值為 10×(-pmin)/(pmax-pmin)的整數(shù)部分,或者說,ni是單位化之后網(wǎng)格的高度值。
在預處理中,對塊內(nèi)價格求平均值,起到了降低噪聲的效果;向量w的10×10網(wǎng)格形式,不再受價格基數(shù)和波動率差異的影響,可以更好地提取向量圖形的拓撲特征,一定程度上減輕了信噪比和特征提取問題的負面影響;預處理后,向量w的維度與向量v相比大大降低,整個圖形空間內(nèi)可能的圖形個數(shù)大大降低,為每種圖形找到拓撲類似或相同的近鄰的概率也大大增加,提升了K近鄰法的性能。
為解決上文提到的過度擬合,需要對有無預測能力的兩種價格向量加以區(qū)別。采用經(jīng)典的K近鄰法時,不論當前的價格向量是否具有預測能力,K近鄰法總會找到距離當前向量最近的K個向量并做出漲跌預測。可能這K個向量對應的圖形不過是隨機游走的軌跡,當樣本足夠多,幾乎能充滿整個圖形空間時,總是能找到圖形上足夠接近的向量,可以推斷此時K近鄰的預測和扔骰子并無差別。
為解決上述問題,本文引入如下檢驗。某圖形的價格向量為v,訓練集中與向量v距離最近的K個向量為{v1,v2,...,vK},這些向量對應條件收益率為{r1,r2,...,rK},向量v的條件收益率r的分布可以用有限樣本集合{r1,r2,...,rK}來估計。如果向量v有預測能力,其條件收益率r的分布則會顯著不同于市場收益率的無條件分布。考慮到投資者更關心的問題是該向量是否能作為上漲或者下跌的信號。本文采用下面的單樣本t檢驗的方式來驗證零假設“向量v沒有預測能力”:
其中是{r1,r2,...,rK}的平均值,rm是無條件收益率的期望值。σr為條件收益率集合{r1,r2,...,rK}的樣本標準差,K為近鄰的個數(shù)。t值偏離零的程度可用來衡量向量v對未來收益率預測能力的強弱。如果t值是一個比較大的正數(shù)(負數(shù)),則意味著向量v對應的條件收益率r的期望將顯著高(低)于市場收益率。反之,如果t值接近零,則無法在可靠的置信度下否定原假設,向量v中所包含的價格時間序列可能只是隨機游走的軌跡,并無預測能力。
為驗證上述問題,本文選取了道瓊斯指數(shù)和納斯達克指數(shù)成分股的日度數(shù)據(jù)進行測試,價格采用日收盤價,收益率為對數(shù)收益率,數(shù)據(jù)來自雅虎金融。因為K近鄰法要求價格數(shù)據(jù)在時間序列上是連續(xù)的,所以只選取了這期間能提供不間斷收盤價的所有108只成分股作為研究對象,共計528800個價格樣本。表1為樣本數(shù)據(jù)的描述性統(tǒng)計表。受限于數(shù)據(jù)可得性,本文將時間范圍限制在1994年1月2日到2014年12月31日之間,樣本被分為兩個部分,1994年1月2日至2002年12月31日,約占總樣本個數(shù)40%的數(shù)據(jù)作為訓練集;其余數(shù)據(jù),約占總樣本個數(shù)60%的數(shù)據(jù)作為測試集。由表1波動率統(tǒng)計值可以看出,不同股票的波動率差別較大,波動最強烈的股票其收益率標準差是波動最小的股票的4倍,因此,為了讓所有股票的圖形可以放在一起比較,對價格圖形做預處理使其波動單位化,這是十分必要的。
表1 樣本數(shù)據(jù)的描述性統(tǒng)計表
樣本經(jīng)過預處理后,股票價格圖形被格式化成了10×10網(wǎng)格形式,不同股票的圖形可以直接通過向量距離來衡量圖形的相似程度,且所有樣本可以集中使用,不必擔心不同股票價格的基數(shù)差別和波動聚類的影響。實證中,每個圖形均可以采用全體訓練樣本進行訓練,在全樣本中尋找K個近鄰,所以近鄰間平均距離遠遠小于傳統(tǒng)的基于時間序列的K近鄰方法中近鄰間距離。更小的平均距離,意味著圖形更加類似,分類更準確。這里采用訓練樣本總數(shù)約20萬個,如果采用經(jīng)典的基于時間序列的K近鄰法,即使能提供40年市場日收盤價價格信息的股票也只能提供約8000個數(shù)據(jù),其訓練效果更差。在求出訓練集中每個價格向量的K個近鄰之后,計算該向量對市場價格的預測值,同時根據(jù)上文的方法,計算該圖形對應的條件收益率的分布以及公式(6)得到的t值,根據(jù)t值可用來判斷該圖形是否有預測能力。
完成上述步驟后,訓練集部分的計算完成,進入對測試集的驗證。將測試集中每一個向量預處理后,與訓練集中的向量進行比較。這里認為,測試集中的待測向量v0和訓練集中與v0距離最近的向量是同一種圖形,v0和的條件收益率服從同一分布,的演化值就是v0條件收益率的預測值。如果的t值小,顯示向量的條件收益率并不顯著區(qū)別于市場無條件收益率的分布,向量很可能并無預測能力,其對v0的預測也是不可靠的;反之,則認為向量有預測能力。
為驗證市場中是否存在某些圖形對市場價格有預測能力,將上文提到的訓練集中的圖形根據(jù)t值絕對值的大小,按照其分位數(shù)分成十組q1,q2,...,q10。其中q1分組中的圖形對應的t值絕對值最小,其預測能力最不顯著;q10分組中的圖形對應的t值絕對值最大,其預測能力最強。如果市場確如有效市場理論所預測的那樣,價格序列服從隨機游走,那么q10組中的圖形并非真的有預測能力,其t值較大也只是有限樣本下的統(tǒng)計偏誤造成的,在采用測試集進行樣本外預測時,10個分組的預測能力沒有顯著差別。反之,如果確實存在著少數(shù)的、市場不完全有效的情況,存在著某些圖形對市場有預測能力,那么q10中圖形的樣本外預測能力應該顯著高于其他分組。本文研究的問題將通過上述驗證得出結(jié)論。
根據(jù)t值分位數(shù)大小構建的10個分組,表2中列出了這些分組的樣本外預測的準確率。K近鄰法中近鄰個數(shù)K=100。為了驗證不同時間標度下圖形預測的有效性,提供了多個投資時間的結(jié)果,m=20,40。m取20時,圖形將在連續(xù)二十個交易日(一個月)的價格數(shù)據(jù)中提??;m取40時,圖形將在連續(xù)40個交易日,即2個月的時間標度下提取。表2數(shù)據(jù)部分包含10列,對應根據(jù)圖形預測能力,即t值絕對值的分位數(shù)分成的10個分組。其中q1分組包含的圖形的預測能力最差,其對應的t值絕對值最小;q10中包含的圖形預測能力最強,t值的絕對值最大。預測準確率根據(jù)選定的嵌入維度m的不同,分成了兩組,每一組對應了不同的時間標度。對具有不同投資期限的投資者而言,這代表了圖形在不同時間標度下的有效程度。表2準確率數(shù)據(jù)包含了固定嵌入維度下某分組中圖形預測的準確率、準確率的p值①零假設為市場有效,向量并無預測能力,每一次預測命中概率為50%,根據(jù)二項分布計算公式得出p值。及該分組中圖形的個數(shù),共計包含了20組準確率數(shù)據(jù)。根據(jù)其p值判斷,預測能力較低的q1至q6分組(兩個時間標度共12個分組),其中8個分組的準確率在76%的置信度(一個標準差)下不顯著,11個分組在99%的置信度下都不顯著(12組中僅m=40,q5例外),準確率的值也非常接近隨機游走對應的理論值0.5。在兩個時間標度下,準確率隨t值增加,都呈現(xiàn)出了上升的趨勢,大t值的后4個分組共8組,其準確率均在99%的置信度下顯著超過了50%,其中最大值為52.72%,在m=40的q9分組中獲得。
表2 分組的樣本外預測的準確率
由表2結(jié)果可以推斷,確實可以通過歷史價格的圖形來對未來市場走勢進行判斷,技術分析的圖形法不僅僅是一個經(jīng)驗方法,某些圖形帶有對未來市場走勢的預測信息,這個結(jié)論從統(tǒng)計學上說是顯著的。同時,大多數(shù)圖形僅僅是隨機游走的軌跡,并無預測能力,表2顯示,小t值的占總數(shù)大約60%的圖形(q1至q6分組)幾乎沒有任何預測能力;大t值圖形雖然預測能力的置信度很高,但預測能力不強。結(jié)果顯示測試期的市場不是弱式有效市場,未能達到“信息有效”。大t值的后四個分組(q7至q10分組)中的圖形均表現(xiàn)出了統(tǒng)計學意義上顯著的預測能力,說明歷史信息并未能完全的在當前價格中體現(xiàn),價格序列并非遵從隨機游走,技術分析對預測市場未來趨勢確實有一定效果。但考慮預測準確率的最大值僅為52.72%,個人投資者如果以此作為買入賣出的信號,其收益可能難以抵補其交易成本。如果從無套利原理的角度,市場仍然是有效的。這個結(jié)果也和大多數(shù)研究一致,市場更像是處于有效市場理論所描述的理想狀態(tài)和技術分析所描述的可預測狀態(tài)之間,一定程度上可以預測,但對大多數(shù)人而言,無法通過這種預測能力而獲得超額收益。
表2結(jié)果可見,本文方法不需要對圖形做任何假設,通過數(shù)據(jù)挖掘的方法,對整個圖形空間內(nèi)所有的可能有預測能力的圖形進行考察,挖掘出其中預測能力強的圖形,考察其預測能力。技術分析的支持者采用前沿數(shù)學方法來捕捉某些被認為有預測能力的圖形,并提供基于歷史數(shù)據(jù)的模擬交易的實證結(jié)果,以此證明技術分析圖形法的有效性;技術分析的反對者多是針對這些方法,采用更大規(guī)模的樣本,更為精細的計量工具剔除統(tǒng)計偏差,得出了很多技術分析圖形無效的結(jié)論。因為研究者很難確保實證數(shù)據(jù)和圖形識別的數(shù)學方法在各種實現(xiàn)細節(jié)上精確一致,當出現(xiàn)分歧時,并不容易斷定結(jié)論分歧究竟是哪個原因產(chǎn)生的。技術分析圖形多種多樣,更是大大增加了驗證分歧的難度。本文為對技術分析感興趣的研究者提供一個全景式的方法,本文結(jié)果在一定程度上覆蓋了各類基于圖形距離的研究結(jié)果。
最后,該結(jié)果對K近鄰及類似方法有一定啟示。一般的基于K近鄰的投資策略,雖然會在訓練期間對樣本數(shù)據(jù)進行編輯和過濾,但在基于測試集數(shù)據(jù)做樣本外預測時,每次都會生成買入或賣出信號,并不區(qū)分當前圖形是否有預測能力,這個做法不必要地增加了策略的交易成本。本文的結(jié)論顯示,首先判斷當前圖形是否有預測能力,如果圖形無預測能力,則投資者不做任何操作,既不買入也不賣出,這樣可以避免在預測得不到置信度支持的時候進行無謂的操作。
本文提出了一種基于數(shù)據(jù)挖掘的方法來驗證“技術分析圖形是否有預測能力”這個問題。該方法采用了K近鄰法,在整個圖形空間內(nèi)對所有圖形的預測能力進行考察,并根據(jù)拓撲相似度對圖形進行區(qū)分,用該圖形K近鄰對應的條件收益率來估計該圖形所對應的條件收益率的分布。樣本外預測的結(jié)果顯示,60%以上的圖形幾乎完全沒有預測能力;基于訓練樣本得到的相對預測能力最強的10%的圖形,其預測準確率達到了52.72%,且在99%的置信度下顯著。這說明,金融市場的價格圖形并非完全如有效市場理論所假設的那樣信息有效,價格圖形并非全部是隨機游走的軌跡,少數(shù)圖形確實有統(tǒng)計學意義上顯著的預測能力。