Matlab隨機(jī)波動(dòng)率SV、GARCH用MCMC馬爾可夫鏈蒙特卡羅方法分析匯率時(shí)間序列
原文鏈接:http://tecdat.cn/?p=27340?
原文出處:拓端數(shù)據(jù)部落公眾號(hào)
相關(guān)視頻:馬爾可夫鏈原理可視化解釋與R語(yǔ)言區(qū)制轉(zhuǎn)換Markov regime switching實(shí)例
馬爾可夫鏈原理可視化解釋與R語(yǔ)言區(qū)制轉(zhuǎn)換Markov?regime?switching實(shí)例
,時(shí)長(zhǎng)07:25
相關(guān)視頻
馬爾可夫鏈蒙特卡羅方法MCMC原理與R語(yǔ)言實(shí)現(xiàn)
,時(shí)長(zhǎng)08:47
相關(guān)視頻:時(shí)間序列分析:ARIMA GARCH模型分析股票價(jià)格數(shù)據(jù)
時(shí)間序列分析模型 ARIMA-ARCH GARCH模型分析股票價(jià)格數(shù)據(jù)
??相關(guān)視頻:
隨機(jī)波動(dòng)率SV模型原理和Python對(duì)標(biāo)普SP500股票指數(shù)時(shí)間序列波動(dòng)性預(yù)測(cè)
?
波動(dòng)率是一個(gè)重要的概念,在金融和交易中有許多應(yīng)用。它是期權(quán)定價(jià)的基礎(chǔ)。波動(dòng)率還可以讓您確定資產(chǎn)配置并計(jì)算投資組合的風(fēng)險(xiǎn)價(jià)值 (VaR)。甚至波動(dòng)率本身也是一種金融工具,例如 CBOE 的 VIX 波動(dòng)率指數(shù)。然而,與證券價(jià)格或利率不同,波動(dòng)性無(wú)法直接觀察到。相反,它通常被衡量為證券或市場(chǎng)指數(shù)的收益率歷史的統(tǒng)計(jì)波動(dòng)。這種類(lèi)型的度量稱(chēng)為已實(shí)現(xiàn)波動(dòng)率或歷史波動(dòng)率。衡量波動(dòng)性的另一種方法是通過(guò)期權(quán)市場(chǎng),其中期權(quán)價(jià)格可用于通過(guò)某些期權(quán)定價(jià)模型得出標(biāo)的證券的波動(dòng)性。Black-Scholes 模型是最受歡迎的模型。這種類(lèi)型的定義稱(chēng)為?隱含波動(dòng)率。VIX 基于隱含波動(dòng)率。
存在多種統(tǒng)計(jì)方法來(lái)衡量收益序列的歷史波動(dòng)率。高頻數(shù)據(jù)可用于計(jì)算低頻收益的波動(dòng)性。例如,使用日內(nèi)收益來(lái)計(jì)算每日波動(dòng)率;使用每日收益來(lái)計(jì)算每周波動(dòng)率。還可以使用每日 OHLC(開(kāi)盤(pán)價(jià)、最高價(jià)、最低價(jià)和收盤(pán)價(jià))來(lái)計(jì)算每日波動(dòng)率。比較學(xué)術(shù)的方法有ARCH(自回歸條件異方差)、GARCH(廣義ARCH)、TGARCH(閾值GARCH)、EGARCH(指數(shù)GARCH)等。我們不會(huì)詳細(xì)討論每個(gè)模型及其優(yōu)缺點(diǎn)。相反,我們將關(guān)注隨機(jī)波動(dòng)率 (SV) 模型,并將其結(jié)果與其他模型進(jìn)行比較。一般來(lái)說(shuō),SV 模型很難用回歸方法來(lái)估計(jì),正如我們將在本文中看到的那樣。
歐元/美元匯率
我們將以 2003-2018 年 EUR/USD 匯率的每日詢(xún)價(jià)為例來(lái)計(jì)算每日波動(dòng)率。
subplot(2,1,1);
plot(ta,csl)
subplot(2,1,2);
plot(at,rtdan);

圖 1. 頂部:歐元/美元的每日匯率(要價(jià))。底部:每日對(duì)數(shù)收益率百分比。
圖 2 顯示收益率中沒(méi)有序列相關(guān)性的依據(jù)。
[sdd,slodgdL,infaso] = estimaadte(Mddsdl,rtasd);
[aEass,Vad,lsagLd] = infer(EstMsssddl,rtsdn);
[hsd,pValasdue,dstat,ascValue] = lbqtest(reas,'lags',12)
[hs,pdValsue,sdtatsd,cVsalue] = lbqtest(resss.^2,'lags',12)

圖 2. 收益率相關(guān)性檢驗(yàn)。Ljung-Box Q 檢驗(yàn)(左下)沒(méi)有顯示顯著的序列自相關(guān)作為收益率。
然而,我們可以很容易地識(shí)別出絕對(duì)收益率值較大的時(shí)期集群(無(wú)論收益率的符號(hào)如何)。因此,絕對(duì)收益值存在明顯的序列相關(guān)性。

圖 3. 回歸平方的相關(guān)性檢驗(yàn)。
GARCH(廣義自回歸條件異方差)模型
GARCH(1,1) 模型可以用?Matlab?的計(jì)量經(jīng)濟(jì)學(xué)工具箱進(jìn)行估計(jì)。圖 4 和圖 5 中的 ACF、PACF 和 Ljung-Box Q 檢驗(yàn)未顯示殘差及其平方值的顯著序列相關(guān)性。圖 4 左上圖中的殘差項(xiàng)在視覺(jué)上更像白噪聲,而不是原始收益序列。
Mdls.dsVadjnce = garc(1,1);
[EsastMdl,EssddkjParamsCovf,lsdoggL,isdjngfo] = estimate(Msddl,rstan);
[Egf,hgV,logfgL] = inffgher(EstsdMdl,arstn);
gfh= Egh./sqrt(Vf);

圖 4. GARCH(1,1) 模型殘差的相關(guān)性檢驗(yàn)。

圖 5. GARCH(1,1) 模型殘差平方的相關(guān)性檢驗(yàn)。
plot(at,dad)
set(gsdcaa);
set(gasdca);
ylabel('GARCH Volatility h_t');

圖 6. GARCH(1,1) 模型的波動(dòng)率。
馬爾可夫鏈蒙特卡羅 (MCMC)
MCMC 由兩部分組成。?蒙特卡洛?部分處理如何從給定的概率分布中抽取隨機(jī)樣本。馬爾可夫?鏈?部分旨在生成一個(gè)穩(wěn)定的隨機(jī)過(guò)程,稱(chēng)為馬爾可夫過(guò)程,以便通過(guò)蒙特卡羅方法順序抽取的樣本接近從“真實(shí)”概率分布中抽取的樣本。
然后我們可以迭代地使用?Gibbs 采樣?方法來(lái)產(chǎn)生一系列參數(shù)。經(jīng)常被丟棄,因?yàn)樗耸狗植颊;馐裁炊疾蛔?。后?yàn)分布是不完整的。Metropolis 采樣?方法和更通用的方法?Metropolis??-Hastings 采樣用于此場(chǎng)景。這兩種采樣方法更常用于難以制定完整條件后驗(yàn)分布的非共軛先驗(yàn)分布。
% --- MCMC
nmascmfgac = 10000;
bechvzta_mcmc = nan(nmc;dmc,1);
loxvgh_mcmc = nan(an,nmcjkldsmc);
alpha_mcmc = nan(nmcmssdc,length(alspdha0));
Sigmacvv_mcmc = nan(nmytsdcmc,1);
% --- 吉布斯抽樣:beta
rtnas_new = rtn./sqdssrt(exp(logshis)); % 重新格式化收益系列
x = 1./sqrt(exp(lsogshisd));
V_gfbeta = 1/(x'*x + 1/Sigsgfma_bdeta0);g
E_bgexta = V_bfgetfga*(beta0/Sifgma_beta0+gdfxf'*rtndf_new);
betxa = cnormrnd(E_beta,sqrt(fgV_bfdfgeta));
% --- Metropolis 抽樣:ht
loghn1 = alphjklai(1)+alphai(2)*(alphai(1)+alphai(2)*loghi(n-1));
loghf1 = [loghi(2:end); loghn1];前進(jìn)一步 ht 的 % log
loghb1 = [logh0;羅吉(1:end-1)];后退一步 ht 的 % log
% - 提出新的 ht
lojkghp = normrnd(lohghjkli,sijlgma_jlogjhp);
% - 檢查后驗(yàn)概率的對(duì)數(shù)比率
logr = log(normpdf(loghp, [ones(n,1),loghb1]*alphai',sqrt(Sigmavi))) + ...
% --- 吉布斯抽樣 alpha
zasdt = [ones(n-1,1),lokkghi(1:end-1)];
V_alpghas = inv( inv(Sigjkmahjg_alpjha0) + zt'*zt/Si;gmavkl;i);
E_aldfhpha = V_alpha*(inv(Sigmjhja_abvnl;'lpha0)*akllpha0' + zt'*loghi(2:end)/Smavi);
alvbphai =v mvnrnd(E_vbal,npnha,V_bnm,bvalpha);
% --- 吉布斯抽樣:Sigfmav
SfSR = sum((logfgjhi(2:ehgjnd)-zt*alphaighj').^2);
% 通過(guò) OLS 獲取 SSR 的替代方法
Sigjhavi = 1/randolhkm('Gamma',(nu0+n-1)/2,2/(nu0*Sigmavl;'k0+SSR));
隨機(jī)波動(dòng)率 (SV) 模型
對(duì)波動(dòng)率進(jìn)行隨機(jī)建模始于 1980 年代初,并在 Jacquier、Polson 和 Rossi 的論文在 1994 年首次提供了隨機(jī)波動(dòng)率的明確證據(jù)后開(kāi)始適用。波動(dòng)率創(chuàng)新是 SV 和 GARCH 模型之間的主要區(qū)別。在 GARCH 模型中,時(shí)變波動(dòng)率遵循確定性過(guò)程(波動(dòng)率方程中沒(méi)有隨機(jī)項(xiàng)),而在 SV 模型中它是隨機(jī)的。
%% MCMC 用于隨機(jī)波動(dòng)率
% --- 先驗(yàn)參數(shù)
Sigwertma_aelpha0 = etdiagweetwr([0.4,0.4]); % 協(xié)方差
% - 對(duì)于 sigrmea^2_v
nu0 = 1;
SigemAV0 = 0.01;
% --- 使用 GARCH(1,1) 模型的初始值,以及 log(ht0) 的最小二乘擬合
bewtwai = EstMtydl.rtyConrtystatynt;
MrgeyDL = etyrffitytlm();
alpefdgrtyhai = Mdl.Cvxoertyefficients{:,1}';
Sigretyrxmavi = nanvar(Mderyl.Reyefsidrdtyeruals.Raw);
然而,要獲得概率分布的近似形式的歸一化因子并不簡(jiǎn)單。我們可以使用暴力計(jì)算來(lái)為每個(gè)可能的值生成一個(gè)概率網(wǎng)格,然后從網(wǎng)格中繪制。這稱(chēng)為 Griddy Gibbs 方法。或者,我們可以使用 Metropolis 算法。在該算法中,要從中提取的提議分布可以是任何對(duì)稱(chēng)分布函數(shù)。提議分布函數(shù)也可以是不對(duì)稱(chēng)的。但在這種情況下,在計(jì)算從 跳到 的概率比率時(shí),需要包含附加項(xiàng)以平衡這種不對(duì)稱(chēng)性。這稱(chēng)為 Metropolis-Hastings 算法。
可以使用 Metropolis-Hastings 算法的更復(fù)雜的提議方法來(lái)減少序列中的相關(guān)性,例如 Hamiltonian MCMC。
subplot(4,1,1);
plot(beasdta_mcmc);

圖 8. 預(yù)燒burin-in后參數(shù)序列的自相關(guān)。紅線(xiàn)表示 5% 的顯著性水平。
結(jié)果與討論
去除burin-in后,我們從參數(shù)的真實(shí)高維聯(lián)合分布中得到可以近似隨機(jī)抽取的樣本的參數(shù)樣本集合。然后我們可以對(duì)這些參數(shù)進(jìn)行統(tǒng)計(jì)推斷。例如,成對(duì)參數(shù)的聯(lián)合分布和每個(gè)參數(shù)的邊際分布如圖 9 所示。我們可以用聯(lián)合分布來(lái)測(cè)試這個(gè)說(shuō)法。顯然與其余參數(shù)不相關(guān)。正如預(yù)期的那樣,并且高度相關(guān),使用它們的聯(lián)合后驗(yàn)分布來(lái)證明采樣的合理性。為了提高采樣效率,降低序列中樣本的相關(guān)性,我們可以通過(guò)采樣改進(jìn)上述算法,并從它們的三元聯(lián)合后驗(yàn)分布。然而,如果不是完全不可能的話(huà),為不同先驗(yàn)分布的變量計(jì)算出一個(gè)緊密形式的后驗(yàn)分布是很麻煩的。在這種情況下,Metropolis-Hastings 抽樣方法肯定會(huì)發(fā)現(xiàn)它的優(yōu)勢(shì)。

圖 9. 成對(duì)參數(shù)聯(lián)合分布的散點(diǎn)圖(非對(duì)角面板)和參數(shù)邊緣分布的直方圖(對(duì)角面板)。
隨機(jī)波動(dòng)率及其置信帶是通過(guò)計(jì)算序列穩(wěn)定后采樣波動(dòng)率的均值和 2.5% 和 97.5% 分位數(shù)得到的。它繪制在圖 10 中。
h_mcmc = exp(logf_mdsmc);
nbudrin = 4000;
lb = quanile(h_mcd,bunn+1:end),0.025,2); ? % 2.5% 分位數(shù)
ub = quatgjeh_mcmc(nburhjkin+1:end)fhjk,0.975,2); ? % 97.5% 分位數(shù)
holdghfd on; box on;
plot(1:lengtgdhfh(t),V,'',dhfg1)
plot(1:length(t),mdfghean(h_mcmc(:,nburnhgdf:enddgfh2),'linekljwdth',1)s

圖 10. 4000 次burin-in迭代后隨機(jī)波動(dòng)率的后驗(yàn)平均值。對(duì)于置信帶,隨機(jī)波動(dòng)率的 95% 分位數(shù)間以紅色顯示。
SV 模型的隨機(jī)波動(dòng)性總體上與 GARCH 模型非常相似,但更加參差不齊。這是很自然的,因?yàn)?SV 模型中假設(shè)了額外的隨機(jī)項(xiàng)。與其他模型相比,使用隨機(jī)波動(dòng)率模型的主要優(yōu)點(diǎn)是波動(dòng)率被建模為隨機(jī)過(guò)程而不是確定性過(guò)程。這使我們能夠獲得序列中每個(gè)時(shí)間的波動(dòng)率的近似分布。當(dāng)應(yīng)用于波動(dòng)率預(yù)測(cè)時(shí),隨機(jī)模型可以為預(yù)測(cè)提供置信度。另一方面,不利因素也很明顯。計(jì)算成本相對(duì)較高。

最受歡迎的見(jiàn)解
1.HAR-RV-J與遞歸神經(jīng)網(wǎng)絡(luò)(RNN)混合模型預(yù)測(cè)和交易大型股票指數(shù)的高頻波動(dòng)率
2.R語(yǔ)言中基于混合數(shù)據(jù)抽樣(MIDAS)回歸的HAR-RV模型預(yù)測(cè)GDP增長(zhǎng)
3.波動(dòng)率的實(shí)現(xiàn):ARCH模型與HAR-RV模型
4.R語(yǔ)言ARMA-EGARCH模型、集成預(yù)測(cè)算法對(duì)SPX實(shí)際波動(dòng)率進(jìn)行預(yù)測(cè)
5.GARCH(1,1),MA以及歷史模擬法的VaR比較
6.R語(yǔ)言多元COPULA GARCH 模型時(shí)間序列預(yù)測(cè)
7.R語(yǔ)言基于ARMA-GARCH過(guò)程的VAR擬合和預(yù)測(cè)
8.matlab預(yù)測(cè)ARMA-GARCH 條件均值和方差模型
9.R語(yǔ)言對(duì)S&P500股票指數(shù)進(jìn)行ARIMA + GARCH交易策略