H2ExtMO3FParam-class: Three-factor H2-extendible Marshall-Olkin calibration...

H2ExtMO3FParam-classR Documentation

Three-factor H2-extendible Marshall–Olkin calibration parameter

Description

CalibrationParam for the H2-extendible Marshall-Olkin (average) default counting process model with 3 parameter. Extends H2ExtMOParam and related to ExtMO2FParam.

Usage

## S4 method for signature 'H2ExtMO3FParam'
initialize(.Object, composition, lambda, nu, fraction, rho, tau, alpha)

## S4 method for signature 'H2ExtMO3FParam'
expected_pcds_equation(
  object,
  times,
  discount_factors,
  recovery_rate,
  coupon,
  upfront,
  ...,
  method = c("default", "prob", "mc")
)

## S4 method for signature 'H2ExtMO3FParam'
show(object)

## S4 method for signature 'ArmageddonH2ExtMO3FParam'
simulate_dt(object, ..., n_sim = 10000L)

## S4 method for signature 'ArmageddonH2ExtMO3FParam'
simulate_adcp(object, times, ..., n_sim = 10000L)

Arguments

.Object

An object: see the “Initialize Methods” section.

composition

An integerish vector with the composition.

lambda

Marginal intensity.

nu

(Internal) Outer and inner bivariate dependence parameter.

fraction

(Internal) proportion associated with the global model, see details.

rho

Outer and inner bivariate Spearman's Rho.

tau

Outer and inner bivariate Kendall's Tau.

alpha

Outer and inner bivariate lower tail-dependence coefficient.

object

A CalibrationParam-object.

times

A non-negative numeric vector of timepoints.

discount_factors

Non-negative numeric vector for the discount factors for the timepoints.

recovery_rate

Non-negative number between zero and one for the recovery rate..

coupon

Numeric number for the running coupon.

upfront

Numeric number for the upfront payment.

...

arguments to specify properties of the new object, to be passed to initialize().

method

Calculation method (either "default", "prob" (requires implementation of probability_distribution), or "mc").

n_sim

Number of samples.

Details

The model is defined by the assumption that the multivariate default times τ = (τ_1, …, τ_d) are H2-extendible Marshall-Olkin, see H2ExtMOParam for the details. This class provides an interface for easy-to-use, 3-factor families for this model. For all implemented families, the marginal rate can be specified by lambda and the (internal) dependence parameters (model specific) of the global model and the component models can be specified by nu. The dependence parameter nu should not be set by the user; instead they should provide either rho (Spearman's Rho), tau (Kendall's Tau), or alpha (lower tail-dependence coefficient). The parameters rho, tau, or alpha should be between zero and one, of length 2, and non-decreasing; the first value represents the outer dependence between components of different partition elements and the second value represents the inner dependence between components of the same partition element. Setting either of the three dependence parameters implicitely sets the fraction-slot, too. The link between lower tail-dependence coefficient α and Spearman's Rho and Kendall's Tau is (all calculations are component-wise)

  • α = 4 ρ / (3 + ρ) and ρ = 3 α / (4 - α)

  • α = 2 τ / (1 + τ) and τ = α / (2 - α)

Consider \tilde{α} to be the vector of the actual lower TDC of the global and the component model and κ to be the fraction parameter. Then:

α_1 = κ \tilde{α}_1, α_2 = κ \tilde{α}_1 + (1 - κ) \tilde{α}_2

and

\tilde{α}_1 = \frac{α_1}{κ}, \tilde{α_2} = \frac{α_2 - α_1}{1 - κ} .

In particular, the boundaries \tilde{α}_i \in [0, 1] impose the restrictions

α_1 ≤q κ ≤q α_1 + (1 - α_2).

For the families deriving from H2ExtMO3FParam we choose the default value for fraction to be the midpoint of the admissible interval, i.e.

κ = \frac{2 α_1 + 1 - α_2}{2} .

For details on the underlying extendible models, see ExtMO2FParam.

Functions

  • initialize(H2ExtMO3FParam): Constructor

  • expected_pcds_equation(H2ExtMO3FParam): calculates the payoff equation for a portfolio CDS (vectorized w.r.t. the argumentes recovery_rate, coupon, and upfront).

  • show(H2ExtMO3FParam): Display the object.

  • simulate_dt(ArmageddonH2ExtMO3FParam): simulates the vector of default times and returns a matrix x with dim(x) == c(n_sim, getDimension(object)).

  • simulate_adcp(ArmageddonH2ExtMO3FParam): simulates the average default counting process and returns a matrix x with dim(x) == c(n_sim, length(times)).

Slots

lambda

A non-negative number for the marginal rate.

nu

A numeric vector of length 2 for the model specific dependence parameters (global and component specific; range depends on specific model). Use rho, tau, or alpha in the constructor to set dependence parameter.

Simulation

The default times are sampled using the stochastic representation described in details.

Expected portfolio CDS loss

The expected portfolio CDS loss for recovery rate R is calculated using that

\mathbb{E}[g(L_t)] = (1 - R) \cdot F(t)

with g(x) = (1 - R) \cdot x and F being the Exponential distribution function for rate λ.

Armageddon-shock calibration parameter class

Corresponds to a Lévy subordinator which is a convex combination of a pure-killing subordinator and a pure-drift subordinator.

  • ψ(x) = ν + (1 - ν) x

  • α = ν

Alpha-stable calibration parameter class

Corresponds to an α-stable subordinator.

  • ψ(x) = x^ν

  • ν = \log_2(2 - α) and α = 2 - 2^ν

Poisson calibration parameter class

Corresponds to a Lévy subrodinator which is a convex combination of a Poisson subordinator with jump size nu and a pure-drift subordinator.

  • ψ(x) = \operatorname{e}^{-ν}x + (1 - \operatorname{e}^{-x ν})

  • ν = -log(1 - sqrt(α)) and α = (1 - \operatorname{e}^{-ν})^2

Exponential calibration parameter class

Corresponds to a Lévy subordinator which is a convex combination of an Exponential-jump compound Poisson process with rate nu and unit-intensity and a pure-drift subordinator.

  • ψ(x) = (1 - 1 / (1 + ν))x + x / (x + ν)

  • ν = 0.5 \cdot (-3 + √{1 + 8 / α}) and α = 2 / (1 + ν) - 2 / (2 + ν)

Examples

ArmageddonH2ExtMO3FParam()
ArmageddonH2ExtMO3FParam(composition = c(2L, 4L, 2L), lambda = 8e-2, rho = c(3e-1, 5e-1))
AlphaStableH2ExtMO3FParam()
AlphaStableH2ExtMO3FParam(composition = c(2L, 4L, 2L), lambda = 8e-2, rho = c(3e-1, 5e-1))
PoissonH2ExtMO3FParam()
PoissonH2ExtMO3FParam(composition = c(2L, 4L, 2L), lambda = 8e-2, tau = c(3e-1, 5e-1))
ExponentialH2ExtMO3FParam()
ExponentialH2ExtMO3FParam(composition = c(2L, 4L, 2L), lambda = 8e-2, alpha = c(3e-1, 5e-1))
parm <- AlphaStableH2ExtMO3FParam(c(3, 3, 4, 5), 8e-2, rho = c(3e-1, 6e-1))
expected_pcds_equation(
  parm, times = seq(25e-2, 5, by = 25e-2), discount_factors = rep(1, 20L), recovery_rate = 0.4,
  coupon = 1e-1, upfront = 0)
expected_pcds_equation(
  parm, times = seq(25e-2, 5, by = 25e-2), discount_factors = rep(1, 20L), recovery_rate = 0.4,
  coupon = 1e-1, upfront = 0, method = "mc", n_sim = 1e1)

composition <- c(2L, 4L, 2L)
d <- sum(composition)
parm <- ArmageddonH2ExtMO3FParam(composition = composition, lambda = 1e-1, alpha = c(0.2, 0.5))
simulate_dt(parm, n_sim = 1e1L)

composition <- c(2L, 4L, 2L)
d <- sum(composition)
parm <- ArmageddonH2ExtMO3FParam(composition = composition, lambda = 1e-1, alpha = c(0.2, 0.5))
simulate_adcp(parm, 1, n_sim = 1e1L)
simulate_adcp(parm, seq(25e-2, 5, by = 25e-2), n_sim = 1e1L)


hsloot/cvalr documentation built on Sept. 24, 2022, 9:25 a.m.