Table of Contents

Class FdmHestonHullWhiteSolver

Namespace
NanoQL.Methods
Assembly
NanoQL.dll

The Heston-Hull-White finite-difference solver: FdmHestonHullWhiteOp under Fdm3DimSolver, queried at a spot, a variance and a short-rate state.

public sealed class FdmHestonHullWhiteSolver
Inheritance
FdmHestonHullWhiteSolver
Inherited Members

Remarks

Immutable: the solve runs in the constructor, where QuantLib's runs lazily on the first query. The delta and gamma are central differences in the spot, not the model-implied ones (Mercurio and Morini, A Note on Hedging with Local and Stochastic Volatility Models).

Constructors

FdmHestonHullWhiteSolver(HestonProcess, HullWhiteProcess, double, FdmSolverDesc, FdmSchemeDesc?)

Initializes a new instance of the FdmHestonHullWhiteSolver class, and solves.

public FdmHestonHullWhiteSolver(HestonProcess hestonProcess, HullWhiteProcess hwProcess, double corrEquityShortRate, FdmSolverDesc solverDesc, FdmSchemeDesc? schemeDesc = null)

Parameters

hestonProcess HestonProcess

The Heston process.

hwProcess HullWhiteProcess

The Hull-White process.

corrEquityShortRate double

The equity-rate correlation.

solverDesc FdmSolverDesc

The problem.

schemeDesc FdmSchemeDesc?

The scheme, or null for Hundsdorfer's.

Exceptions

ArgumentNullException

A process or the problem is null.

ArgumentException

The correlations' squares sum past 1.

Methods

DeltaAt(double, double, double, double)

The first derivative in the spot by central differences.

public double DeltaAt(double s, double v, double r, double eps)

Parameters

s double

The spot.

v double

The variance.

r double

The short rate's state.

eps double

The spot's shift.

Returns

double

The delta.

GammaAt(double, double, double, double)

The second derivative in the spot by central differences.

public double GammaAt(double s, double v, double r, double eps)

Parameters

s double

The spot.

v double

The variance.

r double

The short rate's state.

eps double

The spot's shift.

Returns

double

The gamma.

ThetaAt(double, double, double)

The theta at a spot, a variance and a short-rate state.

public double? ThetaAt(double s, double v, double r)

Parameters

s double

The spot.

v double

The variance.

r double

The short rate's state.

Returns

double?

The theta, or null where the first stopping time is the start.

ValueAt(double, double, double)

The value at a spot, a variance and a short-rate state.

public double ValueAt(double s, double v, double r)

Parameters

s double

The spot.

v double

The variance.

r double

The short rate's state.

Returns

double

The value.