Class FDMSabrADI2D
- All Implemented Interfaces:
FDMSolver
This class specializes AbstractADI2D to the
FDMSabrModel. In the standard lifted two-dimensional SABR setting,
the
state vector is given by the forward (or spot) level F and the
volatility
factor α. In time-to-maturity coordinates
τ = T - t, the option value
u = u(τ, F, α) satisfies a two-dimensional backward
parabolic PDE
of the form
∂u / ∂τ = \mathcal{L}SABR u,
where the SABR generator contains drift terms, diffusion terms in both state variables, and a mixed derivative term induced by the correlation parameter ρ. The ADI splitting implemented in the parent class decomposes this operator into directional contributions which are treated alternately and implicitly along the two coordinate directions.
This class does not alter the generic ADI stepping logic, boundary handling,
or
exercise treatment provided by AbstractADI2D; it simply binds that
machinery to the coefficient structure supplied by FDMSabrModel.
- Author:
- Alessandro Gnoatto
-
Nested Class Summary
Nested classes/interfaces inherited from class AbstractADI2D
AbstractADI2D.DoubleTernaryOperator -
Constructor Summary
ConstructorsConstructorDescriptionFDMSabrADI2D(FDMSabrModel model, FiniteDifferenceEquityProduct product, SpaceTimeDiscretization spaceTimeDiscretization, Exercise exercise) Creates the ADI solver for a two-dimensional SABR PDE. -
Method Summary
Methods inherited from class AbstractADI2D
add, applyA0Explicit, applyA1Explicit, applyA2Explicit, applyContinuousObstacleIfNeeded, applyExerciseObstacleIfNeeded, applyFullExplicitOperator, applyInternalConstraints, applyOuterBoundaries, applyProductEventConditionIfNeeded, extractBoundaryValue, flatten, getExercise, getLowerBoundaryValueForFirstDirection, getLowerBoundaryValueForSecondDirection, getModel, getN, getN0, getN1, getProduct, getSpaceTimeDiscretization, getStencilBuilder, getTheta, getUpperBoundaryValueForFirstDirection, getUpperBoundaryValueForSecondDirection, getValue, getValue, getValue, getValues, getValues, getValues, getValuesWithContinuousObstacle, getValueWithContinuousObstacle, getX0Grid, getX1Grid, isInternalConstraintActive, overwriteBoundaryRow, performDouglasHalfStep, performStableDouglasStep, sanitize, scale, solveFirstDirectionLines, solveSecondDirectionLines, subtract
-
Constructor Details
-
FDMSabrADI2D
public FDMSabrADI2D(FDMSabrModel model, FiniteDifferenceEquityProduct product, SpaceTimeDiscretization spaceTimeDiscretization, Exercise exercise) Creates the ADI solver for a two-dimensional SABR PDE.- Parameters:
model- The SABR finite-difference model.product- The product to be valued.spaceTimeDiscretization- The space-time discretization.exercise- The exercise specification.
-