VaR模型中的参数选择和计算细节
1.选择合适的参数
在计算VaR之前,需要先明确所计算VaR的参数。最重要的两个参数为时间期限和置信度,前者对应所需衡量风险的时间段,后者对应风险的容忍度。
1.1.选取时间期限
在选取时间范围有两个考虑因素
- 所关注的风险期限:某些公司更关注于短期风险,使用较短的时间范围。另外一些公司并不太关心短期的波动,则使用较长的VaR时间范围。
- 交易活跃程度:一般来说,公司资产的变化程度越大,其选取的时间范围越小。对于一般商业银行,通常只看未来一天的VaR;投资公司则关注一周到一个月的期限,而一般公司则会使用一个季度甚至一年的时间范围。
某些公司对不同资产类型使用不同的VaR时间范围,比如不流通的资产的时间范围更长一点。但不推荐这么做,因为:
- 衡量流动性风险的理论有很大进步,使用较长时间的VaR是一个笨拙的方法,而且容易将流动性风险和市场风险混为一谈。
- 对不同的资产使用不同的VaR参数,在更高层面无法整合,也使得在不同资产之间无法进行比较。
1.2.选取置信度
置信度取决于对于损失的容忍度。商业银行和保险企业的损失容忍度较低,而投资公司的容忍度要高一些。一般来说,对于较短的时间期限(1天或一周):商业银行使用99%,其它一般机构使用95%。
另一种定量的方法为,VaR选取置信水平,使得损失超过该值的可能性等于目标违约概率。比如,公司希望将评级维持在Aaa级,穆迪的Aaa级公司对应1年内违约的概率为0.01%,此时1年期VaR选取置信水平为99.99%。
美国的银行通常使用99.98%的置信水平(1年期VaR)对其经济资本进行衡量,等同于目标评级水平为Aa。
2.计算细节
在前面只提到了计算VaR的方法和框架,这里补充一些重要的细节。有了这些细节,再加上定价公式,至少能够写出一些简单的VaR计算程序。
2.1.收益率:算术收益率还是连续收益率
对于一个因子有两种收益率方法:
- 算术收益率:假设期末价格为
,期初价格为
,那么收益率为
。 - 连续收益率:假设期末价格为
,期初价格为
,那么收益率为
。
算术收益率即日常理解的收益率。为什么还需要连续收益率的概念呢,因为
- 它对于时间是简单叠加的:假设第一期的连续收益率为
,第二期为
,那么两期合并收益率为
。 - 一般来说,连续收益率是正态分布。连续收益率可分解为各个期间的连续收益率之和,假设各个期间互相独立,根据大数定律,连续收益率收敛于正态分布。而算术收益率不是正态分布,最直接的理由是,算术收益率有下限-100%。
所以一般地,在模特卡洛模拟法中通常使用连续收益率,在计算损益额时再将连续收益率转化成算术收益率。
但算术收益率也有一个很好的优点:它对于横向是线性可加的,即组合的收益率等于各个因子的加权算术平均。所以参数法里使用算术收益率,并基于下面简单事实,可以认为算术收益率也符合正态分布:
当
时,
。
历史模拟法中无需假设收益率的分布,与这两种方法无关。
2.2.风险矩阵的计算方法
参数法和蒙特卡洛模拟法,在计算VaR之前,都需先估计风险矩阵,即各个风险因子之间的协方差矩阵。有几种方法计算该协方差矩阵,包括平均加权法、GARCH法、指数移动平均法和隐含法。
其中平均加权法是直接用过去历史一定期间内的样本计算方差;GARCH法是将方差(和协方差)视为一个GARCH过程,用最大似然法进行估算;隐含法则利用衍生产品内涵的波动率进行估算。在实际中最常用的是指数移动平均法。
指数移动平均法使用历史数据的加权平均和计算方差
,越近的历史数据所占用的权重越大:

其中
为因子收益,
为衰减因子,对应半衰期,表示经过多长时间,权重降低一半。半衰期越长(
越大),所得到的风险矩阵和VaR越稳定。RiskMetrics推荐日VaR使用
,周VaR使用
,分别对应半衰期10和21(半个月和一个月)。
使用移动指数平均法的另一个好处是:样本的长度对结果的影响较小。衰减因子为0.94时,99%的信息来源于最近的74
个样本;衰减因子为0.97时,99%的信息来源于最近的151个样本。
的选取和VaR的目的相关。在日常风险管理中,需要动态检测风险,VaR要能衡量当时市场状态,通常使用较短的半衰期。
但在监管中,由于VaR和风险资本相关,银行等机构需要根据VaR确定其风险资本,所以并不希望VaR变动过快,此时它们会选择使用较长的半衰期,或者直接使用历史法计算VaR。
2.3.历史法中考虑权重问题
如果使用固定区间比如一年的样本长度计算VaR,并且样本权重一样时,恰好位于样本区间前边的那个历史数据,将不包含在今天的VaR计算范围。如果那个边界数据为一个极端数据时,将对今天的VaR结果造成很大的影响。这让人难以琢磨而且非常荒谬。直观意义上看,某个单独的历史样本,特别是很久之前的样本,在计算过程中是否包含该样本,对结果应该影响较小。参数法和蒙特卡洛模拟法中引入了指数加权法处理这个问题,衰减因子使得每隔半衰期以外的历史样本权重降低一半,这样是否包含历史上某个极端样本,对结果的影响相对较小。
在历史法中,也可以对于不同时期的样本数据赋予不同的权重解决上述的问题。最简单的方法还是上面的衰减因子法,每隔半衰期的样本权重降低一半。但是,这种方法在历史法中不如用在风险矩阵方法里好。因为,历史法计算VaR值,本来就非常依赖于尾部的几个极端数据,其它样本数据都不会影响结果。衰减因子法会加剧该问题。
另一个处理历史场景的方法是:用波动率去调整历史场景。比如历史场景某因子收益率为1%,波动率为2%。目前波动率为3%,那么调整该场景下因子收益率为1.5%。该方法主要是基于波动率的稳定性,即假设短期内波动率保持同样的水平(同参数法一样)。
2.4.对风险矩阵的非正定性的处理
一个矩阵
是正定的,是指对于任何向量
,都有
;一个矩阵
是半正定的,是指对于任何向量
,都有
。有几种情况会导致非正定的风险矩阵,
- 如果计算风险矩阵的样本个数低于风险因子的数量,得到的协方差矩阵是半正定的。
- 因子的样本长度不一样时(比如因为样本数不够,因子1和因子2的协方差使用了100个样本数据,但因子1和因子3的协方差只使用了50个样本数据),得到的协方差矩阵可能是非正定的。
- 当分块计算风险矩阵(比如为了简化计算过程,不直接计算不同类型的因子之间的相关性,而直接定义为一个常数),并且不同块的计算方法不一样时,得到的协方差矩阵可能是非正定的。
- 对因子协方差进行压力测试时,需主动修改风险矩阵某些位置的值,使得风险矩阵不再是正定的。
上面第一种情况得到风险矩阵可以不做处理。后几种种情况导致的非正定风险矩阵会需要对负数开根号,这是不可能的。所以必须对非半正定的风险矩阵进行处理。
Correlation Stress Testing for Value-at-Risk: An Unconstrained Convex Optimization Approach这篇文章里描述了在上述第三种请款下,如何处理非正定的风险矩阵,在其概述部分也描述了前人的若干种方法。这些方法基本上都用到了最优化,而且是二次的。在条件允许的情况下,应该使用这些学术上的结果。但某些情况下,也可以采取近似的方法。比如,由于风险矩阵是实对称矩阵,它可以对角化:

其中,
为正交矩阵,
为对角矩阵。如果
非正定,
对角线上有负值。在处理时,将
对角线上的负值重设为0即可:

2.5.如何生成随机场景
模拟法的场景从风险矩阵中得到。假设风险矩阵
为
的半正定矩阵,那么可以生成因子场景为:

其中
,
为n元独立正态分布,
为场景的时间长度(相对于
)。
Q.E.D., ©zhiqiang, 2011.07.30。请参考右边的相关文章列表。


