Options
All
  • Public
  • Public/Protected
  • All
Menu

Finite-differences pricing engine for dividend options using escowed dividends model

The Merton-73 engine is the classic engine described in most derivatives texts. However, Haug, Haug, and Lewis in "Back to Basics: a new approach to the discrete dividend problem" argues that this scheme underprices call options. This is set as the default engine, because it is consistent with the analytic version.

Hierarchy

Index

Constructors

constructor

Properties

Scheme

Scheme: any

_BCs

_BCs: bc_type[]

_center

_center: Real

_events

_events: Event[]

_exerciseDate

_exerciseDate: Date

_finiteDifferenceOperator

_finiteDifferenceOperator: TridiagonalOperator

_gridPoints

_gridPoints: Size

_intrinsicValues

_intrinsicValues: SampledCurve

_model

_model: any

_payoff

_payoff: Payoff

_prices

_prices: SampledCurve

_process

_sMax

_sMax: Real

_sMin

_sMin: Real

_stepCondition

_stepCondition: StandardStepCondition

_stoppingTimes

_stoppingTimes: Time[]

_timeDependent

_timeDependent: boolean

_timeStepPerPeriod

_timeStepPerPeriod: Size

_timeSteps

_timeSteps: Size

Static _safetyZoneFactor

_safetyZoneFactor: Real = 1.1

Methods

calculate2

ensureStrikeInGrid

  • ensureStrikeInGrid(): void

executeIntermediateStep

  • executeIntermediateStep(step: Size): void

fdInit

Protected getDiscountedDividend

Protected getDividendAmount

getDividendTime

getResidualTime

  • getResidualTime(): Time

grid

init

init1

initializeBoundaryConditions

  • initializeBoundaryConditions(): void

initializeInitialCondition

  • initializeInitialCondition(): void

initializeModel

  • initializeModel(): void

initializeOperator

  • initializeOperator(): void

initializeStepCondition

  • initializeStepCondition(): void

safeGridPoints

  • safeGridPoints(gridPoints: Size, residualTime: Time): Size

setGridLimits

  • setGridLimits(): void

setGridLimits1

  • setGridLimits1(): void

setGridLimits2

  • setGridLimits2(center: Real, t: Time): void

setupArguments

setupArguments2