For every pool and every reference age tau of the grid, the expected
loss best estimate is the mean realized LGD of the training defaults of
the pool that were still in workout at tau (so that at tau = 0 it
equals the pool's long-run average), and the in-default LGD adds the
unexpected-loss increment
$$\Delta^{UL}(\tau) = \max(0,\ \mathrm{LGD}^{DT} - \mathrm{LRA})\;\frac{\rho(T_{\max}) - \rho(\tau - 1)}{\rho(T_{\max})}$$
read from the recovery profile of the pool's product mix, where
\(\rho(\tau - 1)\) is the cumulative discounted recovery rate of the
months before age tau (zero at tau = 0): the downturn uplift
shrinks as the recoveries come in. The consistency table checks
that lgd_in_default at tau = 0 reproduces the pool's lgd_dt.
Arguments
- x
An
scr_lgd()object.- grid
Months since default;
NULLuseslgd_elbe_grid.
Value
An object of class scr_elbe: table (months_since_default,
pool, n_open, share_open, recovered_share, elbe, delta_ul,
lgd_in_default), consistency (per pool at tau = 0), grid, t_max.
See also
Other irb-lgd:
scr_lgd(),
scr_lgd_downturn(),
scr_lgd_floor(),
scr_lgd_pools(),
scr_lgd_validate(),
scr_workout()
Examples
cfg <- scr_config(verbose = FALSE, nthread = 1, n_boot = 20)
wo <- scr_workout(scr_demo_lgd, scr_demo_lgd_cashflows, rates = scr_demo_rates, config = cfg)
m <- scr_lgd(wo, drivers = c("product", "ltv", "prior_dpd_max"), config = cfg)
e <- scr_elbe(m)
e
#> <scr_elbe> 4 pools x 5 reference ages (months since default: 0, 6, 12, 24, 36) | t_max 60
#> consistency at tau = 0: ELBE equals the LRA and the in-default LGD equals the downturn LGD
#> in-default LGD by pool and age
#> pool m0 m6 m12 m24 m36
#> 1 42.5% 59.3% 56.0% 48.3% 45.0%
#> 2 53.7% 73.5% 71.2% 64.9% 65.0%
#> 3 67.7% 78.2% 73.3% 70.4% 69.7%
#> 4 77.0% 93.2% 92.9% 84.1% 84.6%
