Options
All
  • Public
  • Public/Protected
  • All
Menu

Matrix based Base Correlation Term Structure

Loss level versus time interpolated scalar copula type parametric correlation term structure. Represents the correlation for the credit loss level of a given portfolio at a given loss level and time.

todo

The relation to a given basket is to be made explicit for bespoke models to be implemented.

todo

Consider moving to a matrix data structure. A matrix might make some computations heavy, template specialization on the dimension might be an alternative to having two classes, one for scalars and another for matrices.

todo

Rethink all the data structure with a basket where current losses are not zero.

todo

In principle the 2D interpolator is left optional since there are arbitrage issues on the interpolator type to be used. However one has to be careful when using non local interpolators like CubicSplines which have an effect on the past (calibrated) coupons of previous tenors.

Hierarchy

Implements

Index

Constructors

constructor

Properties

Interpolator2D_T

Interpolator2D_T: Interpolator2D

_calendar

_calendar: Calendar

Private _correlHandles

_correlHandles: Array<Array<Handle<Quote>>>

Private _correlations

_correlations: Matrix

_dayCounter

_dayCounter: DayCounter

_extrapolate

_extrapolate: boolean

Private _interpolation

_interpolation: Interpolation2D

_isDisposed

_isDisposed: boolean = false

Private _lossLevel

_lossLevel: Real[]

_moving

_moving: boolean

Private _nLosses

_nLosses: Size

Private _nTrancheTenors

_nTrancheTenors: Size

_observables

_observables: Set<Observable> = new Set()

_observers

_observers: Set<Observer> = new Set()

_referenceDate

_referenceDate: Date

_settlementDays

_settlementDays: Natural

Private _tenors

_tenors: Period[]

Private _trancheDates

_trancheDates: Date[]

Private _trancheTimes

_trancheTimes: Time[]

_updated

_updated: boolean

allowsExtrapolation

allowsExtrapolation: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

deepUpdate

deepUpdate: () => void

Type declaration

    • (): void
    • Returns void

disableExtrapolation

disableExtrapolation: (b?: boolean) => void

Type declaration

    • (b?: boolean): void
    • Parameters

      • Optional b: boolean

      Returns void

dispose

dispose: () => void

Type declaration

    • (): void
    • Returns void

enableExtrapolation

enableExtrapolation: (b?: boolean) => void

Type declaration

    • (b?: boolean): void
    • Parameters

      • Optional b: boolean

      Returns void

isDisposed

isDisposed: boolean

notifyObservers

notifyObservers: () => void

Type declaration

    • (): void
    • Returns void

registerObserver

registerObserver: (o: Observer) => void

Type declaration

registerWith

registerWith: (h: Observable) => void

Type declaration

registerWithObservables

registerWithObservables: (o: Observer) => void

Type declaration

unregisterObserver

unregisterObserver: (o: Observer) => void

Type declaration

unregisterWith

unregisterWith: (h: Observable) => Size

Type declaration

unregisterWithAll

unregisterWithAll: () => void

Type declaration

    • (): void
    • Returns void

Methods

bctsInit

businessDayConvention

calendar

  • the calendar used for reference and/or option date calculation

    Returns Calendar

checkInputs

  • checkInputs(volRows: Size, volsColumns: Size): void
  • Parameters

    Returns void

checkLosses

  • checkLosses(): void
  • Returns void

checkRange1

  • checkRange1(d: Date, extrapolate: boolean): void
  • date-range check

    Parameters

    • d: Date
    • extrapolate: boolean

    Returns void

checkRange2

  • checkRange2(t: Time, extrapolate: boolean): void
  • time-range check

    Parameters

    • t: Time
    • extrapolate: boolean

    Returns void

checkTrancheTenors

  • checkTrancheTenors(): void
  • Returns void

correlation1

  • correlation1(d: Date, lossLevel: Real, extrapolate?: boolean): Real
  • Parameters

    • d: Date
    • lossLevel: Real
    • Default value extrapolate: boolean = false

    Returns Real

correlation2

  • correlation2(t: Time, lossLevel: Real, extrapolate?: boolean): Real
  • Parameters

    • t: Time
    • lossLevel: Real
    • Default value extrapolate: boolean = false

    Returns Real

correlationSize

  • correlationSize(): Size

ctsInit1

ctsInit2

ctsInit3

dateFromTenor

  • dateFromTenor(p: Period): Date

dayCounter

initializeTrancheTimes

  • initializeTrancheTimes(): void
  • Returns void

maxDate

  • maxDate(): Date
  • Returns Date

maxTime

  • the latest time for which the curve can return values

    Returns Time

referenceDate

  • referenceDate(): Date
  • the date at which discount = 1.0 and/or variance = 0.0

    Returns Date

registerWithMarketData

  • registerWithMarketData(): void
  • Returns void

settlementDays

Private setupInterpolation

  • setupInterpolation(): void
  • Returns void

timeFromReference

  • timeFromReference(d: Date): Time

tsInit1

tsInit2

tsInit3

update

  • update(): void
  • Returns void

updateMatrix

  • updateMatrix(): void
  • Returns void