Options
All
  • Public
  • Public/Protected
  • All
Menu

Binomial Defaultable Basket Loss Model

Models the portfolio loss distribution by approximatting it to an adjusted binomial. Fits the two moments of the loss distribution through an adapted binomial approximation. This simple model allows for portfolio inhomogeneity with no excesive cost over the LHP.\par See:\par Approximating Independent Loss Distributions with an Adjusted Binomial Distribution , Dominic O'Kane, 2007 EDHEC RISK AND ASSET MANAGEMENT RESEARCH CENTRE \par Modelling single name and multi-name credit derivatives Chapter 18.5.2, Dominic O'Kane, Wiley Finance, 2008 \par The version presented here is adaptated to the multifactorial case by computing a conditional binomial approximation; notice that the Binomial is stable. This way the model can be used also in risk management models rather than only in pricing. The copula is also left undefined/arbitrary. \par LLM: Loss Latent Model template parameter able to model default and loss.\par The model is allowed and arbitrary copula, although initially designed for a Gaussian setup. If these exotic versions were not allowed the template parameter can then be dropped but the use of random recoveries should be added in some other way.

todo

untested/wip for the random recovery models.

todo

integrate with the previously computed probability inversions of the cumulative functions.

Hierarchy

Index

Constructors

constructor

Properties

LLM

LLM: any

Protected _attachAmount

_attachAmount: Real

_basket

_basket: RelinkableHandle<Basket> = new RelinkableHandle()

Protected _copula

_copula: any

Protected _detachAmount

_detachAmount: Real

_isDisposed

_isDisposed: boolean = false

_observers

_observers: Set<Observer>

Accessors

isDisposed

  • get isDisposed(): boolean

Methods

averageLoss

  • averageLoss(d: Date, reminingNots: Real[], mktFctrs: Real[]): Real
  • Parameters

    • d: Date
    • reminingNots: Real[]
    • mktFctrs: Real[]

    Returns Real

blmInit

  • Parameters

    • copula: any

    Returns BinomialLossModel

condTrancheLoss

  • Parameters

    Returns Real

defaultCorrelation

  • defaultCorrelation(d: Date, iName: Size, jName: Size): Real

densityTrancheLoss

  • densityTrancheLoss(d: Date, lossFraction: Real): Real
  • Probability density of a given loss fraction of the basket notional.

    Parameters

    • d: Date
    • lossFraction: Real

    Returns Real

dispose

  • dispose(): void
  • Returns void

expConditionalLgd

  • expConditionalLgd(d: Date, mktFactors: Real[]): Real[]
  • Parameters

    • d: Date
    • mktFactors: Real[]

    Returns Real[]

expectedDistribution

  • expectedDistribution(date: Date): Real[]
  • Returns the probability of the default loss values given by the method lossPoints.

    Parameters

    • date: Date

    Returns Real[]

expectedRecovery

expectedShortfall

  • expectedShortfall(d: Date, perctl: Real): Real

expectedTrancheLoss

  • expectedTrancheLoss(d: Date): Real

lossDistribution

lossPoints

  • lossPoints(d: Date): Real[]
  • Parameters

    • d: Date

    Returns Real[]

lossProbability

  • lossProbability(date: Date, bsktNots: Real[], uncondDefProbInv: Real[], mktFactors: Real[]): Real[]
  • Parameters

    • date: Date
    • bsktNots: Real[]
    • uncondDefProbInv: Real[]
    • mktFactors: Real[]

    Returns Real[]

notifyObservers

  • notifyObservers(): void
  • This method should be called at the end of non-const methods or when the programmer desires to notify any changes.

    Returns void

percentile

probAtLeastNEvents

  • Returns the probaility of having a given or larger number of defaults in the basket portfolio at a given time.

    Parameters

    Returns Probability

probOverLoss

  • Probability of the tranche losing the same or more than the fractional amount given.

    The passed lossFraction is a fraction of losses over the tranche notional (not the portfolio).

    Parameters

    • d: Date
    • lossFraction: Real

    Returns Probability

probsBeingNthEvent

  • Probabilities for each of the (remaining) basket elements in the pool to have defaulted by time d and at the same time be the Nth defaulting name to default in the basket. This method is oriented to default order dependent portfolio pricing (e.g. NTDs) The the probabilities ordering in the vector coincides with the pool order.

    Parameters

    Returns Probability[]

registerObserver

resetModel

  • resetModel(): void

setBasket

  • setBasket(bskt: Basket): void

splitESFLevel

  • splitESFLevel(d: Date, loss: Real): Real[]
  • Associated ESF fraction to each counterparty.

    Parameters

    • d: Date
    • loss: Real

    Returns Real[]

splitVaRLevel

  • splitVaRLevel(d: Date, loss: Real): Real[]
  • Associated VaR fraction to each counterparty.

    Parameters

    • d: Date
    • loss: Real

    Returns Real[]

unregisterObserver