Options
All
  • Public
  • Public/Protected
  • All
Menu

Bilateral (CVA and DVA) default adjusted vanilla swap pricing engine. Collateral is not considered. No wrong way risk is considered (rates and counterparty default are uncorrelated). Based on: Sorensen, E.H. and Bollier, T.F., Pricing swap default risk. Financial Analysts Journal, 1994, 50, 23–33 Also see sect. II-5 in: Risk Neutral Pricing of Counterparty Risk D. Brigo, M. Masetti, 2004 or in sections 3 and 4 of "A Formula for Interest Rate Swaps Valuation under Counterparty Risk in presence of Netting Agreements" D. Brigo and M. Masetti; May 4, 2005

to do: Compute fair rate through iteration instead of the current approximation . to do: write Issuer based constructors (event type) to do: Check consistency between option engine discount and the one given

Hierarchy

  • engine
    • CounterpartyAdjSwapEngine

Implements

Index

Constructors

constructor

Properties

_arguments

_arguments: Arguments

Private _baseSwapEngine

_baseSwapEngine: Handle<PricingEngine>

Private _ctptyRecoveryRate

_ctptyRecoveryRate: Real

Private _defaultTS

Private _discountCurve

_discountCurve: Handle<YieldTermStructure>

Private _invstDTS

Private _invstRecoveryRate

_invstRecoveryRate: Real

_isDisposed

_isDisposed: boolean = false

_observables

_observables: Set<Observable> = new Set()

_observers

_observers: Set<Observer> = new Set()

_results

_results: Results

Private _swaptionletEngine

_swaptionletEngine: Handle<PricingEngine>

deepUpdate

deepUpdate: () => void

Type declaration

    • (): void
    • Returns void

dispose

dispose: () => void

Type declaration

    • (): void
    • 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

calculate

  • calculate(): void

getArguments

  • getArguments(): Arguments

getResults

  • getResults(): Results

init1

init2

init3

reset

  • reset(): void

update

  • update(): void