R語言單變量和多變量(多元)動態(tài)條件相關(guān)系數(shù)DCC-GARCH模型分析股票收益率金融時間序
全文下載鏈接:http://tecdat.cn/?p=25957
當(dāng)您處理金融時間序列時,我們通常可以獲得相對高頻的觀察結(jié)果。例如,每天進(jìn)行觀察是很常見的。事實(shí)上,現(xiàn)在可以獲得每小時、分鐘、秒甚至毫秒的觀測值。
使用的包
有許多軟件包可以使我們能夠估計(jì)波動率模型。我們還將使用該?quantmod
?軟件包,因?yàn)樗梢宰屛覀冚p松訪問一些標(biāo)準(zhǔn)財(cái)務(wù)數(shù)據(jù)。
數(shù)據(jù)上傳
在這里,我們將使用包提供的方便的數(shù)據(jù)檢索功能(getSymbols
)?quantmod
?來檢索一些數(shù)據(jù)。例如,此函數(shù)可用于檢索股票數(shù)據(jù)。默認(rèn)來源是 Yahoo Finance. 如果您想找出哪些股票有哪個符號,您應(yīng)該能夠在互聯(lián)網(wǎng)上搜索以找到股票代碼列表。下面介紹如何使用該功能。但請注意,我的經(jīng)驗(yàn)是有時連接不起作用,您可能會收到錯誤消息。在這種情況下,只需在幾秒鐘后重試,它就可以正常工作。
getSymbols("IBM") ##?\[1\]?"IBM" getSymbols("GOOG") ##?\[1\]?"GOOG" getSymbols("BP") ##?\[1\]?"BP"
在您的環(huán)境中,您可以看到這些命令中的每一個都使用各自的股票代碼名稱加載一個對象。讓我們看一下這些數(shù)據(jù)框之一,以了解這些數(shù)據(jù)是什么:
您可以看到該對象包含一系列每日觀察結(jié)果(??Open
、?High
和?Close
股價??)。我們還了解到對象被格式化為xts
?對象,??是一種時間序列格式,實(shí)際上我們了解到數(shù)據(jù)范圍從 2007-01-03 到 2022-03-24。
使用以下命令生成一個看起來有點(diǎn)花哨的圖表
當(dāng)我們估計(jì)波動率模型時,我們使用收益率。有一個函數(shù)可以將數(shù)據(jù)轉(zhuǎn)換為收益率。
dailyReturn(IBM)
單變量 GARCH 模型
您需要做的第一件事是確保您知道要估計(jì)的 GARCH 模型類型,然后讓 R 知道這一點(diǎn)。讓我們看看:
這里的關(guān)鍵問題是?Mean Model
?(這里是 ARMA(1,1) 模型)和?GARCH Model
, 這里?sGARCH(1,1)
?基本上是 GARCH(1,1) 的模型。
點(diǎn)擊標(biāo)題查閱往期內(nèi)容
R語言多元動態(tài)條件相關(guān)DCC-MVGARCH、常相關(guān)CCC-MVGARCH模型進(jìn)行多變量波動率預(yù)測
左右滑動查看更多
01
02
03
04
假設(shè)您要將平均模型從 ARMA(1,1) 更改為 ARMA(1,0),即 AR(1) 模型。
uec?<-?ugarchspec
以下是 EWMA 模型示例。
ewm?=?ugarchspe
模型估計(jì)
現(xiàn)在我們已經(jīng)指定了一個模型來估計(jì),我們需要找到最好的參數(shù),即我們需要估計(jì)模型。這一步是通過?it
?函數(shù)來實(shí)現(xiàn)的。
fit(specrIBM)
fit
?現(xiàn)在是一個包含一系列估計(jì)結(jié)果的列表。讓我們看看結(jié)果
ar1
?是均值模型的 AR1 系數(shù)(這里非常小且基本上不顯著),?alpha1
?是 GARCH 方程中殘差平方?beta1
?的系數(shù),是滯后方差的系數(shù)。
通常,您會希望使用模型輸出進(jìn)行一些進(jìn)一步的分析。因此,了解如何提取參數(shù)估計(jì)值、標(biāo)準(zhǔn)誤差或殘差等信息非常重要。該對象?ugfit
?包含所有信息。
names
如果您想提取估計(jì)的系數(shù),您可以通過以下方式進(jìn)行:
讓我們繪制平方殘差和估計(jì)的條件方差:
模型預(yù)測
通常您會希望使用估計(jì)模型來隨后預(yù)測條件方差。用于此目的的函數(shù)是?forecast
?函數(shù)。該應(yīng)用程序相當(dāng)簡單:
hforecast(ugfit
正如你所看到的,我們已經(jīng)對未來十天進(jìn)行了預(yù)測,包括預(yù)期收益 (?Series
) 和條件波動率(條件方差的平方根)。您可以提取條件波動率預(yù)測如下:
forecast$sigmaFor plot
請注意,波動率是條件方差的平方根。
為了將這些預(yù)測放在上下文中,讓我們將它們與估計(jì)中使用的最后 50 個觀察值一起顯示。
?(tail(ug_var,20)?)??#?得到最后20個觀察值 ?tail(ug_res2,20?))??#?得到最后的20個觀測值
您可以看到條件方差的預(yù)測是如何從上次估計(jì)的條件方差中得出的。事實(shí)上,它從那里慢慢地向無條件方差值遞減。
多元 GARCH 模型
通常,您需要對波動性進(jìn)行建模。這可以通過單變量 GARCH 模型的多變量版本來完成。估計(jì)多變量 GARCH 模型比單變量 GARCH 模型要困難得多,但幸運(yùn)的是,已經(jīng)開發(fā)了處理大多數(shù)這些問題的程序。
在這里,我們來估計(jì) BP、Google/Alphabet 和 IBM 股票收益率的多元波動率模型。
在這里,我們堅(jiān)持使用動態(tài)條件相關(guān) (DCC) 模型。在估計(jì) DCC 模型時,基本上是估計(jì)單個 GARCH 類型模型。然后將這些用于標(biāo)準(zhǔn)化各個殘差。作為第二步,必須指定這些標(biāo)準(zhǔn)化殘差的相關(guān)動態(tài)。
模型設(shè)置
在這里,我們假設(shè)我們對三種資產(chǎn)中的每一種都使用相同的單變量波動率模型。
#?DCC?(MVN) u.n?=?multispec
這個命令有什么作用?它指定了一個 AR(1)-GARCH(1,1) 模型。將這個模型復(fù)制了 3 次(因?yàn)槲覀儞碛腥N股票,IBM、Google/Alphabet 和 BP)。
我們現(xiàn)在使用命令估計(jì)
結(jié)果保存在?multf
?其中,您可以?multf
?在命令窗口中鍵入以查看這三個模型的估計(jì)參數(shù)。但是我們將在這里繼續(xù)指定 DCC 模型。
spec
模型估計(jì)
現(xiàn)在我們可以使用該?fit
?函數(shù)來估計(jì)模型了。
fit1?=fit(spec1)
當(dāng)您估計(jì)像 DCC 模型這樣的多元波動率模型時,您通常對估計(jì)的協(xié)方差或相關(guān)矩陣感興趣。畢竟,這些模型的核心是允許股票之間的相關(guān)性隨時間變化。因此,我們現(xiàn)在將學(xué)習(xí)如何提取這些。
#?獲取基于模型的時間變化協(xié)方差(陣列)和相關(guān)矩陣 rcov(fit1)?#?提取協(xié)方差矩陣 rcor(fit1)?#?提取相關(guān)矩陣
要了解我們手頭的數(shù)據(jù),我們可以看一下維度:
我們得到三個輸出,告訴我們我們有一個三維對象。前兩個維度各有 3 個元素(想想一個 3×3 相關(guān)矩陣),然后是第三個維度,有 3834個元素。這告訴我們?cor1
?存儲了 3834(3×3) 個相關(guān)矩陣,一個用于每天的數(shù)據(jù)。
讓我們看看最后一天的相關(guān)矩陣,第 3834天;
因此,假設(shè)我們要繪制 Google 和 BP 之間的時變相關(guān)性,即最后一天的 0.1924。在我們的收益矩陣中,??rX
?BP 是第二個資產(chǎn),而 Google 是第三個。因此,在任何特定的相關(guān)矩陣中,我們都需要第 2 行和第 3 列中的元素。
?cor1\[2,1,\]?#?將最后一個維度留空意味著我們需要所有元素 ?as.xts(c?G)?#?采用xts的時間序列格式--對繪圖很有用
現(xiàn)在我們繪制這個。
如您所見,隨著時間的推移存在顯著變化,相關(guān)性通常在 0.2 和 0.5 之間變化。
讓我們繪制三種資產(chǎn)之間的所有三種相關(guān)性。
預(yù)測
通常您會希望使用您的估計(jì)模型來生成協(xié)方差或相關(guān)矩陣的預(yù)測
相關(guān)性的實(shí)際預(yù)測可以通過
?mforecast$R????#?用H來預(yù)測協(xié)方差
檢查結(jié)構(gòu)時?Rf
您意識到該對象?Rf
?是一個包含一個元素的列表。事實(shí)證明,這個列表項(xiàng)是一個 3 維矩陣/數(shù)組,其中包含 3×3 相關(guān)矩陣的 10 個預(yù)測。例如,如果我們想提取 IBM(第一項(xiàng)資產(chǎn))和 BP(第二項(xiàng)資產(chǎn))之間相關(guān)性的 10 個預(yù)測,我們必須按以下方式進(jìn)行:
Rf\[\[1\]\]\[1,2,\]?#?IBM和BP之間的相關(guān)預(yù)測值 ?Rf\[\[1\]\]\[1,3,\]?#?IBM和谷歌之間的相關(guān)預(yù)測 ?Rf\[\[1\]\]\[2,3,\]?#?BP和Google之間的相關(guān)性預(yù)測
至于單變量波動性模型,讓我們將預(yù)測與相關(guān)性的最后樣本內(nèi)估計(jì)一起顯示。
#?這將創(chuàng)建一個有3個窗口的框架,由圖畫來填充 c(tail(cor1\[1,2,\],20),rep(NA,10))??#?得到最后20個相關(guān)觀測值 c(rep(NA,20),corf_IB)?#?得到10個預(yù)測值 plot? c(tail(cor1\[1,3,\],20),rep(NA,10))??#?得到最后20個相關(guān)觀測值 c(rep(NA,20),corf_IG)?#?得到10個預(yù)測值 c(tail(cor1\[2,3,\],20),rep(NA,10))??#?獲得最后20個相關(guān)觀測值 c(rep(NA,20),corf_BG)?#?得到10個預(yù)測值
本文摘選《R語言單變量和多變量(多元)動態(tài)條件相關(guān)系數(shù)DCC-GARCH模型分析股票收益率金融時間序列數(shù)據(jù)波動率》,點(diǎn)擊“閱讀原文”獲取全文完整資料。
點(diǎn)擊標(biāo)題查閱往期內(nèi)容
R語言多元動態(tài)條件相關(guān)DCC-MVGARCH、常相關(guān)CCC-MVGARCH模型進(jìn)行多變量波動率預(yù)測
R語言用Garch模型和回歸模型對股票價格分析
R語言對S&P500股票指數(shù)進(jìn)行ARIMA + GARCH交易策略
R語言ARMA GARCH COPULA模型擬合股票收益率時間序列和模擬可視化
ARMA-GARCH-COPULA模型和金融時間序列案例
時間序列分析:ARIMA GARCH模型分析股票價格數(shù)據(jù)
GJR-GARCH和GARCH波動率預(yù)測普爾指數(shù)時間序列和Mincer Zarnowitz回歸、DM檢驗(yàn)、JB檢驗(yàn)
【視頻】時間序列分析:ARIMA-ARCH / GARCH模型分析股票價格
時間序列GARCH模型分析股市波動率
PYTHON用GARCH、離散隨機(jī)波動率模型DSV模擬估計(jì)股票收益時間序列與蒙特卡洛可視化
極值理論 EVT、POT超閾值、GARCH 模型分析股票指數(shù)VaR、條件CVaR:多元化投資組合預(yù)測風(fēng)險測度分析
Garch波動率預(yù)測的區(qū)制轉(zhuǎn)移交易策略
金融時間序列模型ARIMA 和GARCH 在股票市場預(yù)測應(yīng)用
時間序列分析模型:ARIMA-ARCH / GARCH模型分析股票價格
R語言風(fēng)險價值:ARIMA,GARCH,Delta-normal法滾動估計(jì)VaR(Value at Risk)和回測分析股票數(shù)據(jù)
R語言GARCH建模常用軟件包比較、擬合標(biāo)準(zhǔn)普爾SP 500指數(shù)波動率時間序列和預(yù)測可視化
Python金融時間序列模型ARIMA 和GARCH 在股票市場預(yù)測應(yīng)用
MATLAB用GARCH模型對股票市場收益率時間序列波動的擬合與預(yù)測
R語言GARCH-DCC模型和DCC(MVT)建模估計(jì)
Python 用ARIMA、GARCH模型預(yù)測分析股票市場收益率時間序列
R語言中的時間序列分析模型:ARIMA-ARCH / GARCH模型分析股票價格
R語言ARIMA-GARCH波動率模型預(yù)測股票市場蘋果公司日收益率時間序列
Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模擬進(jìn)行股價預(yù)測
R語言時間序列GARCH模型分析股市波動率
R語言ARMA-EGARCH模型、集成預(yù)測算法對SPX實(shí)際波動率進(jìn)行預(yù)測
matlab實(shí)現(xiàn)MCMC的馬爾可夫轉(zhuǎn)換ARMA - GARCH模型估計(jì)
Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模擬進(jìn)行股價預(yù)測
使用R語言對S&P500股票指數(shù)進(jìn)行ARIMA + GARCH交易策略
R語言用多元ARMA,GARCH ,EWMA, ETS,隨機(jī)波動率SV模型對金融時間序列數(shù)據(jù)建模
R語言股票市場指數(shù):ARMA-GARCH模型和對數(shù)收益率數(shù)據(jù)探索性分析
R語言多元Copula GARCH 模型時間序列預(yù)測
R語言使用多元AR-GARCH模型衡量市場風(fēng)險
R語言中的時間序列分析模型:ARIMA-ARCH / GARCH模型分析股票價格
R語言用Garch模型和回歸模型對股票價格分析
GARCH(1,1),MA以及歷史模擬法的VaR比較
matlab估計(jì)arma garch 條件均值和方差模型
R語言POT超閾值模型和極值理論EVT分析