Class FdmHestonHullWhiteSolver
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
hestonProcessHestonProcessThe Heston process.
hwProcessHullWhiteProcessThe Hull-White process.
corrEquityShortRatedoubleThe equity-rate correlation.
solverDescFdmSolverDescThe problem.
schemeDescFdmSchemeDesc?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
sdoubleThe spot.
vdoubleThe variance.
rdoubleThe short rate's state.
epsdoubleThe 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
sdoubleThe spot.
vdoubleThe variance.
rdoubleThe short rate's state.
epsdoubleThe 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
Returns
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
Returns
- double
The value.