Type: | Package |
Title: | Estimating Asset Correlations from Default Data |
Version: | 1.0.4 |
Date: | 2021-05-04 |
Author: | Maximilian Nagl [aut,cre], Yevhen Havrylenko [aut], Marius Pfeuffer [aut], Kevin Jakob [aut], Matthias Fischer [aut], Daniel Roesch [aut] |
Maintainer: | Maximilian Nagl <maximilian.nagl@ur.de> |
Description: | Functions for the estimation of intra- and inter-cohort correlations in the Vasicek credit portfolio model. For intra-cohort correlations, the package covers the two method of moments estimators of Gordy (2000) <doi:10.1016/S0378-4266(99)00054-0>, the method of moments estimator of Lucas (1995) https://jfi.pm-research.com/content/4/4/76 and a Binomial approximation extension of this approach. Moreover, the maximum likelihood estimators of Gordy and Heitfield (2010) http://elsa.berkeley.edu/~mcfadden/e242_f03/heitfield.pdf and Duellmann and Gehde-Trapp (2004) http://hdl.handle.net/10419/19729 are implemented. For inter-cohort correlations, the method of moments estimator of Bluhm and Overbeck (2003) <doi:10.1007/978-3-642-59365-9_2>/Bams et al. (2016) https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2676595 is provided and the maximum likelihood estimators comprise the approaches of Gordy and Heitfield (2010)/Kalkbrener and Onwunta (2010) <ISBN: 978-1906348250> and Pfeuffer et al. (2020). Bootstrap and Jackknife procedures for bias correction are included as well as the method of moments estimator of Frei and Wunsch (2018) <doi:10.21314/JCR.2017.231> for auto-correlated time series. |
License: | GPL-3 |
Imports: | VineCopula, mvtnorm, boot, numDeriv, mvQuad, ggplot2, Rdpack,knitr,qpdf |
Suggests: | markdown |
VignetteBuilder: | knitr |
RdMacros: | Rdpack |
NeedsCompilation: | no |
Packaged: | 2021-05-05 14:53:18 UTC; LocalAdmin |
Repository: | CRAN |
Date/Publication: | 2021-05-05 15:30:02 UTC |
AssetCorr
Description
Functions for the estimation of intra- and inter-cohort correlations in the Vasicek credit portfolio model. For intra-cohort correlations, the package covers the two method of moments estimators of Gordy (2000) <doi:10.1016/S0378-4266(99)00054-0>, the method of moments estimator of Lucas (1995) <https://jfi.pm-research.com/content/4/4/76> and a Binomial approximation extension of this approach. Moreover, the maximum likelihood estimators of Gordy and Heitfield (2010) <http://elsa.berkeley.edu/~mcfadden/e242_f03/heitfield.pdf> and Duellmann and Gehde-Trapp (2004) <http://hdl.handle.net/10419/19729> are implemented. For inter-cohort correlations, the method of moments estimator of Bluhm and Overbeck (2003) <doi:10.1007/978-3-642-59365-9_2>/Bams et al. (2016) <https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2676595> is provided and the maximum likelihood estimators comprise the approaches of Gordy and Heitfield (2010)/Kalkbrener and Onwunta (2010) <ISBN: 978-1906348250> and Pfeuffer et al. (2020). Bootstrap and Jackknife procedures for bias correction are included as well as the method of moments estimator of Frei and Wunsch (2018) <doi:10.21314/JCR.2017.231> for auto-correlated time series.
Details
The DESCRIPTION file:
Package: | AssetCorr |
Type: | Package |
Title: | Estimating Asset Correlations from Default Data |
Version: | 1.0.4 |
Date: | 2021-05-04 |
Author: | Maximilian Nagl [aut,cre], Yevhen Havrylenko [aut], Marius Pfeuffer [aut], Kevin Jakob [aut], Matthias Fischer [aut], Daniel Roesch [aut] |
Maintainer: | Maximilian Nagl <maximilian.nagl@ur.de> |
Description: | Functions for the estimation of intra- and inter-cohort correlations in the Vasicek credit portfolio model. For intra-cohort correlations, the package covers the two method of moments estimators of Gordy (2000) <doi:10.1016/S0378-4266(99)00054-0>, the method of moments estimator of Lucas (1995) <https://jfi.pm-research.com/content/4/4/76> and a Binomial approximation extension of this approach. Moreover, the maximum likelihood estimators of Gordy and Heitfield (2010) <http://elsa.berkeley.edu/~mcfadden/e242_f03/heitfield.pdf> and Duellmann and Gehde-Trapp (2004) <http://hdl.handle.net/10419/19729> are implemented. For inter-cohort correlations, the method of moments estimator of Bluhm and Overbeck (2003) <doi:10.1007/978-3-642-59365-9_2>/Bams et al. (2016) <https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2676595> is provided and the maximum likelihood estimators comprise the approaches of Gordy and Heitfield (2010)/Kalkbrener and Onwunta (2010) <ISBN: 978-1906348250> and Pfeuffer et al. (2020). Bootstrap and Jackknife procedures for bias correction are included as well as the method of moments estimator of Frei and Wunsch (2018) <doi:10.21314/JCR.2017.231> for auto-correlated time series. |
License: | GPL-3 |
Imports: | VineCopula, mvtnorm, boot, numDeriv, mvQuad, ggplot2, Rdpack,knitr,qpdf |
Suggests: | markdown |
VignetteBuilder: | knitr |
RdMacros: | Rdpack |
Index of help topics:
AssetCorr-package AssetCorr analyze_AssetCorr Function to evaluate several default time series simultaneously defaultTimeseries Creating a hypothetical Default Time Series. interALL Function to use multiple estimators simultaneously interCMM Corrected Asymptotic Method of Moments Estimator of Frei and Wunsch (2018) interCopula Copula Based Maximum Likelihood Estimator interCov Covariance Matching Estimator interJDP Joint Default Probability Matching Estimator, De Servigny and Renault (2002) interMLE Binomial Maximum Likelihood Estimator intraALL Function to use multiple estimators simultaneously intraAMLE Asymptotic Maximum Likelihood Estimator intraAMM Asymptotic Method of Moments Estimator intraBeta Parametric Approach of Botha and van Vuuren (2010)- Beta Distribution intraCMM Corrected Asymptotic Method of Moments Estimator of Frei and Wunsch (2018) intraFMM Finite Sample Method of Moments Estimator intraJDP1 Joint Default Probability Matching Estimator, Lucas (1995) intraJDP2 Joint Default Probability Matching Estimator, De Servigny and Renault (2002) intraMLE Binomial Maximum Likelihood Estimator intraMode Parametric Approach of Botha and van Vuuren (2010)- Mode
Author(s)
Maximilian Nagl [aut,cre],Yevhen Havrylenko [aut], Marius Pfeuffer [aut], Matthias Fischer [aut], Daniel Roesch [aut]
Maintainer: Maximilian Nagl <maximilian.nagl@ur.de>
References
De Servigny, A. and O. Renault: Default correlation: empirical evidence. Working Paper, Standard and Poor's: 90-94, 2003. Available at: https://www.semanticscholar.org/paper/Default-correlation%3A-empirical-evidence-Servigny-Renault/aae251436d0e3b489951c0d38463d71106755675. Accessed: 04.05.2020
Duellmann, K. and M. Gehde-Trapp: Systematic risk in recovery rates: an empirical analysis of US corporate credit exposures. Bundesbank Series 2, Discussion Paper (2): 2004. Available at SSRN: https://papers.ssrn.com/sol3/papers.cfm?abstract_id=2793954. Accessed: 01.05.2018
Duellmann, K., J. Kuell and M. Kunisch: Estimating asset correlations from stock prices or default rates- Which method is superior? Journal of Economic Dynamics and Control 34(11): 2341-2357, 2010
Efron, B. and R. J. Tibshirani: An introduction to the bootstrap. CRC press, 1994
Pfeuffer, M., M. Nagl, M. Fischer and D. Roesch: Parameter Estimation and Bias Correction in the Vasicek Credit Portfolio Model. Journal of Risk 22(4), 2020
Frei, C. and M. Wunsch: Moment Estimators for Autocorrelated Time Series and their Application to Default Correlations. Journal of Credit Risk 14: 1-29, 2018
Gordy, M. B.: A comparative anatomy of credit risk models. Journal of Banking & Finance 24(1): 119-149, 2000
Gordy, M. B. and E. Heitfield: Small-sample estimation of models of portfolio credit risk. In Recent Advances in Financial Engineering: Proceedings of the KIER-TMU International Workshop on Financial Engineering, 2009: Otemachi, Sankei Plaza, Tokyo, 3-4 August 2009: 43-63, World Scientific, 2010
Hoese, S. and S. Huschens: Confidence intervals for asset correlations in the asymptotic single risk factor model. In Operations Research Proceedings 2010: 111-116, 2010
Kalkbrener, M. and A. Onwunta: Validating structural credit portfolio models. Model risk-identification, measurement and management. Risk Books, London: 233-261, 2010
Loeffler, G. The effects of estimation error on measures of portfolio credit risk. Journal of Banking & Finance 27(8): 1427-1453, 2003
Lucas, D. J.: Default correlation and credit analysis. The Journal of Fixed Income 4(4): 76-87, 1995
Meyer, C.: Estimation of intra-sector asset correlations. The Journal of Risk Model Validation 3(3): 47-79, 2009
Vasicek, O. A: The distribution of loan portfolio value. Risk 15(12): 160-162, 2002
Function to evaluate several default time series simultaneously
Description
To give a first insight of several default time series, this function combines multiple estimator functions (intra and inter) and visualize the results.
Usage
analyze_AssetCorr(DTS,N, B=NA, DB=NA, JC=FALSE, CI_Boot=NA, Adjust=0.0001,
type="bca", Intra=c("AMM","FMM","CMM","JDP1","JDP2","MLE","AMLE","Beta","Mode"),
Inter=c("Copula","Cov","JDP","MLE"))
Arguments
DTS |
a matrix, containing the default time series of each sector. |
N |
a matrix, containing the number of obligors at the beginning of the period of sector. |
B |
an integer, indicating how many bootstrap repetitions should be used for the single bootstrap corrected estimate (intra and inter). |
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 (intra and inter). |
JC |
a logical variable, indicating if the jackknife corrected estimate should be calculated (intra and inter). |
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). Furthermore, the analytical confidence intervals are provided, using the same value as |
Adjust |
a number, which should be added to a observed default rate of 0 or subtracted form a observed default rate of 1 (only for the intraAMLE). |
type |
a string, indicating the desired method to calculate the bootstrap confidence intervals. For more details see |
Intra |
a combined string, indicating which intra correlation estimators should be used. All estimators are set as default. |
Inter |
a combined string, indicating which inter correlation estimators should be used. All estimators are set as default. |
Details
To give an first insight, the function provides an overview of the several default time series and estimates using different estimators (intra and inter) simultaneously. The plug-in estimates of the intra correlation using inter correlation methods will be estimated via intraMLE
.
If DB
is specified, the single bootstrap corrected estimate will be calculated by using the bootstrap values of the outer loop.
Value
The returned value is a list, containing the following entries:
Estimators_Intra
Sector |
Number of the sector |
Sector_Name |
Name of the sector |
Estimator |
Name of the applied estimator |
Estimate |
Value of the calculated estimate |
Type |
String, which indicating corrected/non-corrected estimates |
correction |
Name of the correction method |
B |
Number of single bootstrap repetitions |
DB |
Number of the double bootstrap repetitions |
CI_Boot |
Selected two-sided bootstrap confidence interval |
CI |
A string, indicating if the corresponding value is the upper or lower bound |
Estimators_Inter
Sector_1 |
Number of the sector |
Sector_Name_1 |
Name of the sector |
Sector_2 |
Number of the sector |
Sector_Name_2 |
Name of the sector |
Estimator |
Name of the applied estimator to Sector_1 and Sector_2 |
Estimate |
Value of the calculated estimateto Sector_1 and Sector_2 |
Type |
String, which indicating corrected/non-corrected estimates |
correction |
Name of the correction method |
B |
Number of single bootstrap repetitions |
DB |
Number of the double bootstrap repetitions |
CI_Boot |
Selected two-sided bootstrap confidence interval |
CI |
A string, indicating if the corresponding value is the upper or lower bound |
Author(s)
Kevin Jakob
References
Botha M, van Vuuren G (2010). “Implied asset correlation in retail loan portfolios.” Journal of Risk Management in Financial Institutions, 3(2), 156–173.
Chang J, Hall P (2015). “Double-bootstrap methods that use a single double-bootstrap simulation.” Biometrika, 102(1), 203–214.
De Servigny A, Renault O (2002). “Default correlation: empirical evidence.” Working Paper, Standard and Poors. Available at: https://www.semanticscholar.org/paper/Default-correlation%3A-empirical-evidence-Servigny-Renault/aae251436d0e3b489951c0d38463d71106755675.
Duellmann K, Gehde-Trapp M (2004). “Systematic risk in recovery rates: an empirical analysis of US corporate credit exposures.” Bundesbank Series 2, Discussion Paper. Available at SSRN: http://hdl.handle.net/10419/19729. Accessed: 02.11.2017.
Efron B, Tibshirani RJ (1994). An introduction to the bootstrap. CRC press.
Frei C, Wunsch M (2018). “Moment Estimators for Autocorrelated Time Series and their Application to Default Correlations.” Journal of Credit Risk, 14, 1–29.
Gordy MB (2000). “A comparative anatomy of credit risk models.” Journal of Banking & Finance, 24(1), 119–149.
Gordy MB, Heitfield E (2010). “Small-sample estimation of models of portfolio credit risk.” In Recent Advances in Financial Engineering: Proceedings of the KIER-TMU International Workshop on Financial Engineering, 2009: Otemachi, Sankei Plaza, Tokyo, 3-4 August 2009, 43–63.
Kalkbrener M, Onwunta A (2010). “Validating structural credit portfolio models.” Model risk - identification, measurement and management. Risk Books, London, 233–261.
Lucas DJ (1995). “Default correlation and credit analysis.” The Journal of Fixed Income, 4(4), 76–87.
Meyer C (2009). “Estimation of intra-sector asset correlations.” The Journal of Risk Model Validation, 3(3), 47–79.
Teetor P (2011). R Cookbook: Proven recipes for data analysis, statistics, and graphics. O'Reilly Media, Inc.
See Also
intraAMM
, intraFMM
, intraJDP2
,
intraMLE
, intraJDP1
, intraCMM
,
intraMode
,intraBeta
,
interJDP
, interCopula
,interCMM
,
interCov
, interMLE
, intraALL
,
interALL
Examples
library(mvtnorm)
set.seed(111)
NoO=1000 #Number of obligors in each sector
Years=20
AC=0.3
PD=0.01
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))
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)
#Bootstrap Correction and CIs
Output<-analyze_AssetCorr(DTS,N,B=100,CI_Boot=0.95)
#Double Bootstrap Correction and Jackknife
Output<-analyze_AssetCorr(DTS,N,DB=c(50,50),JC=TRUE)
Creating a hypothetical Default Time Series.
Description
This function return a time series of defaults.
Usage
defaultTimeseries(N, AC, Years, PD)
Arguments
N |
Number of obligors for each point in time. |
AC |
Desired asset correlation. |
Years |
Number of points in time, which corresponds to the length of the default time series. |
PD |
Uniform probability of default assumed for each obligor. |
Details
This function can be used to draw a random default time series, assuming a specific length of the time series, number of obligors, a uniform asset correlation and a uniform probability of default.
Value
The output contains a Nx1-vector with simulated defaults for each point in time.
Examples
D1<-defaultTimeseries(1000,0.1,10,0.01)
Function to use multiple estimators simultaneously
Description
To give a first insight of the default time series, this function combines multiple estimator functions and visualize the results.
Usage
interALL(d1,n1,d2,n2,rho1,rho2, B=NA, DB=NA, JC=FALSE, CI_Boot=NA, plot=FALSE,
type="bca",Estimator=c("Copula","Cov","JDP","MLE"),show_progress=FALSE)
Arguments
d1 |
a vector, containing the default time series of sector 1. |
n1 |
a vector, containing the number of obligors at the beginning of the period in sector 1. |
d2 |
a vector, containing the default time series of sector 2. |
n2 |
a vector, containing the number of obligors at the beginning of the period in sector 2. |
rho1 |
estimated intra correlation of sector 1. |
rho2 |
estimated intra correlation of sector 2. |
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). Furthermore, the analytical confidence intervals are provided, using the same value as |
plot |
a logical variable, indicating whether a plot of the default time series and the estimates should be generated using the |
type |
a string, indicating the desired method to calculate the bootstrap confidence intervals. For more details see |
Estimator |
a combined string, indicating which estimators should be used. All estimators are set as default. |
show_progress |
a logical variable, indicating whether a progress bar should be displayed. |
Details
To give an first insight, the function provides an overview of the default time series and estimates using different estimators simultaneously.
If DB
is specified, the single bootstrap corrected estimate will be calculated by using the bootstrap values of the outer loop.
Value
The returned value is a data frame, containing the following columns:
Estimator |
Name of the applied estimator |
Estimate |
Value of the calculated estimate |
Type |
String, which indicating corrected/non-corrected estimates |
correction |
Name of the correction method |
B |
Number of single bootstrap repetitions |
DB |
Number of the double bootstrap repetitions |
CI_Boot |
Selected two-sided bootstrap confidence interval |
CI |
A string, indicating if the corresponding value is the upper or lower bound |
Author(s)
Kevin Jakob
References
Chang J, Hall P (2015). “Double-bootstrap methods that use a single double-bootstrap simulation.” Biometrika, 102(1), 203–214.
De Servigny A, Renault O (2002). “Default correlation: empirical evidence.” Working Paper, Standard and Poors. Available at: https://www.semanticscholar.org/paper/Default-correlation%3A-empirical-evidence-Servigny-Renault/aae251436d0e3b489951c0d38463d71106755675.
Duellmann K, Gehde-Trapp M (2004). “Systematic risk in recovery rates: an empirical analysis of US corporate credit exposures.” Bundesbank Series 2, Discussion Paper. Available at SSRN: http://hdl.handle.net/10419/19729. Accessed: 02.11.2017.
Efron B, Tibshirani RJ (1994). An introduction to the bootstrap. CRC press.
Frei C, Wunsch M (2018). “Moment Estimators for Autocorrelated Time Series and their Application to Default Correlations.” Journal of Credit Risk, 14, 1–29.
Gordy MB (2000). “A comparative anatomy of credit risk models.” Journal of Banking & Finance, 24(1), 119–149.
Gordy MB, Heitfield E (2010). “Small-sample estimation of models of portfolio credit risk.” In Recent Advances in Financial Engineering: Proceedings of the KIER-TMU International Workshop on Financial Engineering, 2009: Otemachi, Sankei Plaza, Tokyo, 3-4 August 2009, 43–63.
Kalkbrener M, Onwunta A (2010). “Validating structural credit portfolio models.” Model risk - identification, measurement and management. Risk Books, London, 233–261.
Lucas DJ (1995). “Default correlation and credit analysis.” The Journal of Fixed Income, 4(4), 76–87.
Meyer C (2009). “Estimation of intra-sector asset correlations.” The Journal of Risk Model Validation, 3(3), 47–79.
Teetor P (2011). R Cookbook: Proven recipes for data analysis, statistics, and graphics. O'Reilly Media, Inc.
See Also
intraAMM
, intraFMM
, intraJDP2
intraMLE
, intraJDP1
, intraCMM
Examples
set.seed(111)
Psi=rmvnorm(20,sigma=matrix(c(1,0.5,0.5,1),2))
PDcond1=pnorm((qnorm(0.01)-sqrt(0.05)*Psi[,1])/sqrt(1-0.05))
PDcond2=pnorm((qnorm(0.01)-sqrt(0.2)*Psi[,2])/sqrt(1-0.2))
D1=rbinom(20,1000,PDcond1)
D2=rbinom(20,1000,PDcond2)
N1=N2=rep(1000,20)
DTS=cbind(D1,D2)
N=cbind(N1,N2)
rho1=intraMLE(D1,N1)$Original
rho2=intraMLE(D2,N2)$Original
#Point Estimates
interALL(D1,N1,D2,N2,rho1,rho2, plot=TRUE)
#Bootstrap corrected estimates of all available estimators:
InterCorr=interALL(D1,N1,D2,N2,rho1,rho2, B=500, CI_Boot=0.95 , plot=TRUE, show_progress=TRUE)
#Jackknife correction
InterCorr=interALL(D1,N1,D2,N2,rho1,rho2, JC=TRUE, plot=TRUE)
#Double Bootstrap correction with 10 repetitions in the inner loop and 50 in the outer loop
InterCorr=interALL(D1,N1,D2,N2,rho1,rho2, DB=c(10,50), plot=TRUE)
Corrected Asymptotic Method of Moments Estimator of Frei and Wunsch (2018)
Description
This method provides analytical bias correction via Taylor series expansion. Additionally the bias due to autocorrelated default time series can be corrected. The estimated parameter is the inter correlation of the asset variables (in contrast to all other inter correlation methods of this package).
Usage
interCMM(d1,n1,d2,n2,rho,l=0, B=0,DB=c(0,0), JC=FALSE,
CI_Boot, type="bca", plot=FALSE)
Arguments
d1 |
a vector, containing the default time series of sector 1. |
n1 |
a vector, containing the number of obligors at the beginning of the period in sector 1. |
d2 |
a vector, containing the default time series of sector 2. |
n2 |
a vector, containing the number of obligors at the beginning of the period in sector 2. |
rho |
estimated inter asset correlation of another estimator. |
l |
a number, indicating how many lags of autocorrelation should be used for the correction. |
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 level if the single bootstrap correction is specified. By default, the interval is calculated as the bootstrap corrected and accelerated confidence interval (Bca). Furthermore, the analytical confidence intervals are provided, using the same value as |
type |
a string, indicating the desired method to calculate the confidence intervals. For more details see |
plot |
a logical variable, indicating whether a plot of the single bootstrap density should be generated. |
Details
This function estimates the inter correlation of the asset variables. In general, the inter correlation can be estimated for the asset variables or the systematic factors. This estimator uses a inter correlation estimate of another method to correct the bias due to small sample or autocorrelation. Only one parameter (inter correlation) must be estimated. Additionally, asymptotic confidence interval can be provided, as shown by Frei and Wunsch (2018). The inter correlation of the asset variables can be transformed to the correlation of the systematic factors as follows:
rho_Systematic= rho_Asset/sqrt(rho_1*rho_2)
If DB
is specified, the single bootstrap corrected estimate will be calculated using the bootstrap values of the outer loop (oValues
).
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 |
References
Chang J, Hall P (2015). “Double-bootstrap methods that use a single double-bootstrap simulation.” Biometrika, 102(1), 203–214.
Efron B, Tibshirani RJ (1994). An introduction to the bootstrap. CRC press.
Frei C, Wunsch M (2018). “Moment Estimators for Autocorrelated Time Series and their Application to Default Correlations.” Journal of Credit Risk, 14, 1–29.
See Also
interJDP
, interCopula
, interMLE
, interCov
Examples
d1=defaultTimeseries(1000,0.1,10,0.01)
d2=defaultTimeseries(1000,0.2,10,0.01)
n1=n2=rep(1000,10)
#Using the Covariance method to estimate the plug-in inter correlation.
inter_sys=interCov(d1,n1,d2,n2,0.1,0.2)$Original
inter_asset= inter_sys*sqrt(0.1*0.2)
interCMM(d1,n1,d2,n2,inter_asset,l=0)
InterCorr=interCMM(d1,n1,d2,n2,inter_asset, JC=TRUE)
InterCorr=interCMM(d1,n1,d2,n2,inter_asset, B=1000, CI_Boot=0.95, plot=TRUE)
InterCorr=interCMM(d1,n1,d2,n2,inter_asset, DB=c(10,50))
Copula Based Maximum Likelihood Estimator
Description
The inter correlation parameter can be estimated by fitting a Gaussian copula with Vasicek distributed margins on two observed default rate time series. The estimated parameter is the inter correlation of the systematic factors.
Usage
interCopula(df1, df2, B = 0, DB=c(0,0),JC = FALSE,
CI, CI_Boot, type="bca", plot=FALSE)
Arguments
df1 |
a vector, containing the default rate time series of sector 1. |
df2 |
a vector, containing the default rate times eries of sector 2. |
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 |
a number, indicating the desired asymptotic confidence interval of the estimate. |
CI_Boot |
a number, indicating the desired bootstrap confidence interval if the single bootstrap correction is specified. By default, the interval is calculated as the bootstrap corrected and accelerated confidence interval (Bca). Furthermore, the analytical confidence intervals are provided, using the same value as |
type |
a string, indicating the desired method to calculate the confidence intervals. For more details see |
plot |
a logical variable, indicating whether a plot of the single bootstrap density should be generated. |
Details
This function estimates the inter correlation of the systematic factors. In general the inter correlation can be estimated for the asset variables or the systematic factors. This method estimates the inter correlation of the systematic factors. The parameter will be estimated via Maximum Likelihood estimation, which ensures that an asymptotic confidence interval can be provided. The inter correlation of the systematic factors can be transformed to the correlation of the asset variables as follows:
rho_Asset= rho_Systematic*sqrt(rho_1*rho_2)
The estimated inter correlation of the systematic factors lies between -1 and 1.
If DB
is specified, the single bootstrap corrected estimate will be calculated using the bootstrap values of the outer loop (oValues
).
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 |
Selected two-sided asymptotic bootstrap confidence interval |
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 |
References
Chang J, Hall P (2015). “Double-bootstrap methods that use a single double-bootstrap simulation.” Biometrika, 102(1), 203–214.
Efron B, Tibshirani RJ (1994). An introduction to the bootstrap. CRC press.
Pfeuffer M, Nagl M, Fischer M, Roesch D (2020). “Parameter Estimation and Bias Correction in the Vasicek Credit Portfolio Model.” Journal of Risk, 22number.
See Also
interJDP
, interCMM
, interMLE
, interCov
Examples
set.seed(10)
d1=defaultTimeseries(1000,0.1,10,0.01)
d2=defaultTimeseries(1000,0.2,10,0.01)
n=rep(1000,10)
df1=d1/n
df2=d2/n
InterCorr=interCopula(df1,df2, CI=0.95)
InterCorr=interCopula(df1,df2, JC=TRUE)
InterCorr=interCopula(df1,df2, B=1000, CI_Boot=0.95, plot=TRUE)
InterCorr=interCopula(df1,df2, DB=c(50,50))
Covariance Matching Estimator
Description
The inter correlation parameter can be estimated by matching the empirical covariance of two default time series with the theoretical. The estimated parameter is the inter correlation of the systematic factors.
Usage
interCov(d1, n1, d2, n2, rho1, rho2, B = 0, DB=c(0,0), JC = FALSE,
CI_Boot, type="bca", plot=FALSE)
Arguments
d1 |
a vector, containing the default time series of sector 1. |
n1 |
a vector, containing the number of obligors at the beginning of the period in sector 1. |
d2 |
a vector, containing the default times eries of sector 2. |
n2 |
a vector, containing the number of obligors at the beginning of the period in sector 2. |
rho1 |
estimated intra asset correlation of sector 1. |
rho2 |
estimated intra asset correlation of sector 2. |
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 level 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 confidence intervals. For more details see |
plot |
a logical variable, indicating whether a plot of the single bootstrap density should be generated. |
Details
This function estimates the inter correlation of the systematic factors. In general, the inter correlation can be estimated for the asset variables or the systematic factors. To ensure the traceability of the estimation, the intra correlation estimates will be used as plug-in estimates. Hence only one parameter (inter correlation) must be estimated. The inter correlation of the systematic factors can be transformed to the correlation of the asset variables as follows:
rho_Asset= rho_Systematic*sqrt(rho_1*rho_2)
The estimated inter correlation of the systematic factors lies between -1 and 1.
If DB
is specified, the single bootstrap corrected estimate will be calculated using the bootstrap values of the outer loop (oValues
).
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 single bootstrap resampling |
iValues |
Estimates from the double bootstrap resampling- inner loop |
oValues |
Estimates from the double bootstrap resampling- outer loop |
References
Chang J, Hall P (2015). “Double-bootstrap methods that use a single double-bootstrap simulation.” Biometrika, 102(1), 203–214.
Bluhm C, Overbeck L (2003). “Systematic risk in homogeneous credit portfolios.” Credit risk. Physica-Verlag, Heidelberg, 35–48.
Efron B, Tibshirani RJ (1994). An introduction to the bootstrap. CRC press.
See Also
interJDP
, interCMM
, interMLE
, interCopula
Examples
set.seed(10)
d1=defaultTimeseries(1000,0.1,10,0.01)
d2=defaultTimeseries(1000,0.2,10,0.01)
n1=n2=rep(1000,10)
InterCorr=interCov(d1,n1,d2,n2,0.1,0.2)
InterCorr=interCov(d1,n1,d2,n2,0.1,0.2, JC=TRUE)
InterCorr=interCov(d1,n1,d2,n2,0.1,0.2, B=1000, CI_Boot=0.95)
InterCorr=interCov(d1,n1,d2,n2,0.1,0.2, DB=c(50,50))
Joint Default Probability Matching Estimator, De Servigny and Renault (2002)
Description
The inter correlation parameter can be estimated by matching the empirical Joint Default Probability of two default time series with the theoretical one. The estimated parameter is the correlation of the systematic factors.
Usage
interJDP(d1, n1, d2, n2, rho1, rho2, B = 0, DB=c(0,0), JC = FALSE,
CI_Boot, type="bca", plot=FALSE)
Arguments
d1 |
a vector, containing the default time series of sector 1. |
n1 |
a vector, containing the number of obligors at the beginning of the period in sector 1. |
d2 |
a vector, containing the default time series of sector 2. |
n2 |
a vector, containing the number of obligors at the beginning of the period in sector 2. |
rho1 |
estimated intra correlation of sector 1. |
rho2 |
estimated intra correlation of sector 2. |
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 level 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 confidence intervals. For more details see |
plot |
a logical variable, indicating whether a plot of the single bootstrap density should be generated. |
Details
This function estimates the inter correlation of the systematic factor. In general, the inter correlation can be estimated for the asset variables or the systematic factors. To ensure the traceability of the estimation, the intra correlation estimates will be used as plug-in estimates. Hence only one parameter (inter correlation) must be estimated. The inter correlation of the systematic factor can be transformed to the correlation of the asset variables as follows:
rho_Asset= rho_Systematic*sqrt(rho_1*rho_2)
The estimated inter correlation of the systematic factors lies between -1 and 1.
If DB
is specified, the single bootstrap corrected estimate will be calculated using the bootstrap values of the outer loop (oValues
).
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 |
References
Chang J, Hall P (2015). “Double-bootstrap methods that use a single double-bootstrap simulation.” Biometrika, 102(1), 203–214.
De Servigny A, Renault O (2002). “Default correlation: empirical evidence.” Working Paper, Standard and Poors. Available at: https://www.semanticscholar.org/paper/Default-correlation%3A-empirical-evidence-Servigny-Renault/aae251436d0e3b489951c0d38463d71106755675.
Efron B, Tibshirani RJ (1994). An introduction to the bootstrap. CRC press.
Kalkbrener M, Onwunta A (2010). “Validating structural credit portfolio models.” Model risk - identification, measurement and management. Risk Books, London, 233–261.
See Also
interCov
, interCMM
, interMLE
, interCopula
Examples
d1=defaultTimeseries(1000,0.1,10,0.01)
d2=defaultTimeseries(1000,0.2,10,0.01)
n1=n2=rep(1000,10)
InterCorr=interJDP(d1,n1,d2,n2,0.1,0.2)
InterCorr=interJDP(d1,n1,d2,n2,0.1,0.2, JC=TRUE)
InterCorr=interJDP(d1,n1,d2,n2,0.1,0.2, B=1000, CI_Boot=0.95)
InterCorr=interJDP(d1,n1,d2,n2,0.1,0.2, DB=c(10,50))
Binomial Maximum Likelihood Estimator
Description
The inter correlation parameter can be estimated by maximizing the Vasicek-binomial log-likelihood. The default process in the Vasicek model follows a binomial distribution, conditional on the realisation of the systematic factor. Hence, the inter correlation of the systematic factor can be estimated by maximizing the resulting log likelihood.
Usage
interMLE(d1, n1, d2, n2, rho1, rho2, B = 0, DB=c(0,0), JC = FALSE,
CI, plot=FALSE)
Arguments
d1 |
a vector, containing the default time series of sector 1. |
n1 |
a vector, containing the number of obligors at the beginning of the period in sector 1. |
d2 |
a vector, containing the default time series of sector 2. |
n2 |
a vector, containing the number of obligors at the beginning of the period in sector 2. |
rho1 |
estimated intra correlation of sector 1. |
rho2 |
estimated intra correlation of sector 2. |
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 |
a number, indicating the desired asymptotic confidence bound of the estimate. |
plot |
a logical variable, indicating whether a plot of the single bootstrap density should be generated. |
Details
This function estimates the inter correlation of the systematic factor. In general, the inter correlation can be estimated for the asset variables or the systematic factors. To ensure the traceability of the estimation, the intra correlation estimates will be used as plug-in estimates. Hence only one parameter (inter correlation) must be estimated. The inter correlation of the systematic factor can be transformed to the correlation of the asset variables as follows:
rho_Asset= rho_Systematic*sqrt(rho_1*rho_2)
The estimated inter correlation of the systematic factors lies between -1 and 1.
If DB
is specified, the single bootstrap corrected estimate will be calculated using the bootstrap values of the outer loop (oValues
).
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 |
Selected two-sided asymptotic bootstrap confidence interval |
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 |
References
Chang J, Hall P (2015). “Double-bootstrap methods that use a single double-bootstrap simulation.” Biometrika, 102(1), 203–214.
Efron B, Tibshirani RJ (1994). An introduction to the bootstrap. CRC press.
Gordy MB, Heitfield E (2010). “Small-sample estimation of models of portfolio credit risk.” In Recent Advances in Financial Engineering: Proceedings of the KIER-TMU International Workshop on Financial Engineering, 2009: Otemachi, Sankei Plaza, Tokyo, 3-4 August 2009, 43–63.
See Also
interJDP
, interCopula
, interCMM
, interCov
Examples
d1=defaultTimeseries(1000,0.1,10,0.01)
d2=defaultTimeseries(1000,0.2,10,0.01)
n1=n2=rep(1000,10)
InterCorr=interMLE(d1,n1,d2,n2,0.1,0.2, CI=0.95)
InterCorr=interMLE(d1,n1,d2,n2,0.1,0.2, JC=TRUE)
InterCorr=interMLE(d1,n1,d2,n2,0.1,0.2, B=1000, CI_Boot=0.95)
InterCorr=interMLE(d1,n1,d2,n2,0.1,0.2, DB=c(10,50))
Function to use multiple estimators simultaneously
Description
To give a first insight of the default time series, this function combines multiple estimator functions and visualize the results.
Usage
intraALL(d,n, B=NA, DB=NA, JC=FALSE, CI_Boot=NA, Adjust=0.0001, plot=FALSE,
type="bca", Quantile=0.999, Estimator=c("AMM","FMM","CMM","JDP1","JDP2",
"MLE","AMLE","Beta","Mode"),show_progress=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 in the sector. |
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). Furthermore, the analytical confidence intervals are provided, using the same value as |
Adjust |
a number, which should be added to a observed default rate of 0 or subtracted form a observed default rate of 1 (only for the AMLE). |
plot |
a logical variable, indicating whether a plot of the default time series and the estimates should be generated using the |
type |
a string, indicating the desired method to calculate the bootstrap confidence intervals. For more details see |
Quantile |
a number, indicating the desired confidence level of the Value-at-Risk (only for the intraBeta). |
Estimator |
a combined string, indicating which estimators should be used. All estimators are set as default. |
show_progress |
a logical variable, indicating whether a progress bar should be displayed. |
Details
To give an first insight, the function provides an overview of the default time series and estimates using different estimators simultaneously.
If DB
is specified, the single bootstrap corrected estimate will be calculated by using the bootstrap values of the outer loop.
Value
The returned value is a data frame, containing the following columns:
Estimator |
Name of the applied estimator |
Estimate |
Value of the calculated estimate |
Type |
String, which indicating corrected/non-corrected estimates |
correction |
Name of the correction method |
B |
Number of single bootstrap repetitions |
DB |
Number of the double bootstrap repetitions |
CI_Boot |
Selected two-sided bootstrap confidence interval |
CI |
A string, indicating if the corresponding value is the upper or lower bound |
Author(s)
Kevin Jakob
References
Chang J, Hall P (2015). “Double-bootstrap methods that use a single double-bootstrap simulation.” Biometrika, 102(1), 203–214.
De Servigny A, Renault O (2002). “Default correlation: empirical evidence.” Working Paper, Standard and Poors. Available at: https://www.semanticscholar.org/paper/Default-correlation%3A-empirical-evidence-Servigny-Renault/aae251436d0e3b489951c0d38463d71106755675.
Duellmann K, Gehde-Trapp M (2004). “Systematic risk in recovery rates: an empirical analysis of US corporate credit exposures.” Bundesbank Series 2, Discussion Paper. Available at SSRN: http://hdl.handle.net/10419/19729. Accessed: 02.11.2017.
Efron B, Tibshirani RJ (1994). An introduction to the bootstrap. CRC press.
Frei C, Wunsch M (2018). “Moment Estimators for Autocorrelated Time Series and their Application to Default Correlations.” Journal of Credit Risk, 14, 1–29.
Gordy MB (2000). “A comparative anatomy of credit risk models.” Journal of Banking & Finance, 24(1), 119–149.
Gordy MB, Heitfield E (2010). “Small-sample estimation of models of portfolio credit risk.” In Recent Advances in Financial Engineering: Proceedings of the KIER-TMU International Workshop on Financial Engineering, 2009: Otemachi, Sankei Plaza, Tokyo, 3-4 August 2009, 43–63.
Kalkbrener M, Onwunta A (2010). “Validating structural credit portfolio models.” Model risk - identification, measurement and management. Risk Books, London, 233–261.
Lucas DJ (1995). “Default correlation and credit analysis.” The Journal of Fixed Income, 4(4), 76–87.
Meyer C (2009). “Estimation of intra-sector asset correlations.” The Journal of Risk Model Validation, 3(3), 47–79.
Teetor P (2011). R Cookbook: Proven recipes for data analysis, statistics, and graphics. O'Reilly Media, Inc.
See Also
intraAMM
, intraFMM
, intraJDP2
,
intraMLE
, intraJDP1
, intraCMM
,
intraMode
,intraBeta
Examples
set.seed(10)
d=defaultTimeseries(1000,0.01,20,0.01)
n=rep(1000,20)
#Point Estimate of all available estimators:
intraALL(d,n,Adjust=0.001, plot=TRUE)
#Bootstrap corrected estimates of all available estimators:
IntraCorr=intraALL(d,n, Adjust=0.001, B=500, CI_Boot=0.95 , plot=TRUE, show_progress=TRUE)
#Select some estimators
IntraCorr=intraALL(d,n,B=500, CI_Boot=0.95, Adjust=0.001 ,Estimator=c("AMM","FMM"), plot=TRUE)
#Jackknife correction
IntraCorr=intraALL(d,n, JC=TRUE,Adjust=0.001, plot=TRUE)
#Double Bootstrap correction with 10 repetitions in the inner loop and 50 in the outer loop
IntraCorr=intraALL(d,n, DB=c(10,50),Adjust=0.001, plot=TRUE)
Asymptotic Maximum Likelihood Estimator
Description
This estimator is based on the assumption of infinitely large portfolio size and a sufficient length of the default time series. In the asymptotic case, neither the default rate of 0 or a 1 occur. Hence one has to make an adjustment in these cases.
Usage
intraAMLE(d, n, B = 0, DB=c(0,0),JC = FALSE, Adjust = 0,
CI_1,CI_2, CI_Boot,VaR=0.99, VaR_CI=0.95, ES=0.975, ES_CI=0.95,
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 in the sector. |
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. |
Adjust |
a number, which should be added to a observed default rate of 0 or subtracted form a observed default rate of 1. |
CI_1 |
a number, indicating the desired analytical confidence interval of the estimate. The interval is computed by asymptotic Cramer-Rao lower bound for the standard deviation of the estimate based on Duellmann and Gehde-Trapp (2004). Additionally the asymptotic confidence interval for the unconditional PD is computed. |
CI_2 |
a number, indicating the desired analytical confidence interval of the estimate. The interval is computed by constructing a confidence interval for the variance, which can be transferred to the estimate based on Hoese and Huschens (2011). |
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). Furthermore, the analytical confidence intervals are provided, using the same value as |
VaR |
a number, indicating the desired confidence level for the asymptotic Value-at-Risk. |
VaR_CI |
a number, indicating the desired confidence interval for the asymptotic Value-at-Risk, derived by the delta method. |
ES |
a number, indicating the desired confidence level for the asymptotic Expected Shortfall. |
ES_CI |
a number, indicating the desired confidence interval for the asymptotic Expected Shortfall, derived by the delta method. |
type |
a string, indicating the desired method to calculate the confidence intervals. For more details see |
plot |
a logical variable, indicating whether a plot of the single bootstrap density should be generated. |
Details
This estimator is based on the asymptotic assumptions of the Vasicek model, especially the assumption of an infinite large portfolio. If a 0 or 1 occurs at least once in the default rate time series, the estimator can not converge. Therefore, an adjustment (Adjust
) can be made. Nevertheless, Meyer (2009) argued that the adjustment can harm the estimation efficiency.
Additionally two different asymptotic confidence intervals are provided. Bootstrap and jackknife corrections are also possible. If DB
is specified, the single bootstrap corrected estimate will be calculated using the bootstrap values of the outer loop (oValues
).
Value
The returned value is a list, containing the following components (depending on the selected arguments):
PD |
Estimate of the unconditional PD based on Duellmann and Gehde-Trapp (2004) |
PD_CI_1 |
[Two-sided asymptotic confidence interval for the unconditional PD based on Duellmann and Gehde-Trapp (2004) |
Original |
Estimate of the original method |
Bootstrap |
Bootstrap corrected estimate |
Double_Bootstrap |
Double bootstrap corrected estimate |
Jackknife |
Jackknife corrected estimate |
CI_1 |
Selected two-sided asymptotic confidence interval based on Duellmann and Gehde-Trapp (2004) |
CI_2 |
Selected two-sided asymptotic confidence interval based on Hoese and Huschens (2011) |
CI_Boot |
Selected two-sided bootstrap confidence interval |
VaR |
Asymptotic Value-at-Risk |
VaR_CI |
Confidence interval for the asymptotic Value-at-Risk |
ES |
Asymptotic Expected Shortfall |
ES_CI |
Confidence interval for the asymptotic Expected Shortfall |
bValues |
Estimates from the single bootstrap resampling |
iValues |
Estimates from the double bootstrap resampling- inner loop |
oValues |
Estimates from the double bootstrap resampling- outer loop |
References
Chang J, Hall P (2015). “Double-bootstrap methods that use a single double-bootstrap simulation.” Biometrika, 102(1), 203–214.
Duellmann K, Gehde-Trapp M (2004). “Systematic risk in recovery rates: an empirical analysis of US corporate credit exposures.” Bundesbank Series 2, Discussion Paper. Available at SSRN: http://hdl.handle.net/10419/19729. Accessed: 02.11.2017.
Efron B, Tibshirani RJ (1994). An introduction to the bootstrap. CRC press.
Hoese S, Huschens S (2011). “Confidence intervals for asset correlations in the asymptotic single risk factor model.” In Operations Research Proceedings 2010, 111–116. Springer.
Meyer C (2009). “Estimation of intra-sector asset correlations.” The Journal of Risk Model Validation, 3(3), 47–79.
Pfeuffer M, Nagl M, Fischer M, Roesch D (2020). “Parameter Estimation and Bias Correction in the Vasicek Credit Portfolio Model.” Journal of Risk, 22number.
See Also
intraAMM
, intraFMM
, intraJDP2
,
intraMLE
, intraJDP1
, intraCMM
,
intraMode
,intraBeta
Examples
set.seed(10)
d=defaultTimeseries(100,0.01,10,0.01)
n=rep(100,10)
#Sensitivity to the adjustment
intraAMLE(d,n,Adjust=0.001)
intraAMLE(d,n,Adjust=0.0001)
#Estimation with confidence intervals- I
IntraCorr=intraAMLE(d,n, Adjust=0.001, CI_1=0.95 )
#Estimation with confidence intervals- II
IntraCorr=intraAMLE(d,n, Adjust=0.001, CI_2=0.95 )
#Jackknife correction
IntraCorr=intraAMLE(d,n,Adjust=0.001, JC=TRUE)
#Bootstrap correction with bootstrap confidence intervals
IntraCorr=intraAMLE(d,n, Adjust=0.001, B=1000, CI_Boot=0.95 )
#Bootstrap correction with bootstrap confidence intervals and plot
IntraCorr=intraAMLE(d,n, B=1000, Adjust=0.001, CI_Boot=0.95, plot=TRUE )
#Double Bootstrap correction with 10 repetitions in the inner loop and 50 in the outer loop
IntraCorr=intraAMLE(d,n,Adjust=0.001, DB=c(10,50))
Asymptotic Method of Moments Estimator
Description
The intra asset correlation will be estimated by fitting the first two moments of the default rate time series to the theoretical moments of the default rate and backing out the remaining correlation parameter numerically. Additionally, bootstrap and jackknife corrections are implemented.
Usage
intraAMM(d, n, 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. |
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 |
plot |
a logical variable, indicating whether a plot of the single bootstrap density should be generated. |
Details
As stated by Vasicek (1991) and Vasicek (2002), the asset variables follow a bivariate normal distribution. Since this distribution can be parametrized by the first two moments, namely the expected value and the variance, the remaining correlation parameter can be backed out numerically. The expected value will be approximated by the mean of the default rate and the variance is defined as the sample variance of the default rate. For theoretical background, see Gordy (2000). If DB
is specified, the single bootstrap corrected estimate will be calculated by using the bootstrap values of the outer loop (oValues
).
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 |
References
Chang J, Hall P (2015). “Double-bootstrap methods that use a single double-bootstrap simulation.” Biometrika, 102(1), 203–214.
Efron B, Tibshirani RJ (1994). An introduction to the bootstrap. CRC press.
Gordy MB (2000). “A comparative anatomy of credit risk models.” Journal of Banking & Finance, 24(1), 119–149.
Vasicek O (1991). “Limiting loan loss probability distribution.” Finance, Economics and Mathematics, 147–148.
Vasicek O (2002). “The distribution of loan portfolio value.” Risk, 15(12), 160–162.
See Also
intraFMM
, intraJDP1
, intraJDP2
,
intraCMM
, intraMLE
, intraAMLE
,
intraMode
,intraBeta
Examples
set.seed(111)
d=defaultTimeseries(1000,0.3,20,0.01)
n=rep(1000,20)
IntraCorr=intraAMM(d,n)
#Jackknife correction
IntraCorr=intraAMM(d,n, JC=TRUE)
#Bootstrap correction with confidence intervals
IntraCorr=intraAMM(d,n, B=1000, CI_Boot=0.95 )
#Bootstrap correction with confidence intervals and plot
IntraCorr=intraAMM(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=intraAMM(d,n, DB=c(10,50))
Parametric Approach of Botha and van Vuuren (2010)- 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 |
plot |
a logical variable, indicating whether a plot of the single bootstrap density should be generated. |
Details
As stated by Botha and van Vuuren (2010) 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 Botha and van Vuuren (2010). 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 Vasicek (1991):
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
. Botha and van Vuuren (2010) 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
).
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 |
References
Botha M, van Vuuren G (2010). “Implied asset correlation in retail loan portfolios.” Journal of Risk Management in Financial Institutions, 3(2), 156–173.
Chang J, Hall P (2015). “Double-bootstrap methods that use a single double-bootstrap simulation.” Biometrika, 102(1), 203–214.
Efron B, Tibshirani RJ (1994). An introduction to the bootstrap. CRC press.
Gordy MB (2000). “A comparative anatomy of credit risk models.” Journal of Banking & Finance, 24(1), 119–149.
Vasicek O (1991). “Limiting loan loss probability distribution.” Finance, Economics and Mathematics, 147–148.
See Also
intraFMM
, intraJDP1
, intraJDP2
intraCMM
, intraMLE
, intraAMLE
intraMode
Examples
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)
#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))
Corrected Asymptotic Method of Moments Estimator of Frei and Wunsch (2018)
Description
The estimator is based on Frei and Wunsch (2018), who introduced an analytic bias correction via Taylor series expansion. Additionally, the bias due to autocorrelated default time series can be corrected. Furthermore, additional bootstrap and jackknife bias corrections are implemented.
Usage
intraCMM(d,n,l=0, 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 in the sector. |
l |
a number, indicating how many lags of autocorrelation should be used for the correction. |
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 level if the single bootstrap correction is specified. By default, the interval is calculated as the bootstrap corrected and accelerated confidence interval (Bca).Furthermore, the analytical confidence intervals are provided, using the same value as |
type |
a string, indicating the desired method to calculate the confidence intervals. For more details see |
plot |
a logical variable, indicating whether a plot of the single bootstrap density should be generated. |
Details
Frei and Wunsch (2018) introduced an estimator which simultaneously corrects the bias of a short default time series and an bias due to autocorrelation. Additionally, further corrections are implemented. If DB
is specified, the single bootstrap corrected estimate will be calculated by using the bootstrap values of the outer loop (oValues
).
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 single bootstrap resampling |
iValues |
Estimates from the double bootstrap resampling- inner loop |
oValues |
Estimates from the double bootstrap resampling- outer loop |
References
Chang J, Hall P (2015). “Double-bootstrap methods that use a single double-bootstrap simulation.” Biometrika, 102(1), 203–214.
Efron B, Tibshirani RJ (1994). An introduction to the bootstrap. CRC press.
Frei C, Wunsch M (2018). “Moment Estimators for Autocorrelated Time Series and their Application to Default Correlations.” Journal of Credit Risk, 14, 1–29.
See Also
intraAMM
, intraFMM
, intraJDP2
,
intraMLE
, intraJDP1
, intraAMLE
,
intraMode
,intraBeta
Examples
set.seed(10)
d=defaultTimeseries(1000,0.1,10,0.01)
n=rep(1000,10)
IntraCorr=intraCMM(d,n,l=0)
#Estimation with two lags of autocorrelation
IntraCorr=intraCMM(d,n, l=2 )
#Jackknife correction
IntraCorr=intraCMM(d,n, JC=TRUE)
#Bootstrap correction with bootstrap confidence intervals
IntraCorr=intraCMM(d,n, B=1000, CI_Boot=0.95 )
#Bootstrap correction with bootstrap confidence intervals and plot
IntraCorr=intraCMM(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=intraCMM(d,n, DB=c(10,50))
Finite Sample Method of Moments Estimator
Description
The intra asset correlation will be estimated by fitting the first two moments of the default rate time series to the theoretical moments of the default rate and backing out the remaining correlation parameter numerically. The sample variance will be adjusted for an insufficiently large portfolio size. Additionally, bootstrap and jackknife corrections are implemented.
Usage
intraFMM(d, n, 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. |
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 |
plot |
a logical variable, indicating whether a plot of the single bootstrap density should be generated. |
Details
As stated by Vasicek (1991) and Vasicek (2002), the asset variables follow a bivariate normal distribution. Since this distribution can be parametrized by the first two moments, namely the expected value and the variance, the remaining correlation parameter can be backed out numerically. The expected value will be approximated by the mean of the default rate and the variance is defined as the (corrected) sample variance of the default rate. For theoretical background, see Gordy (2000). If DB
is specified, the single bootstrap corrected estimate will be calculated by using the bootstrap values of the outer loop (oValues
).
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 |
References
Chang J, Hall P (2015). “Double-bootstrap methods that use a single double-bootstrap simulation.” Biometrika, 102(1), 203–214.
Efron B, Tibshirani RJ (1994). An introduction to the bootstrap. CRC press.
Gordy MB (2000). “A comparative anatomy of credit risk models.” Journal of Banking & Finance, 24(1), 119–149.
Vasicek O (1991). “Limiting loan loss probability distribution.” Finance, Economics and Mathematics, 147–148.
Vasicek O (2002). “The distribution of loan portfolio value.” Risk, 15(12), 160–162.
See Also
intraAMM
, intraJDP1
, intraJDP2
,
intraCMM
, intraMLE
, intraAMLE
,
intraMode
,intraBeta
Examples
set.seed(111)
d=defaultTimeseries(1000,0.3,20,0.01)
n=rep(1000,20)
IntraCorr=intraFMM(d,n)
#Jackknife correction
IntraCorr=intraFMM(d,n, JC=TRUE)
#Bootstrap correction with confidence intervals
IntraCorr=intraFMM(d,n, B=1000, CI_Boot=0.95 )
#Bootstrap correction with confidence intervals and plot
IntraCorr=intraFMM(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=intraFMM(D1,N1, DB=c(10,50))
Joint Default Probability Matching Estimator, Lucas (1995)
Description
The intra asset correlation will be estimated by fitting the empirical joint default probability (JDP) of the default rate time series to the theoretical one and backing out the remaining correlation parameter numerically. The unbiased estimator of Lucas (1995) will be used for the empirical JDP. Additionally, bootstrap and jackknife corrections are implemented.
Usage
intraJDP1(d, n, 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. |
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 |
plot |
a logical variable, indicating whether a plot of the single bootstrap density should be generated. |
Details
Kalkbrener and Onwunta (2010) for example showed that the JDP of the default rates follow a bivariate normal distribution. The intra asset correlation will be estimated by fitting the empirical JDP of the default rate time series on the theoretical JDP of the default rate and backing out the remaining correlation parameter numerically.
The empirical JDP is calculated by the (unbiased) estimator of Lucas (1995). If DB
is specified, the single bootstrap corrected estimate will be calculated by using the bootstrap values of the outer loop (oValues
).
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 |
References
Chang J, Hall P (2015). “Double-bootstrap methods that use a single double-bootstrap simulation.” Biometrika, 102(1), 203–214.
Efron B, Tibshirani RJ (1994). An introduction to the bootstrap. CRC press.
Kalkbrener M, Onwunta A (2010). “Validating structural credit portfolio models.” Model risk - identification, measurement and management. Risk Books, London, 233–261.
Lucas DJ (1995). “Default correlation and credit analysis.” The Journal of Fixed Income, 4(4), 76–87.
See Also
intraAMM
, intraFMM
, intraJDP2
,
intraCMM
, intraMLE
, intraAMLE
,
intraMode
,intraBeta
Examples
set.seed(111)
d=defaultTimeseries(1000,0.3,20,0.01)
n=rep(1000,20)
IntraCorr=intraJDP1(d,n)
#Jackknife correction
IntraCorr=intraJDP1(d,n, JC=TRUE)
#Bootstrap correction with confidence intervals
IntraCorr=intraJDP1(d,n, B=1000, CI_Boot=0.95 )
#Bootstrap correction with confidence intervals and plot
IntraCorr=intraJDP1(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=intraJDP1(D1,N1, DB=c(10,50))
Joint Default Probability Matching Estimator, De Servigny and Renault (2002)
Description
The intra asset correlation will be estimated by fitting the empirical joint default probability (JDP) of the default rate time series to the theoretical one and backing out the remaining correlation parameter numerically. The biased estimator of De Servigny and Renault (2002) will be used for the empirical JDP. Additionally, bootstrap and jackknife corrections are implemented.
Usage
intraJDP2(d, n, 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. |
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 |
plot |
a logical variable, indicating whether a plot of the single bootstrap density should be generated. |
Details
Kalkbrener and Onwunta (2010) for example showed that the JDP of the default rates follow a bivariate normal distribution. The intra asset correlation will be estimated by fitting the empirical JDP of the default rate time series on the theoretical JDP of the default rate and backing out the remaining correlation parameter numerically.
The empirical JDP is calculated by the (unbiased) estimator of De Servigny and Renault (2002). If DB
is specified, the single bootstrap corrected estimate will be calculated by using the bootstrap values of the outer loop (oValues
).
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 single bootstrap resampling |
iValues |
Estimates from the double bootstrap resampling- inner loop |
oValues |
Estimates from the double bootstrap resampling- outer loop |
References
Chang J, Hall P (2015). “Double-bootstrap methods that use a single double-bootstrap simulation.” Biometrika, 102(1), 203–214.
De Servigny A, Renault O (2002). “Default correlation: empirical evidence.” Working Paper, Standard and Poors. Available at: https://www.semanticscholar.org/paper/Default-correlation%3A-empirical-evidence-Servigny-Renault/aae251436d0e3b489951c0d38463d71106755675.
Efron B, Tibshirani RJ (1994). An introduction to the bootstrap. CRC press.
Kalkbrener M, Onwunta A (2010). “Validating structural credit portfolio models.” Model risk - identification, measurement and management. Risk Books, London, 233–261.
See Also
intraAMM
, intraFMM
, intraJDP1
,
intraCMM
, intraMLE
, intraAMLE
,
intraMode
,intraBeta
Examples
set.seed(10)
d=defaultTimeseries(1000,0.3,20,0.01)
n=rep(1000,20)
IntraCorr=intraJDP2(d,n)
#Jackknife correction
IntraCorr=intraJDP2(d,n, JC=TRUE)
#Bootstrap correction with confidence intervals
IntraCorr=intraJDP2(d,n, B=1000, CI_Boot=0.95 )
#Bootstrap correction with confidence intervals and plot
IntraCorr=intraJDP2(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=intraJDP2(D1,N1, DB=c(10,50))
Binomial Maximum Likelihood Estimator
Description
The default process in the Vasicek model follows a binomial distribution, conditional on the realization of the systematic factor. Hence, the intra asset correlation can be estimated by maximizing the Vasicek-binomial log likelihood.
Usage
intraMLE(d, n, B =0, DB=c(0,0), JC = FALSE, CI, 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 in the sector. |
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 |
a number, indicating the desired asymptotic confidence interval of the estimate. |
CI_Boot |
a number, indicating the desired bootstrap confidence interval of the estimate, if the single bootstrap correction is specified. By default, the interval is calculated as the bootstrap corrected and accelerated confidence interval (Bca). Furthermore, the analytical confidence intervals are provided, using the same value as |
type |
a string, indicating the type of bootstrap intervals. For more details see |
plot |
a logical variable, indicating whether a plot of the single bootstrap density should be generated. |
Details
In the Vasicek model the default process can be expressed as independent binomial trials, conditional on the realization of the systematic factor. Therefore Gordy and Heitfield (2010) introduced an estimator of the intra asset correlation based on the log-likelihood maximization. For theoretical background see Gordy and Heitfield (2010).
The log-likelihood will be maximized for values between 0 and 1. The asymptotic confidence interval will be estimated using maximum likelihood theory. If DB
is specified, the single bootstrap corrected estimate will be calculated by using the bootstrap values of the outer loop (oValues
).
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 |
Selected two-sided asymptotic confidence interval |
CI_Boot |
Selected two-sided bootstrap confidence interval |
bValues |
Estimates from the single bootstrap resampling |
iValues |
Estimates from the double bootstrap resampling- inner loop |
oValues |
Estimates from the double bootstrap resampling- outer loop |
References
Chang J, Hall P (2015). “Double-bootstrap methods that use a single double-bootstrap simulation.” Biometrika, 102(1), 203–214.
Efron B, Tibshirani RJ (1994). An introduction to the bootstrap. CRC press.
Gordy MB, Heitfield E (2010). “Small-sample estimation of models of portfolio credit risk.” In Recent Advances in Financial Engineering: Proceedings of the KIER-TMU International Workshop on Financial Engineering, 2009: Otemachi, Sankei Plaza, Tokyo, 3-4 August 2009, 43–63.
See Also
intraAMM
, intraFMM
, intraJDP2
,
intraCMM
, intraJDP1
, intraAMLE
,
intraMode
,intraBeta
Examples
set.seed(11)
d=defaultTimeseries(1000,0.3,20,0.01)
n=rep(1000,20)
IntraCorr=intraMLE(d,n)
#Estimation with confidence intervals
IntraCorr=intraMLE(d,n, CI=0.95 )
#Jackknife correction
IntraCorr=intraMLE(d,n, JC=TRUE)
#Bootstrap correction with bootstrap confidence intervals
IntraCorr=intraMLE(d,n, B=1000, CI_Boot=0.95 )
#Bootstrap correction with bootstrap confidence intervals and plot
IntraCorr=intraMLE(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=intraMLE(D1,N1, DB=c(10,50))
Parametric Approach of Botha and van Vuuren (2010)- Mode
Description
The intra asset correlation will be estimated by fitting the mode of the default rate time series to the theoretical mode of the default rates and backing out the remaining correlation parameter numerically. Additionally, bootstrap and jackknife corrections are implemented.
Usage
intraMode(d, n, 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. |
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 |
plot |
a logical variable, indicating whether a plot of the single bootstrap density should be generated. |
Details
As stated by Botha and van Vuuren (2010) one can estimate the intra correlation by matching the theoretical and empirical mode. According to Vasicek (1991) the default rates are only unimodal if the intra correlation is smaller than 0.5. Therefore, this estimator cannot be used for higher intra correlations. The theoretical mode is given by Vasicek (1991):
Mode_Vasicek=Phi(sqrt(1-rho)/(1-2*rho)*Phi^-1(PD))
If DB
is specified, the single bootstrap corrected estimate will be calculated by using the bootstrap values of the outer loop (oValues
).
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 |
References
Botha M, van Vuuren G (2010). “Implied asset correlation in retail loan portfolios.” Journal of Risk Management in Financial Institutions, 3(2), 156–173.
Chang J, Hall P (2015). “Double-bootstrap methods that use a single double-bootstrap simulation.” Biometrika, 102(1), 203–214.
Efron B, Tibshirani RJ (1994). An introduction to the bootstrap. CRC press.
Gordy MB (2000). “A comparative anatomy of credit risk models.” Journal of Banking & Finance, 24(1), 119–149.
Vasicek O (1991). “Limiting loan loss probability distribution.” Finance, Economics and Mathematics, 147–148.
See Also
intraFMM
, intraJDP1
, intraJDP2
intraCMM
, intraMLE
, intraAMLE
,
intraBeta
Examples
set.seed(111)
d=defaultTimeseries(1000,0.3,20,0.01)
n=rep(1000,20)
IntraCorr=intraMode(d,n)
#Jackknife correction
IntraCorr=intraMode(d,n, JC=TRUE)
#Bootstrap correction with confidence intervals
IntraCorr=intraMode(d,n, B=1000, CI_Boot=0.95 )
#Bootstrap correction with confidence intervals and plot
IntraCorr=intraMode(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=intraMode(D1,N1, DB=c(10,50))