Class BarrierOptionBlackScholesModelBoundary
java.lang.Object
net.finmath.finitedifference.assetderivativevaluation.boundaries.BarrierOptionBlackScholesModelBoundary
- All Implemented Interfaces:
FiniteDifferenceBoundary
public class BarrierOptionBlackScholesModelBoundary
extends Object
implements FiniteDifferenceBoundary
Boundary conditions for
BarrierOption under the FDMBlackScholesModel.
This class supports the explicit boundary-condition API returning
BoundaryCondition objects.
Conventions:
- For knock-out options, the rebate is paid at hit, so the barrier-side boundary is pinned to the rebate.
- For knock-in options, the outer boundaries use the corresponding vanilla Black-Scholes asymptotics.
- The barrier is assumed to coincide with one spatial boundary of the grid for direct knock-out pricing: down barriers at the lower boundary, up barriers at the upper boundary.
In the direct two-state knock-in solver, the activated regime should use these vanilla asymptotic boundaries, while the inactive regime is coupled to the activated regime on the hit set.
- 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
-
BarrierOptionBlackScholesModelBoundary
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.
-