Learn R Programming

AssetCorr (version 1.0.4)

intraBeta: Parametric Approach of botha2010implied;textualAssetCorr- Beta Distribution

Description

The intra asset correlation will be estimated by fitting a beta distribution onto the default rate time series, then calculating the Value-at-Risk (VaR) of this beta distribution and fit it to the theoretical VaR of the Vasicek distribution. The correlation parameter will be backed out numerically. Additionally, bootstrap and jackknife corrections are implemented.

Usage

intraBeta(d, n, Quantile=0.999,B = 0, DB=c(0,0), JC = FALSE,
CI_Boot, type="bca", plot=FALSE)

Arguments

d

a vector, containing the default time series of the sector.

n

a vector, containing the number of obligors at the beginning of the period over time.

Quantile

a number, indicating the desired confidence level of the Value-at-Risk.

B

an integer, indicating how many bootstrap repetitions should be used for the single bootstrap corrected estimate.

DB

a combined vector, indicating how many bootstrap repetitions should be used for the inner (first entry) and outer loop (second entry) to correct the bias using the double bootstrap.

JC

a logical variable, indicating if the jackknife corrected estimate should be calculated.

CI_Boot

a number, indicating the desired confidence interval if the single bootstrap correction is specified. By default, the interval is calculated as the bootstrap corrected and accelerated confidence interval (Bca).

type

a string, indicating the desired method to calculate the bootstrap confidence intervals. For more details see boot.ci. Studendized confidence intervals are not supported.

plot

a logical variable, indicating whether a plot of the single bootstrap density should be generated.

Value

The returned value is a list, containing the following components (depending on the selected arguments):

Original

Estimate of the original method

Bootstrap

Bootstrap corrected estimate

Double_Bootstrap

Double bootstrap corrected estimate

Jackknife

Jackknife corrected estimate

CI_Boot

Selected two-sided bootstrap confidence interval

bValues

Estimates from the bootstrap resampling

iValues

Estimates from the double bootstrap resampling- inner loop

oValues

Estimates from the double bootstrap resampling- outer loop

Details

As stated by botha2010implied;textualAssetCorr one can estimate the intra correlation by matching VaR of a parametrized beta distribution onto the VaR of the Vasicek distribution. To do so, the shape parameters (alpha and beta) of the beta distribution are estimated according to botha2010implied;textualAssetCorr. Afterwards, the VaR_Beta at the confidence level of Quantile will be estimated. In a third step, this VaR_Beta is matched with the theoretical VaR of the Vasicek distribution, given by vasicek1991;textualAssetCorr:

$$VaR_Vasicek= Phi((Phi^-1(PD)+sqrt(rho)*Phi^-1(Quantile))/sqrt(1-rho))$$

Since Quantile and the corresponding VaR_Beta is known, the intra correlation parameter can be backed out numerically. This estimator is sensitive to the chosen Quantile. botha2010implied;textualAssetCorr suggested to use Quantile=0.999, but for validation purposes one may choose different values of Quantile to infer information about the robustness of the correlation estimate.

If DB is specified, the single bootstrap corrected estimate will be calculated by using the bootstrap values of the outer loop (oValues).

References

botha2010impliedAssetCorr

chang2015doubleAssetCorr

efron1994introductionAssetCorr

gordy2000comparativeAssetCorr

vasicek1991AssetCorr

See Also

intraFMM, intraJDP1, intraJDP2 intraCMM, intraMLE, intraAMLE intraMode

Examples

Run this code
# NOT RUN {
set.seed(111)
d=defaultTimeseries(1000,0.3,20,0.01)
n=rep(1000,20)

IntraCorr=intraBeta(d,n)

#Jackknife correction
IntraCorr=intraBeta(d,n, JC=TRUE)

# }
# NOT RUN {
#Bootstrap correction with confidence intervals
IntraCorr=intraBeta(d,n, B=1000, CI_Boot=0.95 )

#Bootstrap correction with confidence intervals and plot
IntraCorr=intraBeta(d,n, B=1000, CI_Boot=0.95, plot=TRUE )

#Double Bootstrap correction with 10 repetitions in the inner loop and 50 in the outer loop
IntraCorr=intraBeta(D1,N1, DB=c(10,50))
# }
# NOT RUN {
# }

Run the code above in your browser using DataLab