|
qoiqpwqr 发表于 2012-3-12 01:08
dx.y是什么?
#参数设定
xi<-foreign.gpd$lower.par.ests[1]
beta<-foreign.gpd$lower.par.ests[2]
u<-foreign.gpd$lower.thresh
#x代表foreign,dx表示x的密度函数
dx<-function(x) (k/n)*(1/beta)*(1-xi*(x-u)/beta)^(-1-1/xi)
#dx.y表示f(x|y)是x关于y=us.VaR的密度函数
dx.y<-function(x)
dcopula(cop.bb7.fit,gpd.2p(x,foreign.gpd),gpd.2p(us.VaR,us.gpd))*dx(x)
#求解显著水平5%下的foreign的CoVaR
f<-function(x){
out <- 0*x
for(i in 1:length(x))
out<-integrate(dx.y,lower=-101,upper=x)$integral-0.05
out
}
CoVaR=uniroot(f,c(-100,0))$root
#显著水平从0.1-0.01变化时,%CoVaR值
pCoVaR=0
fq<-function(x,q){
out <- 0*x
for(i in 1:length(x))
out<-integrate(dx.y,lower=-101,upper=x)$integral-q
out
}
for(i in 1:10){
j=i/100
uVaR=gpd.2q(j,us.gpd)
fVaR=gpd.2q(j,foreign.gpd)
xi<-foreign.gpd$lower.par.ests[1]
beta<-foreign.gpd$lower.par.ests[2]
u<-foreign.gpd$lower.thresh
#x代表foreign,dx表示x的密度函数
dx<-function(x) (k/n)*(1/beta)*(1-xi*(x-u)/beta)^(-1-1/xi)
#dx.y表示f(x|y)是x关于y=us.VaR的密度函数
dx.y<-function(x)
dcopula(cop.bb7.fit,gpd.2p(x,foreign.gpd),gpd.2p(uVaR,us.gpd))*dx(x)
CoVaR=uniroot(fq,c(-100,0),q=j)$root
pCoVaR=(CoVaR-fVaR)/fVaR
}
|