Options
All
  • Public
  • Public/Protected
  • All
Menu

CMS-coupon pricer

Prices a cms coupon using a linear terminal swap rate model The slope parameter is linked to a gaussian short rate model. Reference: Andersen, Piterbarg, Interest Rate Modeling, 16.3.2

The cut off point for integration can be set

  • by explicitly specifying the lower and upper bound
  • by defining the lower and upper bound to be the strike where a vanilla swaption has 1% or less vega of the atm swaption
  • by defining the lower and upper bound to be the strike where undeflated (!) payer resp. receiver prices are below a given threshold
  • by specificying a number of standard deviations to cover using a Black Scholes process with an atm volatility as a benchmark

In every case the lower and upper bound are applied though. In case the smile section is shifted lognormal, the specified lower and upper bound are applied to strike + shift so that e.g. a zero lower bound always refers to the lower bound of the rates in the shifted lognormal model. Note that for normal volatility input the lower rate bound is adjusted to min(-upperBound, lowerBound), except the bounds are set explicitly.

Hierarchy

Implements

Index

Constructors

constructor

Properties

Private _a

_a: Real

Private _adjustedLowerBound

_adjustedLowerBound: Real

Private _adjustedUpperBound

_adjustedUpperBound: Real

Private _annuity

_annuity: Real

Private _b

_b: Real

Private _coupon

_coupon: CmsCoupon

Private _couponDiscountCurve

_couponDiscountCurve: Handle<YieldTermStructure>

Private _couponDiscountRatio

_couponDiscountRatio: Real

Private _discountCurve

_discountCurve: Handle<YieldTermStructure>

Private _fixingDate

_fixingDate: Date

Private _forwardCurve

_forwardCurve: Handle<YieldTermStructure>

Private _gearing

_gearing: Real

Private _integrator

_integrator: Integrator

_isDisposed

_isDisposed: boolean = false

Private _meanReversion

_meanReversion: Handle<Quote>

_observables

_observables: Set<Observable> = new Set()

_observers

_observers: Set<Observer> = new Set()

Private _paymentDate

_paymentDate: Date

Private _settings

_settings: Settings

Private _smileSection

_smileSection: SmileSection

Private _spread

_spread: Real

Private _spreadLegValue

_spreadLegValue: Real

Private _swap

Private _swapIndex

_swapIndex: SwapIndex

Private _swapRateValue

_swapRateValue: Real

Private _swapTenor

_swapTenor: Period

_swaptionVol

Private _today

_today: Date

Private _volDayCounter

_volDayCounter: DayCounter

deepUpdate

deepUpdate: () => void

Type declaration

    • (): void
    • Returns void

dispose

dispose: () => void

Type declaration

    • (): void
    • Returns void

init

Type declaration

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

setSwaptionVolatility

setSwaptionVolatility: (v: Handle<SwaptionVolatilityStructure>) => void

Type declaration

swaptionVolatility

swaptionVolatility: () => Handle<SwaptionVolatilityStructure>

unregisterObserver

unregisterObserver: (o: Observer) => void

Type declaration

unregisterWith

unregisterWith: (h: Observable) => Size

Type declaration

unregisterWithAll

unregisterWithAll: () => void

Type declaration

    • (): void
    • Returns void

update

update: () => void

Type declaration

    • (): void
    • Returns void

Static defaultLowerBound

defaultLowerBound: Real = 0.0001

Static defaultUpperBound

defaultUpperBound: Real = 2

Methods

GsrG

  • GsrG(d: Date): Real
  • Parameters

    • d: Date

    Returns Real

capletPrice

capletRate

floorletPrice

  • floorletPrice(effectiveFloor: Rate): Real

floorletRate

  • floorletRate(effectiveFloor: Rate): Rate

initialize

integrand

  • Parameters

    Returns Real

meanReversion

  • meanReversion(): Real

optionletPrice

  • Parameters

    Returns Real

setMeanReversion

singularTerms

  • Parameters

    Returns Real

strikeFromPrice

  • Parameters

    Returns Real

strikeFromVegaRatio

  • strikeFromVegaRatio(ratio: Real, optionType: Type, referenceStrike: Real): Real
  • Parameters

    Returns Real

swapletPrice

  • swapletPrice(): Real

swapletRate

  • swapletRate(): Rate