Options
All
  • Public
  • Public/Protected
  • All
Menu

Calibration of a local volatility surface to a sparse grid of options

References:

Andreasen J., Huge B., 2010. Volatility Interpolation https://ssrn.com/abstract=1694972

Hierarchy

Implements

Index

Type aliases

Static CalibrationSet

CalibrationSet: Array<[VanillaOption, Quote]>

Constructors

constructor

Properties

_alwaysForward

_alwaysForward: boolean = false

Private _avgError

_avgError: Real

_calculated

_calculated: boolean = false

Private _calibrationMatrix

_calibrationMatrix: Size[][]

Private _calibrationResults

_calibrationResults: SingleStepCalibrationResult[]

Private _calibrationSet

_calibrationSet: CalibrationSet

Private _calibrationType

_calibrationType: CalibrationType

Private _dT

_dT: Time[]

Private _endCriteria

_endCriteria: EndCriteria

Private _expiries

_expiries: Date[]

Private _expiryTimes

_expiryTimes: Time[]

_frozen

_frozen: boolean = false

Private _gridInFwd

_gridInFwd: Real[]

Private _gridPoints

_gridPoints: Real[]

Private _interpolationType

_interpolationType: InterpolationType

_isDisposed

_isDisposed: boolean = false

Private _localVolCache

_localVolCache: TimeValueCacheType

Private _maxError

_maxError: Real

Private _maxStrike

_maxStrike: Real

Private _mesher

Private _minError

_minError: Real

Private _minStrike

_minStrike: Real

Private _nGridPoints

_nGridPoints: Size

_observables

_observables: Set<Observable> = new Set()

_observers

_observers: Set<Observer> = new Set()

Private _optimizationMethod

_optimizationMethod: OptimizationMethod

Private _priceCache

_priceCache: TimeValueCacheType

Private _qTS

Private _rTS

Private _spot

_spot: Handle<Quote>

Private _strikes

_strikes: Real[]

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

alwaysForwardNotifications

  • alwaysForwardNotifications(): void
  • This method causes the object to forward all notifications, even when not calculated. The default behavior is to forward the first notification received, and discard the others until recalculated; the rationale is that observers were already notified, and don't need further notification until they recalculate, at which point this object would be recalculated too. After recalculation, this object would again forward the first notification received.

    warning Forwarding all notifications will cause a performance hit, and should be used only when discarding notifications cause an incorrect behavior.

    Returns void

Private buildCostFunction

  • Parameters

    Returns AndreasenHugeCostFunction

calculate

  • calculate(): void
  • This method performs all needed calculations by calling the performCalculations method.

    warning Objects cache the results of the previous calculation. Such results will be returned upon later invocations of calculate. When the results depend on arguments which could change between invocations, the lazy object must register itself as observer of such objects for the calculations to be performed again when they change.

    warning Should this method be redefined in derived classes, LazyObject.calculate() should be called in the overriding method.

    Returns void

calibrationError

  • Returns [Real, Real, Real]

deepUpdate

  • deepUpdate(): void

freeze

  • freeze(): void
  • This method constrains the object to return the presently cached results on successive invocations, even if arguments upon which they depend should change.

    Returns void

fwd

  • Parameters

    Returns Real

Private getCacheValue

  • Parameters

    Returns Real

Private getExerciseTimeIdx

  • Parameters

    Returns Size

Private getLocalVolSlice

  • Parameters

    Returns Real[]

Private getPriceSlice

  • Parameters

    Returns Real[]

localVol

  • Parameters

    Returns Volatility

maxDate

  • maxDate(): Date
  • Returns Date

maxStrike

  • Returns Real

minStrike

  • Returns Real

optionPrice

  • Parameters

    Returns Real

performCalculations

  • performCalculations(): void

recalculate

  • recalculate(): void
  • This method force the recalculation of any results which would otherwise be cached. It is not declared as const since it needs to call the non-const notifyObservers method.

    note Explicit invocation of this method is not necessary if the object registered itself as observer with the structures on which such results depend. It is strongly advised to follow this policy when possible.

    Returns void

riskFreeRate

  • Returns Handle<YieldTermStructure>

unfreeze

  • unfreeze(): void
  • This method reverts the effect of the freeze method, thus re-enabling recalculations.

    Returns void

update

  • update(): void