Options
All
  • Public
  • Public/Protected
  • All
Menu

Black volatility curve modelled as variance curve

This class calculates time-dependent Black volatilities using as input a vector of (ATM) Black volatilities observed in the market.

The calculation is performed interpolating on the variance curve. Linear interpolation is used as default; this can be changed by the setInterpolation() method.

For strike dependence, see BlackVarianceSurface.

todo check time extrapolation

Hierarchy

Implements

Index

Constructors

constructor

Properties

_bdc

_calendar

_calendar: Calendar

_dayCounter

_dayCounter: DayCounter

_extrapolate

_extrapolate: boolean

_isDisposed

_isDisposed: boolean = false

Private _maxDate

_maxDate: Date

_moving

_moving: boolean

_observables

_observables: Set<Observable> = new Set()

_observers

_observers: Set<Observer> = new Set()

_referenceDate

_referenceDate: Date

_settlementDays

_settlementDays: Natural

Private _times

_times: Time[]

_updated

_updated: boolean

Private _varianceCurve

_varianceCurve: Interpolation

Private _variances

_variances: Real[]

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

accept

blackForwardVariance1

  • blackForwardVariance1(date1: Date, date2: Date, strike: Real, extrapolate?: boolean): Volatility

blackForwardVariance2

blackForwardVol1

  • blackForwardVol1(date1: Date, date2: Date, strike: Real, extrapolate?: boolean): Volatility

blackForwardVol2

blackVariance1

  • blackVariance1(d: Date, strike: Real, extrapolate?: boolean): Volatility

blackVariance2

blackVarianceImpl

blackVol1

blackVol2

blackVolImpl

businessDayConvention

bvtsInit1

bvtsInit2

bvtsInit3

calendar

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

    Returns Calendar

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

checkStrike

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

dayCounter

maxDate

  • maxDate(): Date
  • Returns Date

maxStrike

maxTime

  • the latest time for which the curve can return values

    Returns Time

minStrike

optionDateFromTenor

  • optionDateFromTenor(p: Period): Date

referenceDate

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

    Returns Date

setInterpolation

  • Parameters

    Returns void

settlementDays

timeFromReference

  • timeFromReference(d: Date): Time

tsInit1

tsInit2

tsInit3

update

  • update(): void

vtsInit1

vtsInit2

vtsInit3