許健森,李城恩,施建華
(閩南師范大學數(shù)學與統(tǒng)計學院,福建漳州363000)
金融資產(chǎn)價格的波動率作為收益率變異程度的估計量,在金融資產(chǎn)配置、金融資產(chǎn)定價以及金融風險管理等問題上有著十分重要的作用,對波動率的研究一直是國內(nèi)外金融領域聚焦的問題.金融市場的波動率往往呈現(xiàn)復雜多樣的特性,大量文獻研究表明,波動率存在著時變性與聚集性的特點.現(xiàn)有的兩類能夠較好地刻畫這種特征的是Bollerslev[1]在Engle[2]提出的ARCH 模型基礎上,加入條件異方差構造的廣義自回歸條件異方差(GARCH)模型以及Taylor[3]采用隨機過程理論來刻畫方差時變性特征的隨機波動(SV)模型.由于隨機變量的引入,SV模型相比GARCH模型具有更高的靈活性以及對金融數(shù)據(jù)有更好的擬合效果,因此SV模型在實際中被廣泛應用.
在參數(shù)估計方面,由于SV 模型的似然函數(shù)是無解析解的多重積分,因此極大似然估計方法不再適用,模型的參數(shù)估計通常采用擬極大似然估計方法(QML)[4-5]、廣義矩估計方法(GMM)[6]和馬爾可夫鏈蒙特卡洛估計方法(MCMC)[7-13]等估計方法.其中GMM 方法在持續(xù)性參數(shù)接近于1 時,收斂于無條件矩的速度十分緩慢,而QML 方法在方差系數(shù)較小時,其有效性迅速降低.目前主流的方法是使用基于貝葉斯估計方法的MCMC 算法,該算法將給定的先驗信息以及樣本信息融合后進行貝葉斯統(tǒng)計推斷,從而得到收斂于真實值的樣本統(tǒng)計量.
在估計SV 模型參數(shù)時,一般采用MCMC 算法進行參數(shù)估計,該算法涉及的抽樣方法多種多樣,其中主要是Gibbs 抽樣[7]以及Metropolis-Hastings 抽樣[8](以下簡稱為MH 抽樣).其中Gibbs 抽樣僅適用于參數(shù)后驗分布為常用的概率分布的參數(shù)估計,而MH抽樣具有一般性,又可以分為獨立MH抽樣以及隨機游走MH 抽樣等,能夠用于參數(shù)后驗分布為復雜不常用的概率分布;在估計波動率方面,1994 年,Carter 和Kohn[9]以及Frühwirth-Schnatter[10]使用基于卡爾曼濾波的FFBS 算法進行波動率抽樣,由于波動序列是序列相關的,故聯(lián)合抽樣更加有效.1994年,Carter和Kohn[9]使用的隨機誤差有限混合正態(tài)近似誤差項比正態(tài)近似誤差項的估計精度更高.基于此,為了提高MCMC 算法估計速度,我們對MCMC 算法進行了改進.在對感興趣的參數(shù)進行抽樣時,采取比“逐一”運算時間更快的“成塊”聯(lián)合抽樣.而在波動率序列抽樣的過程中,根據(jù)Mccausland 等[14]提出的MMP 算法,通過對波動率序列矩陣的精度矩陣進行Cholesky 分解,再利用分解結(jié)果進行矩陣運算,將波動率序列聯(lián)合抽樣出來,從而減少抽樣耗時.因此,我們主要在有限混合正態(tài)近似的基礎上結(jié)合MMP 算法以及參數(shù)聯(lián)合抽樣提出快速的MCMC 算法(Fast MCMC,簡稱為FMCMC).
標準的隨機波動模型形式為:
其中t = 1,2,…,T,yt為t 時刻所持有的資產(chǎn)對數(shù)收益率,ht為t 時刻收益率的對數(shù)波動率,服從高斯AR(1)
過程,參數(shù)φ 用于度量波動率的持續(xù)性,在參數(shù)約束 |φ |<1 下,波動率過程是平穩(wěn)的,隨機擾動項滿足εt~N(0,1 ),ηt~N(0,σ2),且εt與ηt相互獨立.需要估計的參數(shù)μ 為波動率的平均趨勢,φ 為波動率的持續(xù)性函數(shù),其取值范圍為(-1,1 ),σ為誤差項ηt的方差,ht為需要估計的波動率.
在SV模型中,觀測方程(1)是非線性的形式,這為模型的參數(shù)估計增加了難度,為了簡化我們的估計過程,首先對觀測方程(1)進行對數(shù)平方變換,即
其中const =0.000 1 是為了避免對數(shù)定義域問題,因此(1)式等價于
根據(jù)轉(zhuǎn)換后的線性狀態(tài)空間模型(6)、(7),我們可以給出FMCMC 算法:首先初始化參數(shù)θ =(μ,φ,σ)′以及波動率ht;其次借鑒Omori 等[15]抽取變量st= j,st= j 代表正態(tài)分布混合逼近在t 時刻所使用的第j 個正態(tài)分布;接著結(jié)合MMP 算法波動率H=(ht,…,hT)′;最后抽取參數(shù)θ =(μ,φ,σ)′.重復執(zhí)行上述步驟直至參數(shù)估計值收斂,具體抽樣細節(jié)如下.
對于隱含波動率ht的抽樣,目前已有幾種高斯仿真抽樣方法,其中,大部分是基于卡爾曼濾波的,但卡爾曼濾波算法需要大量的迭代計算,其計算成本較高,計算速度緩慢,因此為了改進估計速度,在抽取波動率ht過程中,應用Mccausland 等[14]中的MMP算法提高MCMC抽樣的估計速度.這是因為MMP算法利用帶對角結(jié)構對精度矩陣進行Cholesky 因子分解,通過矩陣運算對波動率ht進行抽樣,從而實現(xiàn)高效的抽樣.與卡爾曼濾波相比,MMP算法使用矩陣運算進行H的聯(lián)合抽樣,不需要用到迭代算法,因此在該步驟中節(jié)省了大部分的時間,從而提高了MCMC的抽樣速度.下面結(jié)合SV 模型介紹我們所使用的MMP算法,MMP算法的實現(xiàn)基于一個重要的理論基礎,即Mccausland 等[14]中的結(jié)論2.1.
記
通過Mccausland 等[14]中的推導方法,結(jié)合模型(6)和(7)可推導出形如上式的Ω與C.
其次,對精度矩陣Ω 進行Cholesky 分解,即找到一個對角元為正數(shù)的下三角矩陣L,使得Ω = LL′. 根據(jù)性質(zhì)可知H|Y ~N(Ω-1C,Ω-1),若記ξ ~NT(0,IT),則有L′H = L-1C + ξ,再將該式兩邊同時左乘以(L′)-1即可求得隱含波動率的抽樣公式為H =(L′)-1(L-1C + ξ ). 這樣,通過MMP 的方法利用矩陣的運算對H=(ht,…,hT)′波動率序列進行聯(lián)合抽樣,從而提高了估計速度以及準確度.
若分別對μ、φ、σ 進行逐個參數(shù)的抽樣,這會增加MCMC算法的耗時,為了提高估計速度以及準確度,采用聯(lián)合抽樣的方式對θ =(μ,φ,σ)′進行聯(lián)合抽樣,為了避免θ 的聯(lián)合分布的高斯截斷問題,對參數(shù)值進行以下變換:
那么,變換后的新參數(shù)取值范圍均為實數(shù)集?.記新參數(shù)向量為ω =(ω1,ω2,ω3)′,假設參數(shù)向量ω 的聯(lián)合密度函數(shù)為fω(ω1,ω2,ω3),則參數(shù)向量θ 的聯(lián)合密度為
由于ω 的聯(lián)合密度分布是多元的形式,并對參數(shù)空間θ 進行了變換,Gibbs[7]抽樣不再適用,因此采用更一般性的MH抽樣[8]算法,其建議分布為N(ω*,Σ*),其中,ω*= ωold為前一次抽樣接受的參數(shù)估計值,Σ*為主對角線為0.1、其余位置為0 的高斯分布協(xié)方差矩陣.記ωnew為建議分布產(chǎn)生的候選樣本,fN(?)為高斯正態(tài)分布的密度函數(shù),θold為前一次抽樣的ωold通過逆變換得到的原參數(shù)向量,θnew為ωnew通過逆變換得到的原參數(shù)向量,參數(shù)后驗密度π(θ|? )= L(θ )π(θ ),L(θ )為SV 模型的似然函數(shù),則MH 抽樣的接受概率如下:
根據(jù)提出的FMCMC 算法,我們對SV 模型進行參數(shù)估計,通過模擬生成不同時間長度以及參數(shù)真實值的模擬數(shù)據(jù),進行數(shù)值模擬實驗.而算法的優(yōu)劣性方面,主要從估計準確度以及估計時間進行比較.我們的數(shù)值模擬實驗室是通過R(3.5.3)軟件,使用Rcpp、coda以及RcppArmadillo進行R與C++編程.
3.1.1 FMCMC算法與其他MCMC算法對比
為了驗證所提出的FMCMC 算法的準確度以及估計效率,將FMCMC 算法與目前較為流行的Gibbs[7]算法(利用Winbugs[16]實現(xiàn))以及Hoffman[17]提出的基于MH 算法改進的Naive No-U-Turn 算法(以下簡稱NNUT 算法,利用R 語言Rstan 包實現(xiàn))進行比較,在表1 中給定的參數(shù)真實值情況下,產(chǎn)生時間長度T=1 000 的模擬數(shù)據(jù)中,進行預熱1 000 次,以及5 000 次的MCMC 抽樣. 對于先驗分布,我們借鑒Kastner等[18],選擇如下的先驗分布:
表1 中,μtrue,σtrue,φtrue分別表示模擬數(shù)據(jù)的參數(shù)真實值,在FMCMC、NNUT 以及Gibbs 下的數(shù)字為與之對應的參數(shù)估計值,括號內(nèi)數(shù)字為參數(shù)估計值的標準差.在估計準確度方面,提出的FMCMC算法估計誤差為,Rstan包中算法的估計誤差為,Gibbs算法由于Winbugs顯示精度問題,其估計誤差為因此FMCMC 算法具有較好的估計精度以及準確度;在參數(shù)估計值的方差方面,Gibbs算法的方差最大,而NNUT 算法的方差最小,提出的FMCMC 在方差在兩者之間,盡管FMCMC算法的方差不是最小的,但其估計效果仍然是不錯的;在計算耗時方面,F(xiàn)MCMC算法的估計時間只需要5.26 s,NNUT算法需要58.92 s,Gibbs算法需要51.33 s,由此可見在計算速度方面,提出的FMCMC算法具有明顯的優(yōu)勢,耗時僅為其它兩種MCMC 算法耗時的10%,這種優(yōu)勢會隨著時間序列的長度以及抽樣次數(shù)的增加而更為明顯.因此,F(xiàn)MCMC 算法在估計準確度、估計方差以及抽樣耗時等方面更優(yōu)于其它兩種MCMC算法,能夠較為準確地并快速地進行模型的參數(shù)估計.
表1 FMCMC算法與其他MCMC算法的估計結(jié)果Tab.1 Estimation results of FMCMC algorithm and other MCMC algorithms
3.1.2 FMCMC算法估計情況
由上可知FMCMC 算法的估計結(jié)果以及耗時是比較好的,在這一小節(jié)中我們通過設置的不同參數(shù)值以及不同的時間長度進行模擬分析,測試FMCMC算法在不同參數(shù)真實值下的估計情況(表2),在表2中T為模擬數(shù)據(jù)的時間序列長度,其它符號以及數(shù)值說明與表1相同,由實驗結(jié)果可知大部分參數(shù)估計誤差均小于等于0.05,只有極少數(shù)的參數(shù)估計絕對誤差小于等于0.09,因此FMCMC 算法的估計效果是相當不錯的.
表2 不同參數(shù)不同時間長度模擬數(shù)據(jù)的FMCMC估計結(jié)果Tab.2 FMCMC estimation results of simulated data with different parameters and lengths
滬深300股指具有較好的代表性,其發(fā)展趨勢可以相當大程度地反映我們股價的總趨勢,因此我們選取滬深300股指2005年1月4日-2019年5月31日數(shù)據(jù)建立隨機波動模型進行分析,數(shù)據(jù)來源于網(wǎng)易財經(jīng)網(wǎng),共有3 501 個觀測樣本,為了便于分析,將處理后的數(shù)據(jù)擴大100 倍,即yt= 100×(lnPt- lnPt-1),下面通過圖1的對數(shù)收益率時序圖以及描述統(tǒng)計表3對滬深300股指的波動特征進行初步地分析.
表3 滬深300股指對數(shù)收益率的統(tǒng)計特征Tab.3 Statistical characteristics of logarithmic yield of Shanghai and Shenzhen 300 stock index
圖1 滬深300股指對數(shù)收益率時序圖Fig.1 Sequence diagram of logarithmic yield of Shanghai and Shenzhen 300 stock index
由圖表可知其偏度小于0 且度大于3,通過JB 檢驗,其p 值遠小于0.01,這說明了該數(shù)據(jù)特征是顯著有偏且厚尾的,表明該數(shù)據(jù)適合用隨機波動模型進行建模分析,因此可以采用我們的FMCMC 算法進行估計.結(jié)果如表4,其中MC 誤差為其中s2為抽樣方差,M 為抽樣樣本總數(shù),IF 為低效率因子為在0處的譜密度估計值).若MC 誤差值越小,則說明該模型的估計結(jié)果更為準確.根據(jù)表4 可得出結(jié)論如下:由參數(shù)估計結(jié)果可知,參數(shù)估計值的MC 誤差遠小于其標準差,這表明該算法是有效可行的;從平均波動水平參數(shù)μ 來看,μ 的估計值為0.551 0,其估計值較小,這表明滬深300指數(shù)的總體風險是較小的;在波動持續(xù)性參數(shù)φ 的估計結(jié)果方面,其估計值為是0.98,這說明滬深300 股指具有高度的波動持續(xù)性;從波動干擾水平σ 來看,其值為0.166 0,這表明隱含波動率的干擾較小;從隱含波動率時序圖來看波動幅度在0.45~0.65,意味著其波動較小,風險較小,并且大幅度波動與小幅度波動都存在波動聚集現(xiàn)象.
表4滬深300股指的FMCMC估計結(jié)果Tab.4 FMCMC estimated results of Shanghai and Shenzhen 300 stock index
圖2 滬深300股指的FMCMC估計波動率時序圖Fig.2 Estimated volatility sequence diagram of Shanghai and Shenzhen 300 stock index basing on FMCMC method
滬深300 指數(shù)對于指數(shù)衍生的創(chuàng)新以及數(shù)字化投資具有著十分重要的作用,既是投資業(yè)績情況的評價標準,也是編制目標和運行狀況的重要金融指標之一.從模型的參數(shù)θ =(μ,φ,σ)′以及波動率序列H=(ht,…,hT)′來看,滬深300指數(shù)具有風險較小,波動幅度小,波動率具有持續(xù)性的特征,因此,滬深300指數(shù)組成股較為適合投資者長持,但由于滬深300指數(shù)反映的是A股市場總體狀況,因此投資者應該使用合理化的投資組合結(jié)構,分散化投資,降低投資風險.另一方面,滬深300 指數(shù)除了為市場提供一個投資標尺外,還有一個重要目的是為了股指期貨提供一個標準,通過滬深300指數(shù)可以推出以該指數(shù)為標準的股指期貨,為期貨交易提供參考依據(jù),因此滬深300指數(shù)也可作為投資期貨的一種重要手段.實際上在進行金融投資活動時,還會出現(xiàn)的各種影響因素以及不確定風險,例如投資者不可能充分考慮的影響因素、政府對市場的干預、成分股分紅等等,盡管滬深300股指在總體上風險較低,波動幅度不大,但投資者應提前做好應對措施,在金融交易的過程中保持謹慎.
我們結(jié)合了基于Cholesky因子算法的MMP算法以及混合正態(tài)算法,提出一種快速的FMCMC算法,通過隨機波動率模型的數(shù)值模擬研究,研究結(jié)果表明FMCMC 算法相對目前流行的Gibbs 算法以及MH算法,能夠更加準確以及快速地估計模型參數(shù),通過設置不同參數(shù)真實值以及不同長度的模擬時間序列數(shù)據(jù),F(xiàn)MCMC 算法均能夠較為準確地估計參數(shù)值.最后通過實證研究發(fā)現(xiàn),滬深300 股指對數(shù)收益率具有尖峰后尾以及波動聚集性等特征,通過波動持續(xù)性參數(shù)的估計值可知滬深300 股指對數(shù)收益率的波動具有較強的持續(xù)性,這說明一旦出現(xiàn)較大的波動,有較大的幾率會出現(xiàn)由高波動水平持續(xù)不降的現(xiàn)象,并且伴隨著波動集聚的現(xiàn)象,同時根據(jù)其他參數(shù),也說明了滬深300股指波動幅度并不大,其風險也較小,驗證了FMCMC算法的有效性.