Options
All
  • Public
  • Public/Protected
  • All
Menu

Piecewise year-on-year inflation volatility term structure

We use a flat smile for bootstrapping at constant K. Happily most of the work has already been done in the bootstrapping classes. We only need to add special attention for the start where there is usually no data, only assumptions.

Hierarchy

Implements

Index

Constructors

constructor

Properties

_accuracy

_accuracy: Real

_alwaysForward

_alwaysForward: boolean = false

_baseLevel

_baseLevel: Volatility

_base_curve

_base_curve: VolatilityCurve

_bdc

_bootstrap

_calculated

_calculated: boolean = false

_calendar

_calendar: Calendar

_data

_data: Real[]

_dates

_dates: Date[]

_dayCounter

_dayCounter: DayCounter

_extrapolate

_extrapolate: boolean = false

_frequency

_frequency: Frequency

_frozen

_frozen: boolean = false

_indexIsInterpolated

_indexIsInterpolated: boolean

_instruments

_instruments: BootstrapHelper[]

_interpolation

_interpolation: Interpolation

_interpolator

_interpolator: Interpolator

_isDisposed

_isDisposed: boolean = false

_maxDate

_maxDate: Date

_maxStrike

_maxStrike: Rate

_minStrike

_minStrike: Rate

_moving

_moving: boolean

_nodes

_nodes: Array<[Date, Real]>

_observables

_observables: Set<Observable> = new Set()

_observationLag

_observationLag: Period

_observers

_observers: Set<Observer> = new Set()

_referenceDate

_referenceDate: Date

_settlementDays

_settlementDays: Natural

_times

_times: Time[]

_traits

_traits: Traits

_updated

_updated: boolean

allowsExtrapolation

allowsExtrapolation: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

alwaysForwardNotifications

alwaysForwardNotifications: () => void

Type declaration

    • (): void
    • Returns void

baseLevel

baseLevel: () => Volatility

Type declaration

businessDayConvention

businessDayConvention: () => BusinessDayConvention

Type declaration

calculate

calculate: () => void

Type declaration

    • (): void
    • Returns void

calendar

calendar: () => Calendar

Type declaration

checkRange1

checkRange1: (d: Date, extrapolate: boolean) => void

Type declaration

    • (d: Date, extrapolate: boolean): void
    • Parameters

      • d: Date
      • extrapolate: boolean

      Returns void

checkRange2

checkRange2: (t: Time, extrapolate: boolean) => void

Type declaration

    • (t: Time, extrapolate: boolean): void
    • Parameters

      • t: Time
      • extrapolate: boolean

      Returns void

checkRange3

checkRange3: (d: Date, strike: Rate, extrapolate: boolean) => void

Type declaration

    • (d: Date, strike: Rate, extrapolate: boolean): void
    • Parameters

      • d: Date
      • strike: Rate
      • extrapolate: boolean

      Returns void

checkRange4

checkRange4: (t: Time, strike: Rate, extrapolate: boolean) => void

Type declaration

    • (t: Time, strike: Rate, extrapolate: boolean): void
    • Parameters

      • t: Time
      • strike: Rate
      • extrapolate: boolean

      Returns void

checkStrike

checkStrike: (k: Rate, extrapolate: boolean) => void

Type declaration

    • (k: Rate, extrapolate: boolean): void
    • Parameters

      • k: Rate
      • extrapolate: boolean

      Returns void

curveInit1

curveInit1: (settlementDays: Natural, cal: Calendar, bdc: BusinessDayConvention, dc: DayCounter, lag: Period, frequency: Frequency, indexIsInterpolated: boolean, d: Date[], v: Volatility[], minStrike: Rate, maxStrike: Rate, i?: Interpolator) => InterpolatedYoYOptionletVolatilityCurve

Type declaration

curveInit2

curveInit2: (settlementDays: Natural, cal: Calendar, bdc: BusinessDayConvention, dc: DayCounter, lag: Period, frequency: Frequency, indexIsInterpolated: boolean, minStrike: Rate, maxStrike: Rate, baseYoYVolatility: Volatility, i?: Interpolator) => InterpolatedYoYOptionletVolatilityCurve

Type declaration

dayCounter

dayCounter: () => DayCounter

Type declaration

deepUpdate

deepUpdate: () => void

Type declaration

    • (): void
    • Returns void

disableExtrapolation

disableExtrapolation: (b: boolean) => void

Type declaration

    • (b: boolean): void
    • Parameters

      • b: boolean

      Returns void

dispose

dispose: () => void

Type declaration

    • (): void
    • Returns void

enableExtrapolation

enableExtrapolation: (b: boolean) => void

Type declaration

    • (b: boolean): void
    • Parameters

      • b: boolean

      Returns void

freeze

freeze: () => void

Type declaration

    • (): void
    • Returns void

frequency

frequency: () => Frequency

Type declaration

icInit1

icInit1: (times: Time[], data: Real[], i?: Interpolator) => InterpolatedCurve

Type declaration

icInit2

icInit2: (times: Time[], i?: Interpolator) => InterpolatedCurve

Type declaration

icInit3

icInit3: (n: Size, i?: Interpolator) => InterpolatedCurve

Type declaration

icInit4

Type declaration

icInit5

Type declaration

indexIsInterpolated

indexIsInterpolated: () => boolean

Type declaration

    • (): boolean
    • Returns boolean

isDisposed

isDisposed: boolean

maxTime

maxTime: () => Time

Type declaration

notifyObservers

notifyObservers: () => void

Type declaration

    • (): void
    • Returns void

observationLag

observationLag: () => Period

Type declaration

optionDateFromTenor

optionDateFromTenor: (p: Period) => Date

Type declaration

recalculate

recalculate: () => void

Type declaration

    • (): void
    • Returns void

referenceDate

referenceDate: () => Date

Type declaration

    • (): Date
    • Returns Date

registerObserver

registerObserver: (o: Observer) => void

Type declaration

registerWith

registerWith: (h: Observable) => void

Type declaration

registerWithObservables

registerWithObservables: (o: Observer) => void

Type declaration

setBaseLevel

setBaseLevel: (v: Volatility) => void

Type declaration

settlementDays

settlementDays: () => Natural

Type declaration

setupInterpolation

setupInterpolation: () => void

Type declaration

    • (): void
    • Returns void

timeFromBase

timeFromBase: (maturityDate: Date, obsLag?: Period) => Time

Type declaration

    • Parameters

      • maturityDate: Date
      • Optional obsLag: Period

      Returns Time

timeFromReference

timeFromReference: (date: Date) => Time

Type declaration

    • (date: Date): Time
    • Parameters

      • date: Date

      Returns Time

totalVariance1

totalVariance1: (maturityDate: Date, strike: Rate, obsLag?: Period, extrapolate?: boolean) => Volatility

Type declaration

    • Parameters

      • maturityDate: Date
      • strike: Rate
      • Optional obsLag: Period
      • Optional extrapolate: boolean

      Returns Volatility

totalVariance2

totalVariance2: (tenor: Period, strike: Rate, obsLag?: Period, extrapolate?: boolean) => Volatility

Type declaration

tsInit1

tsInit1: (dc: DayCounter) => TermStructure

Type declaration

tsInit2

tsInit2: (referenceDate: Date, calendar: Calendar, dc: DayCounter) => TermStructure

Type declaration

tsInit3

tsInit3: (settlementDays: Natural, calendar: Calendar, dc: DayCounter) => TermStructure

Type declaration

unfreeze

unfreeze: () => void

Type declaration

    • (): void
    • Returns void

unregisterObserver

unregisterObserver: (o: Observer) => void

Type declaration

unregisterWith

unregisterWith: (h: Observable) => Size

Type declaration

unregisterWithAll

unregisterWithAll: () => void

Type declaration

    • (): void
    • Returns void

volatility1

volatility1: (maturityDate: Date, strike: Rate, obsLag?: Period, extrapolate?: boolean) => Volatility

Type declaration

    • Parameters

      • maturityDate: Date
      • strike: Rate
      • Optional obsLag: Period
      • Optional extrapolate: boolean

      Returns Volatility

volatility2

volatility2: (optionTenor: Period, strike: Rate, obsLag?: Period, extrapolate?: boolean) => Volatility

Type declaration

vtsInit1

Type declaration

vtsInit2

vtsInit2: (referenceDate: Date, cal: Calendar, bdc: BusinessDayConvention, dc?: DayCounter) => VolatilityTermStructure

Type declaration

vtsInit3

vtsInit3: (settlementDays: Natural, cal: Calendar, bdc: BusinessDayConvention, dc?: DayCounter) => VolatilityTermStructure

Type declaration

yoyovsInit

yoyovsInit: (settlementDays: Natural, cal: Calendar, bdc: BusinessDayConvention, dc: DayCounter, observationLag: Period, frequency: Frequency, indexIsInterpolated: boolean) => YoYOptionletVolatilitySurface

Type declaration

Methods

baseDate

  • baseDate(): Date

data

dates

  • dates(): Date[]

maxDate

  • maxDate(): Date

maxStrike

minStrike

nodes

  • nodes(): Array<[Date, Real]>

performCalculations

  • performCalculations(): void

pyoyovcInit

times

update

  • update(): void

volatilityImpl