全文連結:http://tecdat.cn/?p=24753
最近我們被客戶要求撰寫關於風險價值的研究報告,包括一些圖形和統計輸出。
在這項工作中,我通過創建一個包含四隻基金的模型來探索 copula,這些基金跟蹤股票、債券、美元和商品的市場指數
然後,我使用該模型生成模擬值,並使用實際收益和模擬收益來測試模型投資組合的性能,以計算風險價值(VaR)與期望損失(ES)。
Copulas 對多元分布中變量之間的相關性進行建模。它們允許將多變量依賴關係與單變量邊緣分布相結合,允許我們對構成多變量數據的每個變量使用許多單變量模型。Copulas 在 2000 年代開始流行。根據 Salmon (2009) 的說法,Li (2000) 最近提出的Copulas應用之一是 2008 年開始的金融危機。我們將使用 copulas 來模擬四個 ETF 基金的行為:IVV,跟蹤標準普爾 500 指數;TLT,跟蹤長期國債;UUP,追蹤外匯指數;以及商品的 DBC
copula 是一個多變量 CDF,其邊緣分布都是 Uniform (0,1)。假設 Y 有 d 維,並且有一個多元 和邊緣 。很容易證明,每個 都是 Uniform(0,1)。因此, 的 CDF 根據定義是一個 copula。使用 Sklar (1973) 的定理,然後我們可以將我們的隨機變量 Y 分解為一個 copula CY ,它包含關於我們的變量 Y 之間相互依賴的信息,以及單變量邊緣 CDFs FY ,它包含關於每個變量的所有信息單變量邊緣分布。對於 d 維,我們有:
並使每個,我們有:
如果我們對等式(2)進行微分,我們會發現 Y 的密度為:
方程 (3) 中的結果允許我們創建多變量模型,這些模型考慮了變量的相互依賴性(方程的第一部分)和每個變量的分布(方程的第二部分)。我們可以使用 copula 和邊緣部分的參數版本來創建可用於運行測試和執行預測的模型。在接下來的幾節中,我們將使用用於統計計算的 R 語言將高斯和 t-copula 擬合到介紹中描述的 ETF 的對數收益率。有了 copula 和邊緣,我們將使用模型來確定投資的風險價值 (VaR) 和預期損失 (ES)。
點擊標題查閱往期內容
R語言多元Copula GARCH 模型時間序列預測
左右滑動查看更多
01
02
03
04
像往常一樣,我們從讀取文件開始。圖 1 顯示了價格圖:注意 IVV 和 DBC(股票和商品)之間的關係以及 TLT 和 UUP(元和國債)之間的關係。
# 將 ETF 讀入
read.zoo("F.csv")
# 獲取最近501天
tf[(T-500):T,]
# 繪製價格
pdf("價格.pdf")
在這種情況下,我們計算對數收益率。圖 2 顯示了收益圖。
# 計算對數收益
le <- lag(e,-1
log(ef) - log(lef) ) * 100
然後我們做一個配對圖來確定結果是否相關,例如,正如期望的那樣,IVV 和 DBC 之間存在非常高的相關性。圖 3 顯示了配對圖。然後我們獲得邊距的參數,擬合每個變量的分布。結果見表一
# 擬合分布
fitdr
## 得到結果矩陣
# 將 AIC 函數應用於第一項(值)
# params 列表的第四項 (loglik)
AIC(saply (saply(prms, 4))
# params 列表的第一項(估計)
sapply (sapply(pams,3))
圖 4 顯示了擬合分布與來自變量的真實數據進行比較的圖。現在我們有了邊緣分布,我們需要找到模型的 copula。我們首先使用機率變換並獲得 中的每一個,我們知道它們是 Uniform(0,1)。這是通過以下代碼完成的:
# 現在我們需要均勻分布
IV <- pct(IVV, a)
rt <- cbind(uV uL, UP, DC)
圖 5 顯示了均勻分布之間的相關性。通過均勻分布,我們可以看到哪種類型的參數 copula 最適合。我們將擬合高斯 copula 和 t-copula,記錄它們的 AIC 並查看哪一個提供了最佳擬合。
圖 5:均勻分布之間的相關性
# 擬合高斯 copula
fit.gaussian <- fitCopula (ncp))
# 記錄擬合的AIC
fit.aic = AIC(filik,
############################################### ############
# 現在是 t-copula
fitCopula (tcop, url00))
# 記錄擬合的AIC
AIC(fiik
length(fite)
比較兩種擬合,如表 II 所示,我們發現 t-copula 擬合最好,因此我們將根據 t-copula 的參數創建一個模型。然後,我們使用該模型生成 10,000 個觀察結果,模擬我們模型的可能結果。我們的模擬模型與擬合模型之間的圖形比較可以在圖 6 中看到 - 模擬非常接近擬合模型。
tCopula(parun")
cop.dist <- mvdc(copt,
parast1)
rmvdc(co00)
現在我們有了模擬的觀察結果,我們將使用參數方法計算風險價值 (VaR) 和預期損失 (ES)。我們將假設一個投資組合(任意選擇)在 IVV 中投資 30%,在 TLT 中投資 15%,在 UUP 中投資 35%,在 DBC 中投資 20%。為了計算投資組合 w 的收益率 Rp,我們簡單地使用矩陣代數將我們的模擬收益率 Rs 乘以權重,如 Rp = Rs × w。然後我們將 t 分布擬合到 Rp 並使用它來估計 VaR 和 ES。對於 t 分布,VaR 和 ES 的公式為:
其中:
• S:倉位大小
• F -1 ν:逆 CDF 函數
• fν:密度函數 • µ:平均值
• λ:形狀/尺度參數
• ν:自由度
• α:置信水平
R中公式的應用實現如下。請注意,在代碼中,VaR 和 ES 被四捨五入到最接近的千位。結果在表III中。
# 計算模擬值的 VaR 和 ES
fitdistr(re, "t")
es <- -m+lada*es1*es2
我們的最終任務是計算非參數 ES 和 VaR,由以下公式給出:
其中:
• S:倉位大小
• qˆ(α):樣本收益率的分位數
• Ri:第 i 個樣本收益率
R 實現如下:
# 計算真實值的 VaR 和 ES
ret <- (rf %*% w) / 100
ES <- -S * sum(ret * ir) / sum (iar)
結果示於表III中。
表 I 顯示了 ETF 邊緣 t 分布的估計參數和 AIC 的結果:
表 I 邊緣分布
兩個 copula 擬合的 AIC 都在表 II 中。
表 II Copula AIC
VaR 和 ES 在表 III 中。
表三 VaR 和 ES
這項工作展示了如何估計邊緣和 copula,以及如何應用 copula 來創建一個模型,該模型將考慮變量之間的相互依賴性。它還展示了如何計算風險價值 (VaR) 和期望損失 (ES)。
本文摘選 《 R語言Copula估計邊緣分布模擬收益率計算投資組合風險價值VaR與期望損失ES 》 ,點擊「閱讀原文」獲取全文完整資料。
點擊標題查閱往期內容
MATLAB用COPULA模型進行蒙特卡洛(MONTE CARLO)模擬和擬合股票收益數據分析
python中的copula:Frank、Clayton和Gumbel copula模型估計與可視化R語言中的copula GARCH模型擬合時間序列並模擬分析
matlab使用Copula仿真優化市場風險數據VaR分析
R語言多元Copula GARCH 模型時間序列預測
R語言Copula函數股市相關性建模:模擬Random Walk(隨機遊走)
R語言實現 Copula 算法建模依賴性案例分析報告
R語言ARMA-GARCH-COPULA模型和金融時間序列案例
R語言基於copula的貝葉斯分層混合模型的診斷準確性研究
R語言COPULA和金融時間序列案例
matlab使用Copula仿真優化市場風險數據VaR分析
matlab使用Copula仿真優化市場風險
R語言多元CopulaGARCH模型時間序列預測
R語言Copula的貝葉斯非參數MCMC估計
R語言COPULAS和金融時間序列R語言乘法GARCH模型對高頻交易數據進行波動性預測
R語言GARCH-DCC模型和DCC(MVT)建模估計
Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模擬進行股價預測
R語言時間序列GARCH模型分析股市波動率
R語言ARMA-EGARCH模型、集成預測算法對SPX實際波動率進行預測
matlab實現MCMC的馬爾可夫轉換ARMA - GARCH模型估計
Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模擬進行股價預測
使用R語言對S&P500股票指數進行ARIMA + GARCH交易策略
R語言用多元ARMA,GARCH ,EWMA, ETS,隨機波動率SV模型對金融時間序列數據建模
R語言股票市場指數:ARMA-GARCH模型和對數收益率數據探索性分析
R語言多元Copula GARCH 模型時間序列預測
R語言使用多元AR-GARCH模型衡量市場風險
R語言中的時序列分析模型:ARIMA-ARCH / GARCH模型分析股票價格
R語言用Garch模型和回歸模型對股票價格分析
GARCH(1,1),MA以及歷史模擬法的VaR比較
matlab估計arma garch 條件均值和方差模型
R語言ARMA-GARCH-COPULA模型和金融時間序列案例