★★★★☆ (8000字, 20分)
有鑑於我的文章難易度有別,我嘗試加入評級。
我知道讀者知識分布範圍非常廣,有人認為我的內容都「太簡單」,但也有人幾乎「看不懂」,所以評級僅供參考。
最簡單的一星,應該是名詞介紹,例如股市名詞、債券名詞...通常我會加上新手的tag.
最硬核的五星,可能是公式推導和對模型的挑戰。從讀者反應來看,暫定為方差均值最優化、Black Litterman和Black Scholes.
另外評級僅為嘗試,不一定會持續放置。
好了,來吧。
「價格」和「時間」的關係,是個歷久不衰的課題。在這條路上,人類創造了「時間序列分析」,並嘗試運用在市場上。而為了方便解釋,我先從四個主題切入,各位可以自行選擇想讀的段落。當然,也歡迎你全部看完。
1. 技術分析
我一直宣稱技術分析高度無效,我也撰文批評過「信眾」。不過,我認為這個傳統流派,有些值得投資人學習的精神。
資訊處理領域,為了方便分析,人們會希望「降維」,也就是將某些特徵抽離或固定,減少總體資訊量。作為對照,很多技術分析的分支,都有抽出特徵的「影子」。例如KD的誕生,本身就是對電腦算力的妥協,經過多次降維。相似的,MACD的dif線,是提取快慢二線的差值特徵。K線更明顯,一根蠟燭表示了高低進出四個數值。因此,將複雜的資訊簡化,方便投資者分析,這個理念我十分認同。
另一方面,人們對於走勢規律的觀察,除了造就形態學的大行其道外,也提供各種「波浪理論」的成長空間。廣義而言,康波也算是對於市場走勢的判斷,屬於巨型波浪。艾略特大家都聽過,暫且不管第幾浪的判斷,它「浪中有浪」的隱含假設,就是在刻劃股市的價格特徵。另外像是八大法則,對稱的進出場依據,背後原理也是波浪走勢。投資人觀察到的市場波動,會隨著時間「尺度」而變化,因此,人類對於價格走勢和時間的研究是正確的方向。
有些人喜歡使用泛均線系統,例如MA、乖離或布林通道。探究發明者的精神,我們可以思考價格波動和「平均」的關聯。在股票市場,因為波動的分布和特徵,導致均線天生無法成為優秀的系統,而這也是我多次批評的依據。不過,脫離「傳統」技術分析的範疇,人們依然喜愛均線,並試圖建立更好的模型,以便貼近價格走勢。我喜歡這種精神,而事實上,移動平均就是我的切入點。
讀者可能好奇,既然有些技術分析的概念正確,為什麼我還要反對? 最簡單的原因,方向正確也不代表它是好方法。同樣要從南到北,有人乘坐高鐵,有人堅持中央山脈大縱走,兩個人的成本和勝率會一樣嗎? 常見技術分析的體系,推論過於鬆散,而且新手用戶傾向於全盤照抄,所以我才會宣稱這個派別「點錯科技樹」。不過,我還有好消息,如果各位認同技術分析的理念,也意識到某些環節的荒謬,那麼不妨進一步了解價格的時序分析領域。
2. 因子投資
我無意製造對立,不過為了方便說明,我主觀將因子陣營簡單分成兩大體系。
坊間最常見的體系是「傳統α解釋派」,就是大家容易理解的入門類文章內容。它們把因子視為β之外的收益來源,同時部分化用了殘差和異象。由於其中一個步驟是依照特徵將股票排序,所以有時候會被誤認為「選股」,不過我認為更貼切的說法應該是選因子。反映在資產配置理念上,這個派別通常會先將股債等資產分開,然後再調整股票部分對因子的曝露。
走這條路的各位,不妨反思「動量」因子,它是常見因子中明顯和「時間」有關的一支。雖然因子投資和被動投資非常靠近,但是動量因子天生叛逆,總是逼著投資人思考擇時問題。例如動量因子的建構和動量因子的動量,或是「動量崩潰」,明顯不是股市風格因子能解釋的現象。偏偏這個狂妄的因子,卻無法透過其它手段消除,而且還長期有效,讓學者非常尷尬。
另外一個體系是「量化因子分析派」,也就是我數次推薦的門派。雖然知識門檻較高,但因子在這個體系內可以完整發揮,同時結合既有武器,最大化幫助投資者。和解釋派不同,量化分析派將因子的理念應用到組合建構和優化模型上,不再只是投資者主觀的曝露。另外由於大量使用統計和數據處理的方法,因子分析框架可以同時容納「多項」投資策略。例如情緒擇時和動態波動風險控制、套利不對稱與Idiosyncratic volatility(特異波動性),或是PCA(主成分分析)和機器學習,以及資產供需的定價歸因和散戶對基金的偏好。
我完全不擔心這個門派對於時序分析的接受度,因為「迴歸分析」本來就是基本功。例如暢銷書《雙動量投資》,就是描述因子的時序迴歸和截面迴歸,成效斐然。而針對投資組合的研究方法,在量化因子分析的框架下,投資者除了使用時序和截面,也會用Fama MacBeth迴歸,同時檢驗收益因子和因子模型的有效性。因此,如果讀者稍微認識這個領域,大概已經對時序分析有基本理解了。
3. 被動指數投資
我再次強調,「指數投資」是我最鼓勵的投資方式,而且我身體力行。基於這個原因,我實際上對指數教派「信徒」一直保持友好。
我刻意避免攻擊指數教,不是因為我喜歡信仰,而是因為我覺得指數精神非常「優秀」。身為「邪教」狂派掌門人,我不樂見特定讀者為了自我質疑,結果陷入迷惘,最後選擇加入垃圾組織。我的一位長輩正值古稀之年,非常喜歡「玩」股票,她總是打電話問營業員哪支股票會漲,而且常常買不到幾張,結果經年累月分散買了許多公司。當她告訴我「雞蛋不要放在同一個籃子裡」時,我知道這比什麼指數投資理論都還安全。
不過,針對坊間被動指數投資的說法,有非常多值得我們深思的細節。
有一派作者(包括我),在寫普及類文章時,喜歡用「贏過一半」和「平均績效」來彰顯指數投資的好處。這種寫法避免了「市場有效性」和「隨機漫步理論」的爭議。因為無論市場如何變化,指數和平均的關係總是成立。乍看之下,被動投資指數、不選股擇時,可以不用考慮回報預期、資產特性、經濟變化和群眾心理,反正躺著也能贏一半。
那請問各位,為什麼我們「預期」指數上漲? 這剛好說明,投資者一定有預期,而且是正面預期。另外,有人搬出經濟成長來解釋指數,那我好奇,為什麼指數成長的速度,和GDP增速不同? 為什麼指數受到經濟影響,指數投資者卻不必理會經濟? 為什麼同樣和經濟高度相關的債券表現,通常沒有股票好?
請注意我的說法。無論市場有沒有效、價格波動是否隨機,指數投資都能得到市場平均報酬。但是,這個平均報酬是獲利還是虧損,以及投資人隨時參與大盤的意義,僅靠指數自身並無法解釋。這些問題的答案,超出「跟隨大盤」的解釋範疇,因此作者需要抉擇。
有一些人暫時不解釋,繼續說故事,推廣指數投資;也有一些人乾脆引入「現代金融理論」,利用嚴謹的學術研究成果,屠殺新手村。不過,還有一些「異教徒」,特別喜歡挑戰既有權威、摧毀信仰,不管對面是手無寸鐵的村民,還是正在屠村的象牙塔軍隊。這種混亂中立的求知是我嚮往的過程,而Taleb和Mandelbrot也是同類人。當22個標準差之外的事件出現時,我們可以反思金融領域常用的常態分布和隨機漫步立論,是否依然適用。如果人們想要認真探討市場波動,那時序分析也該進場了。
4. 選擇權交易
嚴格來說選擇權是工具,不是一種方式。不過我特別提到的原因,是選擇權比其它交易工具還注重風險和波動率,而交易兩者也成為選擇權市場的獨特行為。
運用有避險用途的衍生金融商品,選擇權交易者面對風險的態度非常謹慎。大家可以根據自身要求,指定想要承受的風險和忽略的部分。例如中性交易,就是將特定風險抵銷,只保留必要部位。可想而知,既然市場參與者注重風險的細節,那選擇權定價理論就需要有精準描述的能力。正是因為全世界都知道選擇權怎麼定價,所以只要模型有些微缺陷,就會影響交易平衡,而這是股票或債券市場無法想像的殘酷現實。
如果我們將波動視為風險,那選擇權出眾的部分,就是討論尾部分險和對應的價值(例如VaR)。Gaussian(常態)分布、Cauchy分布和其它Levy skew α穩定分布都很像,但是用來形容資產波動,其中的誤差會被急遽放大。無論是Mandelbrot從股價波動出發,探討到波動率規律,還是Taleb對於經典Black Scholes模型和Mertron的批評,都在提醒交易者需要保持質疑。
既然我們要仔細刻劃風險和波動,又需要依照真實市場改進既有模型,那麼時序分析順理成章的走上舞台。Bachelier定價模型,直接採用波動常數,而到了Black Scholes時代,波動率變成和「時間」相關的函數。Merton引入跳躍擴散,將擴散和跳躍都視為常態分布的波動行為,而後來的Heston模型,則利用「隨機波動率」貼近隱含波動率和行使價格的曲線。
除了波動,選擇權也和時間有關。因此,誰能更了解市場在特定時段的波動性質,誰的模型越真實,就越有機會獲利。巴菲特曾經利用選擇權的長期錯誤定價,做出對他非常有利的交易;LTCM公司雖然有諾貝爾經濟學獎的得主撐腰,但是因為遇到極端情況時處理不善,導致最終倒閉。我相信沒有交易者會想要輸給自己的「失誤」,所以對於波動率的時序分析,也可以為各位參考。
一般散戶投資者並不需要交易選擇權,但是時序分析的概念可以沿用。畢竟在市場上,多一分了解就多一分勝算。
5. 好,來談談時序分析本身。
由於時間序列分析的範圍非常廣泛,身為市場新手的我也不可能全部說完,因此我只會定性帶過一些概念和模型,包括市場波動特性、白噪音、ACF/PACF、AR、MA、ARMA、ARIMA、ARCH和GARCH家族。如果讀者想要進一步了解,可以自行參考相關書籍。
6. 市場波動特性
在利用時間序列分析之前,我們可以先討論市場的個性。
短期而言,價格漲跌就是隨機出現,就像GBM(幾何布朗運動)所描繪的;長期來說,價格似乎又有一種趨勢,而非真正無序波動。這個現象很弔詭,因為既然每個tick之間沒有關聯,為何累積起來的走勢卻有明顯方向?
另一方面,波動率本身還有「聚集」現象。一個波動後面往往也會跟著幅度差不多的波動,顯然不是「隨機」模型能解釋的。但是,這種聚集也沒有太長的持續性,因為時間拉長之後,波動率又會回歸到一個「平穩」區間。
有趣的是,波動率本身雖然和漲跌方向無關,可是資產價格下跌時的波動率往往更大,有人稱之「槓桿」效應。相對的,波動率從資產變化而來,但是偶而有跳躍現象的資產價格擴散,卻對應著連續平緩變化的波動率。
為了解釋這些實際現象,人們利用不同理論來描繪,而這就是時間序列分析的發展史。
7. 白噪音
隨機,就是不可預測。如果未來和過去毫無關係,那麼這種變化就沒有「記憶性」。反之,如果資產價格有記憶性,就不是完全隨機,而且投資者有機會預測。
既然價格波動同時帶有隨機和可預測性,那麼將兩者分開才能繼續研究。我們的目標是將隨機部分消滅,只保留有規律的部分,但是倒過來說,隨機性檢測也可以成為判斷模型品質的依據,因為一個好的模型應該要有明確篩選能力。
白噪音是完全隨機的資訊,任何時段的波動都和過去無關。換句話說,如果市場波動符合白噪音,那麼同時也代表隨機漫步成立;相對的,如果透過白噪音檢測之後,發現有統計上不為零的數值,就象徵著波動具有部分規律。順帶一提,為了貼近股市波動,有些學者利用常態分布來描繪白噪音,這個精神和GBM很像。
事實上,股市波動無法符合白噪音檢測,所以大家開始建立模型,嘗試抓出波動的模式。
8. Lag, ACF & PACF
人們在處理統計資料時,會將時間切割成「基本單位」,例如每月成交量或每天的氣溫。不過為了後續分析,在抽樣觀察的時候,通常會採用更長的時段。例如同樣使用每月成交量,如果在每年最後一個月都統計觀察,間隔就是12個月(K =12);每季統計一次,間隔就是3期;當然如果每個月都統計一次,lag就是1。
自相關(Autocorrelation function, ACF)很好理解,用來描述資訊和自身的相關性,簡單來說就是找出變化的重複規律。現在,我們使用K=1, 2, 3...並統計這些lag之下的自相關性。如果一組資訊完全隨機,那麼就不存在有意義的ACF,所以不管K取多少,ACF都應該接近0。但是,如果一組資訊有某種規律,就會在特定的K之下,被抓出來。舉個例子,氣溫變化通常是夏天熱冬天冷,而這個規律間隔是12個月。也就是說,我們會發現K在12附近的時候,ACF升高到超出隨機範疇的水準。
偏自相關(Partial Autocorrelation function, PACF)和ACF很像,但是它要求更精確的K。舉個例子,如果我觀察女性人類情緒波動的周期,並發現K=28天時最明顯,而K在27和29的時候也有不弱的自相關性,這時PACF會要求只能挑一個lag來解釋,所以我會選取28,而放棄掉27和29。換句話說,如果規律只有一個周期,那利用PACF我們可以抓出「唯一解釋」的K。
9. AR (自我迴歸)
Autoregression的核心思想很直接。如果報酬率會隨著時間變化,而且又受歷史波動影響,那麼模型就可以把之前一段時間的資訊全部加起來。由於這種迴歸依據自己的歷史,所以也叫做自迴歸。
如果我假設這期的結果,只和上一期有關,和更早之前的資訊都無關,那麼這就是一階自迴歸,也就是AR(1),如果假設當期只和前兩期有關,就叫AR(2)。同理,如果設定這一期和前p期有關,就稱為p階自迴歸,AR(p)。
對於一個AR模型,將迴歸係數依序寫成特徵方程,然後求解。如果這些特徵方程的根都小於1,我們就可以說它具有「平穩性」。注意有些學者會將特徵方程根的倒數叫做特徵根,單純的定義差異而已。用白話文來說,在AR的任何一個係數都不能太大,否則會造成迴歸不平穩。
另外,我們可以意識到,當K持續增加時,AR的部分資訊會重複被記入,只是影響力會逐漸「衰減」。因此,AR的ACF圖可能呈現簡單衰減或震盪衰減,這個情形也叫做拖尾。至於AR的PACF,會在過了p階之後突然斷掉,也叫做截尾(truncated).
順帶一提,技術分析的EMA,也就是指數移動平均。雖然考慮到成交量之後,用EMA來預估平均成本顯得不切實際,但是純價分析領域,使用「指數衰減」是常見的作法。
10. MA (移動平均)
AR是對於回報的迴歸模型,而MA則是捕捉白噪音的模型。這裡的MA,是指白噪音的移動平均,和技術分析中的價格MA概念很像。原理很簡單,在MA體系內,一個新的爆炸性波動會扯動白噪音均線走勢,因此MA具有檢查新價格波動的功能。我們常聽到的價格5MA/10MA,對應白噪音MA體系就是MA(5)和MA(10),而q階MA也就是MA(q)。
基於平均公式的結構,MA一定具有平穩性。而且因為MA的模型把取樣之外的白噪音直接定義成0,所以顯然MA的ACF會在q階之後直接呈現斷尾,也就是K一旦超過q,所有數值都變成0。至於PACF正好相反,會逐漸衰退,也就是拖尾。
現在,我們可以思考AR和MA的特性。MA一定平穩,而AR需要特徵根小於1(或是大於1,端看定義)。MA(q)可以往後預測q步,AR(p)可以往後預測p步,而且這種延伸預測的值會趨近於平均,誤差則接近所用序列的變異數。
兩個模型的觀察重點不同,但是許多性質又相似,那我何不將兩者結合? 各位可以先猜猜看,合體模型的名字叫什麼?
11. ARMA
AR(p)結合MA(q),可以寫成ARMA(p,q). 自迴歸結合移動平均,會變成自迴歸移動平均,而這個模型可以同時捕捉回報的相關性和新增白噪音的影響。
實際上,如果一組數據的ACF截尾,我們可以用MA;如果PACF截尾,就用AR;但是如果ACF和PACF都拖尾,我們就可以使用ARMA。使用ARMA,我們只是將兩個模型組合起來,就能利用互補性,大幅提升對於規律的捕捉能力。
只不過,有強大的解釋能力,不見得是好事。攝影的時候,我們不喜歡太高的ISO(感光度),否則可能會讓照片出現噪點,反而讓畫質變差。模型發展到這個階段,人們可以輕易的將任何巧合都解釋成規律,結果讓模型overfit(過擬合),但如此就違背了尋找市場特徵的初衷。
換另一種方式說明,如果我們刻意挑很大的p和q,那麼模型就可以識別出很多規律和巧合,結果會讓所有資訊混在一起。就像因子投資,大家希望多因子模型不要太「複雜」,不然就只是故意湊出答案而已。
12. AIC & BIC
あかいけ先生 (Akaike, 赤池)創立了AIC (Akaike information criterion, 赤池資訊量準則),用於評估模型的複雜度和貼合真實數據的能力。AIC=2K−2ln(L),K是參數的數量,而L代表概似函數,AIC越小越好。因此,人們可以找到盡量小的K和最大概似L,也就是用最少的參數做出最可能成立的假設模型。
除了AIC外,還有一個BIC (Bayesian information criterion, 貝頁斯資訊量準則),有相似的概念。BIC=ln(n)K–2ln(L), 其中n代表樣本數。我們可以看到,BIC一樣有針對K的要求(懲罰項),而且更嚴格。至於為什麼要引入樣本量呢? 因為如果訓練的樣本很豐富,那麼模型的精確度可能會太高,違反模型精簡的精神。
無論是AIC或是BIC,都要求模型言簡意賅,不過側重的細節稍微不同。總之,AIC和BIC越小,應對的模型越不容易過擬合。當我們找出最小AIC或BIC時,就可以確立模型的階數,例如ARMA的p和q.
13. ARIMA
ARMA還有個大哥叫ARIMA,也就是自迴歸「差分」移動平均 (Autoregressive Integrated Moving Average),多了一個差分。
什麼是差分呢? 最簡單的例子就是將前後數據相減,得到新的數據,然後不斷重複,直到常數出現。技術分析中的MACD也有類似概念,先透過相減得出diff,然後再用diff減去其它數值,得出柱狀圖。(此處僅為簡單類比。)
運用差分之後,模型可以把本來的數據「平穩化」,而這個差分的階數就是d,因此模型可以寫成ARIMA(p, d, q). 順帶一提,如果面對的數據有季節性(seasonal),ARIMA還可以擴展成SARIMA.
14. ARCH
人們接受各種模型和進展,看似接近了市場波動,但是還有很長的路要走。畢竟,模型再怎麼有道理,還是必須符合實際狀況。聽到這裡,讀者應該知道,我又要找「幫手」挑戰既有觀念了。
回頭檢視人們對波動率特徵的觀察,這就是模型的階段目標。在傳統的時序分析中,大家把波動直接假設為固定的變異數,也就是要求二階平穩性,但是這違反實際的市場行為。別忘了,波動率也有自己的個性。
以前將數據迴歸的時候,人們通常假設誤差的變異數固定,所以我們在高中會用到最小平方法(也就是OLS)。但是當誤差的變異數本身也會變化時,大家算出來的答案實際上是標準誤(standard error),而這個概念在因子分析中也很常見。為了更合理的透過時序分析研究波動,學者開始使用異質變異數 (Heteroscedasticity)
另外,因為大家假設歷史波動會影響未來的表現,因此採用「條件」異質變異數(Conditional Heteroskedasticity, CH). 而順帶一提,英文中的c和k都有人用,不影響語意。2003年諾貝爾經濟學獎頒給Engle等人,就是因為ARCH模型。你猜對了,AR和CH結合,會變成ARCH,也就是自迴歸條件異質變異數模型。
狂徒,ARMA又是怎麼演變成ARCH的呢? 事實上,如果按照ARMA家族的思路,那麼在ACF和PACF都發現無法截尾的時候,就應該順理成章的使用ARMA。只是,當學者觀察殘差的平方時,發現很明顯的波動率聚集(clustering)現象,也就超出單純對報酬建模的ARMA系列。事情演變至此,有點Markowitz抓平均值和方差最優化投資組合的味道,因為ARCH就同時考慮回報平均和波動率。
15. GARCH
ARCH可以處理回報和波動率變異數,但是所需參數比較複雜,也就是比較高的階數。因此Bollerslev開發出更普遍的形式,稱為Generalized的ARCH (GARCH),中文是廣義自迴歸條件異質變異數。其中GARCH(m,s)表示考慮m階的超額收益以及s階的條件變異數。
考慮時間,又考慮波動,各位讀者朋友是否想起了什麼? 是,選擇權的那些交易者,發現GARCH可以和定價模型一起服用。另一方面,時序分析學者也開始嘗試使用更貼近實際回報分布的模型,例如捨棄常態分布而使用Student分布來處理尖峰肥尾。當然GARCH本身也有一定的解釋力,像光是GARCH(1, 1)就能以簡單的條件設計出厚尾的模型。
這個年代的市場參與者,手中有許多高科技武器,例如Black Scholes定價、ARMA和GARCH,同時又能借助電腦的運算能力。理論上,他們應該可以清楚市場規律,但實際上,這條路上還有許多障礙。
16. GARCH的後代
模型不是越新越好,一路追蹤模型發展可以讓大家獲得新知,但不代表就能應用到現有工具上,更別提在市場上賺錢。不過,基於大家對市場的了解,還有一些現象需要處理。例如槓桿效應,造成價格上漲和下跌的波動率不同,而這超出GARCH的守備範圍,因此新模型開始嶄露頭角。
TGARCH,T代表「臨界」(threshold),也就是對於正值和負值的區分,白話文為上漲和下跌。另外如果考慮作者名稱,它也叫GJR-GARCH.(嚴格來說兩者公式有非常些微的不同,但定義相同。) 另外,EGARCH,E代表「指數」(exponential),這個背景概念相似於Black Scholes與 Bachelier對於正負和對數的採用。
至於其它分支發展,就如同所有常見模型一樣,總會推陳出新,像是IGARCH或AGARCH等,不過都還算是錦上添花。如果妳有興趣,我相信相關文獻不難找到。
17. 讀完整篇文章,我能做什麼?
我一直嘗試將不同研究方向的精華結合,並呈現在文中。我想,如果你沒有看到一半就放棄,那就代表認同這些模型的概念。誠然有些學家會喜歡發展純理論,但是至少在時序分析上,大家都在盡量貼切的描述事實,而不是紙上談兵。(紙上談兵的是我。)
另外,我也在宣傳「模組化」的投資知識架構。一個熟知ARMA的人,要了解ARIMA並不難,因為她不需要從頭開始學,只要修改差異的部分即可。要達到這個目的,就需要了解模型背後的「原理」,才能知道怎麼將概念拆裝和應用到既有體系。事實上,了解原理雖然花費時間,但是我們只需看懂第一次,就可以收藏無數專家努力研究留下的經典工具。
對於資產配置而言,時序分析的著力點較少,不過我分享一個有趣的方向。在配置風險時,有些人會使用Risk Parity模型,而下一步就是考慮資產和整體組合的槓桿。對於想要擇時的投資者而言,就可以借助時序分析,從波動率反推最佳槓桿比例,並動態調整資產的配置比例。
最後,如果各位聽到旁人說她能預測股市波動,不妨問問看,她到底用了什麼方法吧。
註: 非相關領域,我很有可能寫錯,所以歡迎大家踢館糾正,感謝。