您访问的页面找不回来了!
返回首页- 您感兴趣的信息加载中...
dd
2.1.2 计算aR值
#接下来我重新命名下改为loss,并每个值都转换成百分比的值loss
接下来我们知道了单日aR的值是2.072488%,也就是在95%置信水平下的波动率不会超过这个值,这个是单日的,如果是多日的,则要乘以sqrt(T),然后再乘以投资金额就可以了。当然也可以用5天为一个滚动窗口,求平均值以及求这个5天窗口形成的数据的分位数aR值,这样就不用乘以sqrt(T),但结果应该是有差别的。
2.1.3 计算ES值
ES是指当损失大于aR以后的损失均值,因此我们通过排序把95%置信区间以后的最大数筛选出来,然后求算术平均就可以了。
sloss
所计算的单日头寸ES为2.942944%。
2.2 蒙特卡罗模拟法
我们接下来试着用代码来建模预测步骤如下:
建立GARCH模型,预测出均值和方差方程
进行蒙特卡罗模拟其中蒙特卡罗模拟计算aR和ES的方法思路如下:
最终得到的数据点分布还是按照之前的95%分位点的方法去取得aR以及计算尾部均值ES。
2.2.1 建立GARCH模型
在这里我们加多一个参数distribution.model='std'表明标准化残差是满足t分布的。
spec3
我们之后还要用到这些参数来计算当天的方差->经过标准化t 学生分布转化后的残差->计算出当天的损失率的值->计算出5天损失率的总和我们先把这些参数都存储起来
mu
2.2.2 进行蒙特卡罗模拟
接下来要初始化一开始的数据值
#设置天数为一周,也就是5天t
#以init为起点,进行nround轮迭代for (j in 1:nround){ lt
#计算aR值aR2
idxaR2]#筛选出大于aR2值的索引ES3
以另外一种方法打印出ES的均值与排列后的尾部均值是一致的,说明结果比较靠谱。结果表明,用蒙特卡罗模拟法得到一周的aR值和尾部均值ES为4.376929%和5.841472%。也就是说在95%的置信水平下,未来一周最大损失率不超过4.376929%,万一发生95%外的损失均值为5.841472%。
三、总结
本文介绍了历史模拟法和蒙特卡罗模拟法计算aR和ES的实现,历史模拟法比较好理解,但是蒙特卡罗模拟法的流程需要花点心思研究下,并且不同模型的前提是不同的,要模型成立的前提条件决定使用什么样的模型。