R語言風(fēng)險(xiǎn)價(jià)值VaR(Value at Risk)和損失期望值ES(Expected shortfall)的估計(jì)|附代
全文鏈接:http://tecdat.cn/?p=15929
最近我們被客戶要求撰寫關(guān)于風(fēng)險(xiǎn)價(jià)值的研究報(bào)告,包括一些圖形和統(tǒng)計(jì)輸出。
風(fēng)險(xiǎn)價(jià)值VaR和損失期望值ES是常見的風(fēng)險(xiǎn)度量
首先明確:
時(shí)間范圍-我們展望多少天?
概率水平-我們怎么看尾部分布?
在給定時(shí)間范圍內(nèi)的盈虧預(yù)測分布,示例如圖1所示。??
圖1:預(yù)測的損益分布?

給定概率水平的預(yù)測的分位數(shù)。
圖2:帶有分位數(shù)的預(yù)測損益分布?

超出分位數(shù)的尾部。
圖3:帶有分位數(shù)和尾部標(biāo)記的預(yù)測損益分布?

點(diǎn)擊標(biāo)題查閱往期內(nèi)容

R語言基于ARMA-GARCH-VaR模型擬合和預(yù)測實(shí)證研究分析案例

左右滑動查看更多

01

02

03

04

方法
風(fēng)險(xiǎn)值(VaR)是在所選概率水平下預(yù)測分布分位數(shù)的負(fù)數(shù)。因此,圖2和3中的VaR約為110萬元。
損失期望值(ES)是超出VaR的尾部預(yù)期值的負(fù)值(圖3中的黃金區(qū)域)。因此,它總是比相應(yīng)的VaR大。
別名
損失期望值
損失期望值有很多別名:
條件風(fēng)險(xiǎn)價(jià)值(CVaR)
平均短缺
平均超額損失
我發(fā)現(xiàn)“處于風(fēng)險(xiǎn)中的條件價(jià)值”令人困惑。我可以看到人們認(rèn)為在一定條件下它是一種風(fēng)險(xiǎn)價(jià)值,而不是超出風(fēng)險(xiǎn)價(jià)值的預(yù)期損失。
平均超額損失似乎是最具描述性的名稱。
在上方,我們看到一個(gè)帶有多個(gè)名稱的概念。在下面,我們看到一個(gè)具有多個(gè)概念的名稱。
概率等級
當(dāng)我說5%時(shí),有人說95%。其實(shí)我們都是在處理尾部,這意味著(在我的術(shù)語中)肯定少于50%。
縮略語
“風(fēng)險(xiǎn)價(jià)值”的縮寫有可能與其他兩個(gè)概念混淆:
方差
向量自回歸
所有這些都可以避免與大寫約定沖突:
VaR:風(fēng)險(xiǎn)價(jià)值
var:方差
VAR:向量自回歸
估算
初始成分
有兩種初始成分:
投資組合中的資產(chǎn)
所涉及資產(chǎn)的價(jià)格歷史
衍生成分
投資組合加上當(dāng)前價(jià)格得出投資組合權(quán)重。
價(jià)格歷史記錄矩陣用于獲取退貨歷史記錄矩陣。
給定投資組合的回報(bào)歷史記錄,可以通過多種方式獲得預(yù)測分布:
擬合假設(shè)分布
模擬(使用一段時(shí)間內(nèi)的經(jīng)驗(yàn)分布)
總體預(yù)測
梯度模擬
如果假設(shè)正態(tài)分布,則可以估計(jì)標(biāo)準(zhǔn)偏差以獲得預(yù)測分布。如果假設(shè)t分布,則還需要估計(jì)自由度或假設(shè)自由度。
通常被稱為模擬方法的方法實(shí)際上只是使用一些特定數(shù)量的投資組合收益的經(jīng)驗(yàn)分布。
使用單變量garch模型可以很好地估算VaR和ES。
R語言
對于VaR和ES ,R語言是非常合適的環(huán)境。
填充區(qū)域
您可能想知道如何填充圖中的區(qū)域,如圖3所示。竅門是使用該polygon
函數(shù)。
?????plot(xseq,?pd,?type="l",?col="steelblue",?lwd=3,?????????yaxt="n",?ylab="",?????????xlab="Predicted?Profit/Loss?(millions?of?dollars)")????abline(v=qnorm(.05,?mean=.5,?sd=1),?lty=2,?lwd=3)?????polygon(c(xseqt,?max(xseqt)),?c(dnorm(xseqt,?????????mean=.5,?sd=1),?0),?col="gold",?border=NA)????lines(xseq,?pd,?type="l",?col="steelblue",?lwd=3)????abline(h=0,?col="gray80",?lwd=2)

投資組合方差計(jì)算
給定方差矩陣和權(quán)重向量的R命令來獲得投資組合方差:
weight?%*%?varianceMatrix?%*%?weight
假設(shè)權(quán)重向量與方差矩陣完全對齊。
weight?%*%?varianceMatrix[names(weight),????names(weight)]?%*%?weight
風(fēng)險(xiǎn)價(jià)值和損失期望值的估計(jì)
評估風(fēng)險(xiǎn)價(jià)值和損失期望值的簡介,以及使用R進(jìn)行估算 。
基本?
風(fēng)險(xiǎn)價(jià)值(VaR)和預(yù)期短缺(ES)始終與投資組合有關(guān)。
您需要兩種基本成分:
投資組合
所涉及資產(chǎn)的價(jià)格歷史
這些可以用來估計(jì)市場風(fēng)險(xiǎn)。價(jià)格歷史記錄中可能不包含其他風(fēng)險(xiǎn),例如信用風(fēng)險(xiǎn)。
多元估計(jì)
當(dāng)我們從資產(chǎn)級別開始時(shí),VaR和ES在投資組合級別上都是一個(gè)風(fēng)險(xiǎn)數(shù)字。一種方法是估計(jì)資產(chǎn)收益的方差矩陣,然后使用投資組合權(quán)重將其折疊為投資組合方差。
單變量估計(jì)
通過投資組合的單個(gè)時(shí)間序列收益(現(xiàn)在是該投資組合),估算更為簡單。
我們可以通過將投資組合中資產(chǎn)的簡單收益矩陣乘以投資組合權(quán)重的矩陣來獲得此信息。
R1?<-?assetSimpRetMatrix?%*%?portWts
或 :
R1?<-?assetSimpRetMatrix[,?names(portWts)]?%*%?portWts
R1
上面計(jì)算的對象持有投資組合的(假設(shè)的)簡單收益。
r1?<-?log(R1?+?1)
當(dāng)然,還有其他選擇,但是一些常用方法是:
歷史的(使用最近一段時(shí)間內(nèi)的經(jīng)驗(yàn)分布)
正態(tài)分布(根據(jù)數(shù)據(jù)估算參數(shù))并使用適當(dāng)?shù)姆治粩?shù)
t分布(通常假設(shè)自由度而不是估計(jì)自由度)
擬合單變量garch模型并提前進(jìn)行模擬
R分析
以下是示例,其中spxret11
包含2011年標(biāo)準(zhǔn)普爾500指數(shù)每日對數(shù)收益的向量。因此,我們將獲得2012年第一天的風(fēng)險(xiǎn)度量(收益)。
>??"historical")???????????[,1]VaR?-0.02515786>?"gaussian")??????????[,1]VaR?-0.0241509>??"gaussian"????????????[,1]VaR?-0.03415703>??"historical")??????????[,1]ES?-0.03610873>??"gaussian")??????????[,1]ES?-0.03028617
如果第一個(gè)參數(shù)是矩陣,則每一列都可以視為投資組合中的資產(chǎn)。
no?weights?passed?in,?assuming?equal?weighted?portfolio$MVaR???????????[,1][1,]?0.02209855$contributionConvertible?Arbitrage????????????CTA?Global??????????0.0052630876?????????-0.0001503125?Distressed?Securities??????Emerging?Markets??????????0.0047567783??????????0.0109935244?Equity?Market?Neutral??????????0.0012354711?$pct_contrib_MVaRConvertible?Arbitrage????????????CTA?Global???????????0.238164397??????????-0.006801916?Distressed?Securities??????Emerging?Markets???????????0.215252972???????????0.497477204?Equity?Market?Neutral???????????0.055907342
風(fēng)險(xiǎn)價(jià)值的歷史估計(jì)
這是用于風(fēng)險(xiǎn)價(jià)值的歷史估計(jì)的簡單函數(shù)的定義:
VaRhistorical?<-?function(returnVector,?prob=.05,?????notional=1,?digits=2)?{??if(prob?>?.5)?prob?<-?1?-?prob??ans?<-?-quantile(returnVector,?prob)?*?notional??signif(ans,?digits=digits)}
投資組合,例如:
>?VaRhistorical(spxret11,?notional=13e6)????5%?330000
損失期望值?:
EShistorical?<-?function(returnVector,?prob=.05,?????notional=1,?digits=2)?{
可以這樣使用:
>?EShistorical(spxret11,?notional=13e6)[1]?470000
因此,風(fēng)險(xiǎn)價(jià)值為? 330,000,損失期望值為 470,000。
正態(tài)分布
稍后會有一個(gè)更好的版本(從統(tǒng)計(jì)意義上來說),但是這是一種假設(shè)正態(tài)分布來獲得“風(fēng)險(xiǎn)價(jià)值”的簡單方法:
用法如下:
>?VaRnormalEqwt(spxret11,?notional=13e6)[1]?310000>?VaRnormalEqwt(spxret11,?notional=13e6,?+?????expected.return=0)[1]?310000
在這種情況下,計(jì)算損失期望值有點(diǎn)復(fù)雜,因?yàn)槲覀冃枰业轿膊康钠谕怠?/p>
ESnormalEqwt?<-?function(returnVector,?prob=.05,?????notional=1,?expected.return=mean(returnVector),?????digits=2){??ans?<-?-tailExp?*?notional??signif(ans,?digits=digits)
這個(gè)例子的結(jié)果是:
>?ESnormalEqwt(spxret11,?notional=13e6)[1]?390000
一個(gè)更好的辦法是用指數(shù)平滑得到的波動性:
VaRnormalExpsmo?<-?function(returnVector,?prob=.05,??????notional=1,?expected.return=mean(returnVector),??????lambda=.97,?digits=2){??signif(ans,?digits=digits)
其中pp.exponential.smooth
取自“指數(shù)衰減模型”。
>?VaRnormalExpsmo(spxret11,?notional=13e6)[1]?340000
t分布
VaRtExpsmo?<-?function(returnVector,?prob=.05,?????notional=1,?lambda=.97,?df=7,?digits=2){??if(prob?>?.5)?prob?<-?1?-?prob
結(jié)果是:
>?VaRtExpsmo(spxret11,?notional=13e6)2011-12-30?????340000

本文摘選?《?R語言風(fēng)險(xiǎn)價(jià)值VaR(Value at Risk)和損失期望值ES(Expected shortfall)的估計(jì)?》?,點(diǎn)擊“閱讀原文”獲取全文完整資料。
點(diǎn)擊標(biāo)題查閱往期內(nèi)容
Copula估計(jì)邊緣分布模擬收益率計(jì)算投資組合風(fēng)險(xiǎn)價(jià)值VaR與期望損失ESmatlab使用Copula仿真優(yōu)化市場風(fēng)險(xiǎn)數(shù)據(jù)VaR分析R語言中的時(shí)間序列分析模型:ARIMA-ARCH / GARCH模型分析股票價(jià)格GARCH(1,1),MA以及歷史模擬法的VaR比較R語言風(fēng)險(xiǎn)價(jià)值:ARIMA,GARCH,Delta-normal法滾動估計(jì)VaR(Value at Risk)和回測分析股票數(shù)據(jù)
Matlab正態(tài)分布、歷史模擬法、加權(quán)移動平均線 EWMA估計(jì)風(fēng)險(xiǎn)價(jià)值VaR和回測標(biāo)準(zhǔn)普爾指數(shù) S&P500時(shí)間序列
R語言極值理論 EVT、POT超閾值、GARCH 模型分析股票指數(shù)VaR、條件CVaR:多元化投資組合預(yù)測風(fēng)險(xiǎn)測度分析
R語言GARCH-DCC模型和DCC(MVT)建模估計(jì)
Python 用ARIMA、GARCH模型預(yù)測分析股票市場收益率時(shí)間序列
R語言中的時(shí)間序列分析模型:ARIMA-ARCH / GARCH模型分析股票價(jià)格
R語言ARIMA-GARCH波動率模型預(yù)測股票市場蘋果公司日收益率時(shí)間序列
Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模擬進(jìn)行股價(jià)預(yù)測
R語言時(shí)間序列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)行股價(jià)預(yù)測
使用R語言對S&P500股票指數(shù)進(jìn)行ARIMA + GARCH交易策略
R語言用多元ARMA,GARCH ,EWMA, ETS,隨機(jī)波動率SV模型對金融時(shí)間序列數(shù)據(jù)建模
R語言股票市場指數(shù):ARMA-GARCH模型和對數(shù)收益率數(shù)據(jù)探索性分析
R語言多元Copula GARCH 模型時(shí)間序列預(yù)測
R語言使用多元AR-GARCH模型衡量市場風(fēng)險(xiǎn)
R語言中的時(shí)間序列分析模型:ARIMA-ARCH / GARCH模型分析股票價(jià)格
R語言用Garch模型和回歸模型對股票價(jià)格分析
GARCH(1,1),MA以及歷史模擬法的VaR比較
matlab估計(jì)arma garch 條件均值和方差模型R語言POT超閾值模型和極值理論EVT分析
R語言極值推斷:廣義帕累托分布GPD使用極大似然估計(jì)、輪廓似然估計(jì)、Delta法
R語言極值理論EVT:基于GPD模型的火災(zāi)損失分布分析
R語言有極值(EVT)依賴結(jié)構(gòu)的馬爾可夫鏈(MC)對洪水極值分析
R語言POT超閾值模型和極值理論EVT分析
R語言混合正態(tài)分布極大似然估計(jì)和EM算法
R語言多項(xiàng)式線性模型:最大似然估計(jì)二次曲線
R語言Wald檢驗(yàn) vs 似然比檢驗(yàn)
R語言GARCH-DCC模型和DCC(MVT)建模估計(jì)
R語言非參數(shù)方法:使用核回歸平滑估計(jì)和K-NN(K近鄰算法)分類預(yù)測心臟病數(shù)據(jù)
matlab實(shí)現(xiàn)MCMC的馬爾可夫轉(zhuǎn)換ARMA - GARCH模型估計(jì)
R語言基于Bootstrap的線性回歸預(yù)測置信區(qū)間估計(jì)方法
R語言隨機(jī)搜索變量選擇SSVS估計(jì)貝葉斯向量自回歸(BVAR)模型
Matlab馬爾可夫鏈蒙特卡羅法(MCMC)估計(jì)隨機(jī)波動率(SV,Stochastic Volatility) 模型
Matlab馬爾可夫區(qū)制轉(zhuǎn)換動態(tài)回歸模型估計(jì)GDP增長率R語言極值推斷:廣義帕累托分布GPD使用極大似然估計(jì)、輪廓似然估計(jì)、Delta法