@fanxy
2020-11-23T09:38:44.000000Z
字数 10169
阅读 11817
金融数据 樊潇彦 复旦大学经济学院
下图来自2011年国际清算银行年报(中文版),从中可以看到在雷曼兄弟倒闭之前,市场信号已经有所反映,但最终还是没能有效预测和防范金融危机的爆发。

2008年金融危机之后,2010年7月美国国会通过了《多德-弗兰克华尔街改革与消费者保护法案》(Dodd-Frank Act),这是自上世纪30年代以来最全面的金融改革法案。除此之外,《多德-弗兰克法案》还创建了金融稳定监督委员会(FSOC,简称金监会)和金融研究办公室(OFR,简称金研办),形成了西方发达国家监管和防范系统性金融风险的标准组织架构。其中金监会有三大职责:
但所有政策层面的工作都必须以理论层面对系统性风险的深入理解,以及实证层面对系统性风险的准确及时的度量为基础,因此对系统性风险的建模、分析和预测已经成为金研办的主要努力方向。
Benoit et al.(2017)回顾了过去35年来发表的系统性风险方面的220篇论文,文献之间的引用关系如下图所示(其中圆圈的大小表示被其他文章引用的次数,列出了被引用次数最多的34篇论文):

1. 按照研究主题,Benoit et al.(2017)将系统性风险的文献分为四个类别:

2. 按照分析方法和数据性质的差异,把文献分为两类:
弗雷克萨斯等(2017)指出,识别和量化系统性风险的各种渠道一直是个难题,现有的系统性风险的测度尚处于早期阶段,我们不仅缺乏合适的系统性风险测度方法,也缺少进行正确测量所必须的数据。虽然目前监管者、学者和从业者尚未就如何定义和度量系统性风险达成广泛的共识,但仍有一些普遍接受的准则:
下面我们简要介绍SES,SRISK和∆CoVaR三种最常用的系统性风险统计指标,其他基于金融网络的结构性度量指标将在第十五、基于大数据的度量方法在第十六讲中介绍。
1. Acharya et al.(2017):MES和SES
Acharya et al.(2017)在他们2010年的工作论文中提出,市场整体的期望损失(ES)是个股损失的加权:
2. Brownlees and Engle(2017):SRISK
在Acharya et al.(2017)的基础上,Brownlees and Engle(2017)提出公司 的系统性风险(Systemic Risk Measure,SRISK)指标,衡量该公司在金融危机中的预计资本损失:
3. Adrian and Brunnermeier(2016):
在个股在险值的基础上,Adrian and Brunnermeier(2016)提出变化的条件在险值(the Delta Conditional Value-at-Risk, ΔCoVaR)指标。给定个股的在险值 ,定义市场 对个股 的条件在险值 ,即如果个股大跌市场也大跌的话,那么跌幅度会是多少:
1. 准备工作
setwd("D:\\...\\Ch14")rm(list=ls())install.packages("rmgarch","plotrix")## 调用library(rmgarch)library(rugarch)library(tidyverse)library(readxl)library(ggplot2)
以下是对Benoit et al.(2017)原始数据的处理,不用运行:
## 文中说时间为2000.1.3至2010.12.31,任意下载一个金融数据,取其时间标记library(quantmod)loadSymbols("MSFT", from ="2000-01-03", to = "2011-01-02")data=read_xls("Data_RMC.xls")%>%rename(rm=index,ri=asset)%>% # 参见 main_script.m 指标说明mutate(time=index(MSFT),rm=rm-mean(rm),ri=ri-mean(ri))%>% # 去除均值,参见 call_ftc.m %demeaned returnsselect(time,rm:mv)save(data,file="data.RData")
下载数据:Ch14_data.RData,读取并做图:
load("Ch14_data.RData")str(data)# time: from 2000.1.3 to 2010.12.31, daily data# rm: Returns of the market (system)# ri: Returns of the firm's equity# ltq: Total amount of liabilities# mv: Market Capitalisationlibrary(xts)ret=xts(data[,2:3], order.by=data$time)# 作图plot(ret$rm, main="Returns of the market (system)")plot(ret$ri, main="Returns of the firm's equity")plot(coredata(ret$rm), coredata(ret$ri), xlab="rm", ylab="ri",type="p", pch=16, lwd=2, col="blue")abline(h=0,v=0)
2. DCC-GARCH模型估计
以下参照Eric Zivot 课程程序:
library(rugarch)library(rmgarch)# univariate normal GARCH(1,1) for each seriesgarch11.spec = ugarchspec(mean.model = list(armaOrder = c(0,0)),variance.model = list(garchOrder = c(1,1),model = "gjrGARCH"),distribution.model = "std") # "norm", "sstd"# dcc specification - GARCH(1,1) for conditional correlationsdcc.garch11.spec = dccspec(uspec = multispec( replicate(2, garch11.spec) ),dccOrder = c(1,1),distribution = "mvnorm")dcc.garch11.specdcc.fit = dccfit(dcc.garch11.spec, data = ret)dcc.fit # show dcc fit# Make a plot selection (or 0 to exit):## 1: Conditional Mean (vs Realized Returns)# 2: Conditional Sigma (vs Realized Absolute Returns)# 3: Conditional Covariance# 4: Conditional Correlation# 5: EW Portfolio Plot with conditional density VaR limitsplot(dcc.fit, which=2)plot(dcc.fit, which=4)# class(dcc.fit)# slotNames(dcc.fit)# names(dcc.fit@mfit) # many extractor functions# names(dcc.fit@model)ht_m=sqrt(dcc.fit@mfit$H[1,1,]) # market conditional volatilityplot(ht_m,type="l")ht_i=sqrt(dcc.fit@mfit$H[2,2,]) # asset conditional volatilityplot(ht_i,type="l")rho=rcor(dcc.fit)[1,2,] # conditional correlationplot(rho,type="l")
3. 计算MES、SRISK和dCoVaR
以下根据 Sylvain Benoit 提供的 Matlab 程序改写:
alpha = 0.05 # Risk level of our VaRk = 0.08 # Prudential Capital Required (k*LTQ)# Conditional Asset VaR from dcc with Empirical Quantile at alphaAsset_VaR = ht_i*quantile(data$ri/ht_i,alpha)# Conditional Market VaR from dcc with Empirical Quantile at alphaMarket_VaR = ht_m*quantile(data$rm/ht_m,alpha)# Conditional betaBeta = rho*ht_i/ht_mc = quantile(data$rm,alpha) # HS VaR (nonparametric)## MES、LRMES和SRISKfct_MES=function(data,c,ht_m,ht_i,rho){em=data$rm/ht_m # market first columnxi=(data$ri/ht_i-rho*em)/sqrt(1-rho^2) # asset second columnbwd=nrow(data)^(-0.2) # Scaillet's bwd p21K1=sum(em*pnorm((c/ht_m-em)/bwd))/sum(pnorm(c/ht_m-em)/bwd)K2=sum(xi*pnorm((c/ht_m-em)/bwd))/sum(pnorm(c/ht_m-em)/bwd)MES = (ht_i*rho*K1) + (ht_i*sqrt(1-rho^2)*K2)return(-MES)}MES=fct_MES(data,c,ht_m,ht_i,rho)plot(MES,type="l")LRMES = 1-exp(-18*MES) # without simulationSRISK = k*data$ltq - (1-k)*(1-LRMES)*data$mvplot(SRISK,type="l")## 两种方法计算 Delta_CoVaRgam = rho*ht_m/ht_iDelta_CoVaR_dcc = - gam *(Asset_VaR-median(data$ri))mean(Delta_CoVaR_dcc) # Average DCoVaR(DCC)plot(Delta_CoVaR_dcc,type="l")library(quantreg)CoVaR_rq=rq(data$ri~data$rm,alpha) # Quant with constantgam_quant = CoVaR_rq$coefficients[2]Delta_CoVaR_quant = - gam_quant*(Asset_VaR-median(data$ri))mean(Delta_CoVaR_quant) # Average DCoVaR (quantile regression)plot(Delta_CoVaR_quant,type="l")## 比较MES和DCoVaR(DCC)com_all=data.frame(time=data$time,MES=MES, Delta_CoVaR_dcc=Delta_CoVaR_dcc)library(plotrix)twoord.plot(lx = com_all$time, ly = com_all$MES,rx = com_all$time, ry = com_all$Delta_CoVaR_dcc,main = "MES vs. DCoVaR(DCC)", xlab ="",ylab = "MES", rylab = "DCoVaR(DCC)", type = c("l","l"))
下图是中国人民银行在《中国金融稳定报告(2008)》中提出的管理框架:

不难看出,我国对系统性金融风险的监管,主要包括事先加强制度建设和事后进行应对性管理两个方面,但对于事先进行有效可信的预测,以及事后制定科学量化的救助方案等具体操作层面,仍然缺乏坚实有效的科研支持。
目前我国学者在系统性风险方面的研究主要包括以下几方面: