Class FDMMultiAssetBlackScholesADI2D
- All Implemented Interfaces:
FDMSolver
This class specializes AbstractADI2D to the
FDMMultiAssetBlackScholesModel in the case of two risky assets.
Let S1 and S2 denote the two asset prices. Under the
risk-neutral measure, the model dynamics are
dS_i(t) = (r(t) - q_i(t)) S_i(t) dt + sigma_i S_i(t) dW_i(t),
for i = 1,2, with instantaneous correlation
d<W_1, W_2>_t = rho dt.
In time-to-maturity coordinates tau = T - t, the pricing PDE for the
option value u = u(tau, S1, S2) can be written as
u_tau = A_0 u + A_1 u + A_2 u,
where A0 contains the mixed derivative term together with
discounting,
while A1 and A2 contain the first- and second-asset drift and
diffusion terms, respectively. The ADI splitting and line solves are
inherited
from AbstractADI2D.
This class is intentionally thin: all generic two-dimensional ADI logic, boundary handling, internal constraints, and exercise treatment are provided by the abstract base class.
- Author:
- Alessandro Gnoatto
-
Nested Class Summary
Nested classes/interfaces inherited from class AbstractADI2D
AbstractADI2D.DoubleTernaryOperator -
Constructor Summary
ConstructorsConstructorDescriptionFDMMultiAssetBlackScholesADI2D(FDMMultiAssetBlackScholesModel model, FiniteDifferenceEquityProduct product, SpaceTimeDiscretization spaceTimeDiscretization, Exercise exercise) Creates the ADI solver for the two-dimensional multi-asset Black-Scholes 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
-
FDMMultiAssetBlackScholesADI2D
public FDMMultiAssetBlackScholesADI2D(FDMMultiAssetBlackScholesModel model, FiniteDifferenceEquityProduct product, SpaceTimeDiscretization spaceTimeDiscretization, Exercise exercise) Creates the ADI solver for the two-dimensional multi-asset Black-Scholes PDE.- Parameters:
model- The multi-asset Black-Scholes finite-difference model.product- The product to be valued.spaceTimeDiscretization- The space-time discretization.exercise- The exercise specification.
-