金融风险管理:风险价值VaR和局部均值ES的度量

如题所述

第1个回答  2022-06-16

风险是与收益相对应的概念,正是因为市场具有波动性,既有获得收益的可能,也有可能造成损失的可能,造成损失的可能就是风险。在风险管理当中我们看重的是风险,而风险的来源是 不确定性 ,也即是 波动 。虽然是不确定性,但是假如我们给定一定的假设,建立一套模型,可以在某种程度上理解风险出现的可能性以及对我们造成的影响,不一定能避免风险,但是能够增加对它的理性认识。有三个问题是我们要思考的:

关于第一个问题在上小节已经说过,那么说一下如何测度风险。风险度量工具常用有:

VaR指的是在一定置信区间内和一定时间内的 最大损失金额
举个例子。某个银行发行某一种基金或者资产组合,它在1天期限内的99%的风险度量VaR为6000万元。
关于这点可以有以下三种理解:

绘制概率密度图

上图画的是一个标准正态分布分布,从-3到3.
其中95%的置信区间对应的分位点即是VaR值,所以VaR值是相对于没有损失风险的一个分位数。
绘制累积分布函数

VaR有自身的缺点,不满足次可加性原则(关于次可加性我还是不是很理解),所以没有办法计算资产组合的VaR值。同时对于尾部的刻画,我们一无所知,也就是我们关心的是置信区间里面的事,但是对于万一我们确实损失值出现在了置信区间以外的话,这个损失的尾部分布是如何的呢?期望又是如何?这点VaR没有办法告诉我们,但是ES可以弥补以上两个缺点。

ES是指损失超过了VaR以后,尾部损失的一个 期望值 。计算公式如下:

照理来说,给定一定的置信区间和时间T,对照着正态分布的表格应该可以查找出对应的VaR值。但实际上收益率的分布并不满足正态分布,但是模型的作用并不是反映出细枝末节,而是给定一定的前提假设,这个模型能够有多大程度能够接近现实?

对于一个投资组合,Delta-normal方法的前提假设有两个:

从以上这个假设我们知道了 资产的收益率组合是满足正态分布的 ,而我们要求VaR,根据概念就是把这个 正态分布的分位数 找出来。我们知道,正态分布最重要的两个参数是均值还有标准差(或者方差),分别决定了分布的平移和拉伸压缩。在这里我们用标准差,不用方差,原因是标准差与均值具有相同的单位。在经济学或者风险管理当中,统计学当中的sigma通常叫做 波动率 ,实际上是一个意思。
假设我们有价值为1的资产组合,给定置信区间为c,收益率的均值为0(标准正态分布的收益率为0)那么计算未来一天的

在这里alpha是可以通过置信水平找出来的,关键在于波动率sigma怎么求?所以接下来的重点在如何通过历史估算投资资产收益率的波动率。

建模之前,我们需要了解的是,我们是根据历史来建模的,也就是认为过去历史是包含着一定的趋势的,并且这个趋势是会延续下去的(但我们知道随时可能会有新的冲击),并且我们要理解模型是为了刻画出数据的趋势的,真实数据与预测值之间会有残差,但真实数据扣除掉预测值之后留下的残差应该是随机波动的,也就是它们不会有相关性,这样才能说我们这个模型把数据的趋势挖掘得够彻底了。
假如收益率序列为rt,rt是由两部分组成的:本身的均值ut以及随机扰动项at。表示如下:

,其中ut是满足ARMA(p, q)模型的,也就是前面一项是p个滞后项的历史收益率的自回归项,后面一项是q个滞后项的移动平均项。如下表示:

ARCH(p)模型假设:
t时刻的扰动项

与ARCH模型不同的是,除了有扰动项的线性组合外,还有q项历史滞后项sigma的移动平均项。
GARCH(p, q)模型假设:

其中扰动项的因子varepsilon t范围是(0, 1),

RiskMetrics是JP Morgan提出的风险度量技术,这里只涉及简单形式。这个方法认为的是,对于t时刻的扰动项 ,给定t-1时刻的信息,那么 是满足正态分布的。其中,sigma的表示方法如下:

接下来我们要通过谷歌五年的历史数据预测未来一周内可能遭受的最大损失和损失的平均值。
首先获取数据:

然后我们接下来要用到rugarch这个工具包,可以通过install.packages()这个方法来安装。

接下来我们将损失变量求出来,把负对数收益率百分比化后作为损失变量

建模包括两部分:均值方程和波动方程。均值方程是满足ARMA(p, q)模型,因此要进行建立ARMA(p, q)模型一般的步骤:

对于波动方程则首先要检验ARCH效应,也即是检验残差项是否二次相关。

在这里说明一下,其实我们做了这么多,都是在提纯 相关性 ,ARMA刻画的是线性相关,而GARCH刻画的是非线性相关性。我们在 不断地剔除掉相关性 ,这样当相关性被完全剔除掉之后,剩下的就是随机波动的白噪声,比如在这里最后的ARCH模型建立完之后最后一个要做的就是扣除掉残差的残差后,是否剩下来的白噪声是满足一定的分布(比如GARCH就要求满足正态分布,只有这样,我们才能相信这样的白噪声是天然就存在的噪音,没有包含主要信息)。我们在前面建立了ARMA模型之后,剔除的是线性相关性,但是剩下来跟均值的差(也就是差异)是一个波动,根据我们上面提到的GARCH模型,它是可能存在着二次序列相关的,所以我们在GARCH模型建模的时候,相当于对这部分波动进行二次相关性的拟合(跟ARMA建模是一样的操作),然后再检验上一步ARMA的'残差'的残差是否还具有相关性,如果没有了,就说明相关性刻画完全了,否则还得重新选择参数,建立更好的GARCH模型去拟合这部分残差。然后最后扣除所有相关性到最后,就是白噪声了,要看这个白噪声是否真的那么无辜,所以就看它是否满足正态分布。
在这里的话,其实收益率的自相关性是十分微弱的(否则人人都可以轻松预测套利),所以就不必建立ARMA模型,直接以算术平均值来代替均值方程,接下来会重点建立GARCH模型。

我们直接运用GARCH(1, 1)模型,关于模型的选择一般p,q不超过2,关于模型选择和检验这里不做探讨。

我们可以看到我们的ugarch模型当中的均值方程的参数mean.model设置的阶次p,q为(0, 0),并且包含了均值项,说明我们这里以简单的算术平均值作为均值方程。variance.model的波动方程的阶次p, q设为(1, 1),然后根据历史损失率来建模,向前5步预测一周的情况,设置n.ahead=5。

输出结果

,然后我们就可以计算VaR还有ES。

输出结果

这就说明在95%的置信水平下,5天里面最大可能损失不超过¥1000000 x 4.755209% =¥4755209,发生损失的均值为¥1000000 x 5.963223% =¥5963223
在这里我多补充一下,原本有点不太理解ES的计算,我们在这里仔细看一下其实qnorm(0.95)就是返回95%置信水平下的分位数,dnorm函数则是返回这个分位数下的密度概率,0.05则是尾部的累积概率(可以理解为95%置信水平之后所有可能发生的损失值,也就是左边的那块面积),所以人如其名,尾部均值就是求在0.95对应的分位点下的概率与对应的损失大小占总的左边的那块面积的大小(可以理解为最终发生的损失既跟发生的概率有关也跟该概率下发生损失的大小有关)。

作为一个整体,其实我们也可以先预测1天的sigma,然后乘以sqrt(5),结果稍微有些不同。

在这里RiskMetrics的建模方式和GARCH的建模方式是相同的,不同的在于要选择参数(p, q)为(1, 1),并且没有漂移项alpha0,在模型的参数model选择'igarch'即可。

输出结果

这就说明在95%的置信水平下,5天里面最大可能损失不超过¥1000000 x 3.828855% =¥ 3828855,发生损失的均值为¥1000000 x 4.801539% =¥4801539
在这里的计算结果与GARCH模型预测的结果是有差异的,说明模型和参数(p, q)的选择对计算结果是有影响的。

在这篇文章当中,我们介绍了VaR和ES的概念,GARCH模型,ARCH模型以及RiskMetrics方法计算VaR和ES的方法和流程,关键点在于对波动率的拟合,除了要知道怎么计算,还要知道什么时候能用这个模型。

相似回答