Options
All
  • Public
  • Public/Protected
  • All
Menu

Default loss model interface definition.

Allows communication between the basket and specific algorithms. Intended to hold any kind of portfolio joint loss, latent models, top-down,....

An inconvenience of this design as opposed to the full arguments/results is that when pricing several derivatives instruments on the same basket not all the pricing engines would point to the same loss model; thus when pricing a set of such instruments there might be some switching on the basket loss models, which might require recalculations (of the basket) or not depending on the pricing order.

Hierarchy

Implemented by

Index

Constructors

constructor

Properties

_basket

_basket: RelinkableHandle<Basket> = new RelinkableHandle()

_isDisposed

_isDisposed: boolean = false

_observers

_observers: Set<Observer>

Accessors

isDisposed

  • get isDisposed(): boolean

Methods

defaultCorrelation

  • defaultCorrelation(d: Date, iName: Size, jName: Size): Real
  • Pearsons' default probability correlation.

    Parameters

    Returns 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

expectedRecovery

  • Expected RR for name conditinal to default by that date.

    Parameters

    Returns Real

expectedShortfall

  • expectedShortfall(d: Date, percentile: Real): Real
  • Expected shortfall given a default loss percentile.

    Parameters

    • d: Date
    • percentile: Real

    Returns Real

expectedTrancheLoss

  • expectedTrancheLoss(d: Date): Real
  • Parameters

    • d: Date

    Returns Real

lossDistribution

  • Full loss distribution.

    Parameters

    • d: Date

    Returns Map<Real, Probability>

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

  • percentile(d: Date, percentile: Real): Real
  • Value at Risk given a default loss percentile.

    Parameters

    • d: Date
    • percentile: Real

    Returns Real

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
  • Returns void

setBasket

  • setBasket(bskt: Basket): void
  • Parameters

    Returns 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