Class DoubleBarrierBinaryOptionHestonModelBoundary
java.lang.Object
net.finmath.finitedifference.assetderivativevaluation.boundaries.DoubleBarrierBinaryOptionHestonModelBoundary
- All Implemented Interfaces:
FiniteDifferenceBoundary
public class DoubleBarrierBinaryOptionHestonModelBoundary
extends Object
implements FiniteDifferenceBoundary
Boundary conditions for
DoubleBarrierBinaryOption under
FDMHestonModel.
State variables are assumed to be (S, v), where S is the asset level and v the variance.
The double barriers are enforced internally by the product through state constraints. Therefore, the outer-domain spot boundaries represent the already-triggered state outside the barrier band:
- KNOCK_OUT: zero on both sides,
- KNOCK_IN: discounted cash on both sides,
- KIKO: discounted cash at the lower side, zero at the upper side,
- KOKI: zero at the lower side, discounted cash at the upper side.
The variance-direction boundaries are left free via
StandardBoundaryCondition.none().
- Author:
- Alessandro Gnoatto
-
Constructor Summary
ConstructorsConstructorDescriptionPerforms the operation. -
Method Summary
Modifier and TypeMethodDescriptiongetBoundaryConditionsAtLowerBoundary(FiniteDifferenceEquityProduct product, double time, double... stateVariables) Returns the boundary conditions at the lower boundary.getBoundaryConditionsAtUpperBoundary(FiniteDifferenceEquityProduct product, double time, double... stateVariables) Returns the boundary conditions at the upper boundary.
-
Constructor Details
-
DoubleBarrierBinaryOptionHestonModelBoundary
Performs the operation.- Parameters:
model- The value.
-
-
Method Details
-
getBoundaryConditionsAtLowerBoundary
public BoundaryCondition[] getBoundaryConditionsAtLowerBoundary(FiniteDifferenceEquityProduct product, double time, double... stateVariables) Description copied from interface:FiniteDifferenceBoundaryReturns the boundary conditions at the lower boundary.The returned array is indexed by state-variable dimension.
- Specified by:
getBoundaryConditionsAtLowerBoundaryin interfaceFiniteDifferenceBoundary- Parameters:
product- The product being valued.time- The running time.stateVariables- The state variables specifying the boundary location.- Returns:
- The lower-boundary conditions by dimension.
-
getBoundaryConditionsAtUpperBoundary
public BoundaryCondition[] getBoundaryConditionsAtUpperBoundary(FiniteDifferenceEquityProduct product, double time, double... stateVariables) Description copied from interface:FiniteDifferenceBoundaryReturns the boundary conditions at the upper boundary.The returned array is indexed by state-variable dimension.
- Specified by:
getBoundaryConditionsAtUpperBoundaryin interfaceFiniteDifferenceBoundary- Parameters:
product- The product being valued.time- The running time.stateVariables- The state variables specifying the boundary location.- Returns:
- The upper-boundary conditions by dimension.
-