接下來兩篇我們談談投資標的中散戶們最看重的一項─價格!老實說,除非公司是自家經營的或是身列大股東之一,否則我們並不真的那麼看重其價值(請捫心自問)。我們或許會視價值為投資的下檔保護,但交易是否獲利仍取決於買賣的價格。
價格走勢取決於市場
資金和
心理,而影響這兩項的因素則是
前文提過的四大面向:
基本面、技術面、籌碼面、消息面。這裡要談的不是這些,而是價格走勢自身的一些特性,是經濟學家與統計學家所在專研的事情,因此本篇有滿滿的數學與專有名詞。老話一句:無誠勿試!
交易活絡(流動性充裕)的金融市場標的例如股票、商品期貨,甚至加密貨幣等或多或少具有以下特性:
- 資料特性─時間序列(Time Series)。
- 變動的規則─波動叢聚(Volatility Clustering)。
- 分佈的規則─非常態分佈(Non-normal Distribution)。
在探討時為求簡化,我們僅考慮股票與股價指數,而以股價泛稱之;另外在進行分析時我們用的是股價的報酬率,原因在後面會提到。
時間序列
顧名思義,也因此這應該是上述特性裡最容易被理解接受的,然而它背後所代表的意涵多數人可就不知道了。
首先,由於數據序列是有順序的,因此即便是相同的元素組成,不同的排列順序背後可能就包含著截然不同的因果關係。例如當你穿梭在商店街中,在接下來的三個時間點中你依序前往店家A、B、C與C、A、B即是兩個不同的時間序列,而選擇這兩種移動方式其背後的驅動因素理應是不同的,可能是各店家當前的擁擠程度或有無促銷活動所造就的,但也可能只是一時興起(隨機性)而不帶有特定因素。
關於時間序列的變動模式,我們可以透過序列相關性或自相關性(Autocorrelation)來做探討,不同時間點之間的變動模式是否相關可透過自相關性函數(Autocorrelation Function; ACF)判斷。如果存在一個時間序列[0, 1, 0, 1, 0, 1, ...],很明顯地時間差為2的情況下變動模式完全相同(ACF(t = 2) = 1),時間差為1的情況下變動模式完全相反(ACF(t = 1) = -1)。只是真實世界中這樣單純的時間序列非常少見,因此才需要以ACF取代我們的主觀見解。
ACF作圖的橫軸為時間落後期數(Time Lag, 即上述的變數t),縱軸則表示自相關性的強弱。任何時間序列在Time Lag為0時ACF必為1,但在之後則不然:
- 對於顯著無自相關性的時間序列,Time Lag在1以上其ACF均接近0,例如弱式效率市場假說(Weak Form of Efficient Market Hypothesis)之報酬率即不存在自相關性,該標的之報酬率可能是純隨機的白雜訊(White Noise)時間序列。
- 弱自相關性者則是會隨著Time Lag增加而自相關性快速單調衰減(均為正值)或震盪衰減(正負值ACF數值群交替出現),可能出現在動能趨勢明顯的投資標的報酬率上。
- 具有週期性的時間序列則會在特定的Time Lag下出現很強的自相關性(可為正或負值),例如在分析原物料期貨的月報酬率自相關性時即可能看到這個現象。
為什麼上述討論的並非價格本身而是報酬率呢?原因在於報酬率時間序列多半是弱定態(Weak Stationary)的,而這個特性非常重要,例如對於弱定態的非隨機序列我們才有可能對其做預測,多數的時間序列分析手法才用得上。
在這邊也先提一點(和下一篇的內容有關),也就是價格的報酬率我們可以視為是一種技術指標,而以機器學習的觀點視之技術指標即一種特徵轉換(Feature Transform)的手法,目標為提供一個容易萃取有用資訊的資料形式以利將學習與績效表現最佳化。
波動叢聚
波動叢聚這個現象相當有趣,在金融市場中它有幾種可能的解釋方式,例如當某個金融商品的價格出現極端漲幅或跌幅時它會吸引投資大眾目光、觸發大量交易訊號,然後隨之而來的是大量的成交量,這樣的活絡狀態會再刺激更多資金簇擁,而新聞媒體的報導更加推波助瀾,另外就是跨金融商品的連動以及反饋會使這樣的市場量能不斷地震盪。然而市場具有摩擦成本,且投資人亢奮的心理也會消耗殆盡,久而久之市場動能也將會逐步放緩,使金融商品的價格波動逐步收斂。
波動叢聚的過程也可以說是兩種派別的對抗,即趨勢交易與均值回歸,當一方力竭時另一方即會勝出,而力竭的條件在於當市場上多數人採取同樣的動作之後便會有人執行相反動作去壓制獲利空間。另外,外力影響至關重要,可以觸發波動度的飆升也可以是壓制的力量。例如去年初疫情爆發以來美股即出現恐慌殺盤,而後續川普政府迅速的經濟刺激措施則快速地壓制了金融市場的恐慌,並加速波動度的衰減。
VIX指數(如下圖)是個度量市場(例如標普500指數)波動程度的一個好用指標,它依據的是選擇權市場的報價資訊,並用以評斷未來股市的波動程度。這個概念與分析歷史報價資訊以取得標準差(波動率)數值是不同的。
回到波動叢聚的探討。我們可以透過股價報酬率來辨明波動叢聚現象是否存在,步驟如下:
- 建立報酬率、報酬率絕對值、報酬率平方值的時間序列。
- 各別計算這三個時間序列的自相關性函數(ACF)。
- 以統計檢定確認是否具有自相關性,若波動叢聚存在,則報酬率絕對值或報酬率平方值的ACF會呈現顯著的正值單調衰減。然而,報酬率自身則可能因為弱式效率市場假說而不具有自相關性。
以下分別是台灣上市指數、美國標普500指數,以及美國那斯達克指數2000年1月至2020年12月止每月報酬率數據的波動叢聚分析結果,可以看出標普500指數之波動叢聚特性最不明顯,故可以說其報酬率表現上是較為穩健的。
由於波動叢聚並不是新名詞(至少早已廣為學術界所知),因此存在不少將其用於交易的投資人。我們可以預期的是,這樣的現象在愈成熟的交易市場和愈被廣泛參與的投資標的中將會愈不明顯,代表的是這樣的商品價格波動將失去長期記憶效應(Long Memory Effect),也因此失去透過這特性獲利的機會了。
非常態分布
關於股價的走勢,隨機漫步(Random Walk)是最廣為人知的,且多數人也認為股價走勢可以用常態分佈來描述。然而,市場是容易受到事件影響心理而造就非理性行為的,例如極度的樂觀或恐慌,也因此實際上並非如此。對於黑天鵝事件的影響,最常聽到的名詞是尾部風險(Tail Risk),而這樣的說法源自於厚尾現象(Heavy Tail)或是極值分布(Extreme Value Distribution),這些概念都指向極端值的分布將大於常態分佈的預期,因此基於常態分布假設的風險控管模式將會低估實際風險。
要描述股價走勢分佈,除了厚尾之外,另一個特點可能就是「正峰度」了。當峰度(Kurtosis)為正,則接近平均值的機率分佈將小於常態分佈,而在極大與極小值的機率分佈會大於常態分布。
依個人推論,股價走勢可能不滿足
極值分佈的三種模式之一(Frechet, Gumbel, Weibull),但可能用
廣義常態分佈(Generalized Normal Distribution)搭配適當參數得到,以形成上述的正峰度。
以下分別是台灣上市指數、美國標普500指數,以及美國那斯達克指數2000年1月至2020年12月止每月報酬率數據的Q-Q作圖。當數據點均落在直線上時為完美的常態分佈表現,然而我們看到:
- 極端負報酬率在直線下方或右側(數據點斜率趨勢較陡),表示出現機率大於常態分布預期。
- 極端正報酬率在直線上方或左側(數據點斜率趨勢較陡),一樣表示出現機率大於常態分布預期。
- 接近平均值的負報酬率在直線左側且接近平均值的正報酬率在直線右側(數據點斜率趨勢較緩),表示相同出現機率所對應的報酬率範圍小於常態分佈,或是相同報酬率範圍下較常態分佈的機率為高。
上述內容相關的Python程式碼可參考本人的github頁面,有興趣者可自行參考研究。
最後,我們談談研究這麼學術的東西到底有什麼用處?
首先,這些工具提供了量化股價走勢差異的方式,也因此我們不必只依賴感覺來評斷股性。
其次,如果我們知道真實市場股價走勢的分析結果,反過來我們也將知道如何從一張股價走勢圖中判斷出它是否為歷史資料抑或是人為生成的。很多投資書籍(如《漫步華爾街》這本經典著作)都說用隨機漫步繪製股價走勢圖可以以假亂真,但這只是感覺評斷,而時間序列分析卻是將其客觀分析的手段!當知道如何辨別贋品之後,你便知道如何仿真了,至於這能有什麼用途就全憑個人發想囉!
總結
- 股價走勢為一種時間序列,或多或少具有波動叢聚特性,且多半為非常態分佈。
- 市場心理與上述特性有關,例如波動度與成交量具有相關性,它們互為因果;極端行情對參與者心理影響甚大,因此樂觀與恐慌下會出現極端報酬。
- 時間序列分析可用來量化所謂的股性,是客觀評斷方法。
文章縮圖來源:咖啡柚子
本文最新版本:2021.10.10
本文初版發布:2021.10.10