Nothing
## ----setup, include=FALSE-----------------------------------------------------
library(knitr)
## -----------------------------------------------------------------------------
library(AssetCorr)
set.seed(111)
#number of obligors: 1000
#intra asset correlation: 0.3
#length of the default time series: 20
#probability of default: 0.01
D1=defaultTimeseries(1000,0.3,20,0.01)
N1=rep(1000,20)
## -----------------------------------------------------------------------------
intraAMM(D1,N1)
## -----------------------------------------------------------------------------
Output<-intraAMM(D1,N1, B=1000, CI_Boot = 0.95, plot=TRUE)
Output$Original
Output$Bootstrap
Output$CI_Boot
## -----------------------------------------------------------------------------
Output<-intraAMM(D1,N1, DB=c(100,100))
Output$Original
Output$Bootstrap
Output$Double_Bootstrap
## -----------------------------------------------------------------------------
intraAMM(D1,N1, JC=TRUE)
## -----------------------------------------------------------------------------
Output<-intraALL(D1,N1, B=500, plot=TRUE,Adjust = 0.0001, Estimator = c("AMM","FMM","CMM","JDP1","JDP2","AMLE") )
Output
## -----------------------------------------------------------------------------
library(mvtnorm)
set.seed(2)
#number of obligors: 1000
#intra asset correlation 1: 0.3
#intra asset correlation 2: 0.1
#inter correlation of the systematic factors: 0.5
#length of the default time series: 20
#probability of default: 0.01
Psi=rmvnorm(20,sigma=matrix(c(1,0.5,0.5,1),2))
PDcond1=pnorm((qnorm(0.01)-sqrt(0.3)*Psi[,1])/sqrt(1-0.3))
PDcond2=pnorm((qnorm(0.01)-sqrt(0.1)*Psi[,2])/sqrt(1-0.1))
D1=rbinom(20,1000,PDcond1)
D2=rbinom(20,1000,PDcond2)
N1=N2=rep(1000,20)
## -----------------------------------------------------------------------------
rho1=intraAMM(D1,N1)$Original
rho2=intraAMM(D2,N2)$Original
interCov(D1,N1,D2,N2,rho1,rho2)
## -----------------------------------------------------------------------------
#Single bootstrap Correction
rho1=intraAMM(D1,N1)$Original
rho2=intraAMM(D2,N2)$Original
Output<- interCov(D1,N1,D2,N2,rho1,rho2, B=1000, CI_Boot = 0.95, plot=TRUE)
Output$Original
Output$Bootstrap
Output$CI_Boot
#Double bootstrap correction
Output<- interCov(D1,N1,D2,N2,rho1,rho2, DB=c(100,100))
Output$Original
Output$Bootstrap
Output$Double_Bootstrap
#Furthermore, a Jackknife correction would be possible
## -----------------------------------------------------------------------------
#A general overview
Output<-interALL(D1,N1,D2,N2,rho1,rho2 ,B=100, plot=TRUE)
Output
## -----------------------------------------------------------------------------
#A general overview
library(mvtnorm)
set.seed(111)
NoO=1000 #Number of obligors in each sector
Years=20
AC=0.3
PD=0.01
#Calculate the conditional PDs:
Psi=rmvnorm(Years,sigma=matrix(c(1,0.5,0.5,0.5,1,0.5,0.5,0.5,1),3))
PDcond1=pnorm((qnorm(PD)-sqrt(AC)*Psi[,1])/sqrt(1-AC))
PDcond2=pnorm((qnorm(PD)-sqrt(AC/2)*Psi[,2])/sqrt(1-AC/2))
PDcond3=pnorm((qnorm(PD)-sqrt(AC*2)*Psi[,3])/sqrt(1-AC*2))
#Draw the default time series, depending on the conditional PDs
DTS=cbind(rbinom(Years,NoO,PDcond1),rbinom(Years,NoO,PDcond2),rbinom(Years,NoO,PDcond3))
N=matrix(NoO,nrow = Years,ncol = 3)
Output<-analyze_AssetCorr(DTS,N, B=100, Intra = c("AMM","FMM","CMM","JDP1"), Inter=c("Copula","Cov","JDP"))
#Furthermore, the analyze_AssetCorr function also proves single/double bootstrap
#and Jackknife corrections. Additionally, the confidence intervals
#can be estimated and visualized.
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.