Class DigitalOptionBlackScholesModelBoundary
java.lang.Object
net.finmath.finitedifference.assetderivativevaluation.boundaries.DigitalOptionBlackScholesModelBoundary
- All Implemented Interfaces:
FiniteDifferenceBoundary
public class DigitalOptionBlackScholesModelBoundary
extends Object
implements FiniteDifferenceBoundary
Boundary conditions for
DigitalOption under the
FDMBlackScholesModel.
The boundary asymptotics depend on the exercise style:
- European exercise: discounted continuation asymptotics.
- Bermudan / American exercise: early-exercise asymptotics.
Conventions:
- For a cash-or-nothing call, the lower boundary is zero.
- For a cash-or-nothing put, the upper boundary is zero.
- For an asset-or-nothing call, the lower boundary is zero.
- For an asset-or-nothing put, the upper boundary is zero.
At the in-the-money far boundary, the value is:
- European cash digital: discounted cash payoff.
- European asset digital: dividend-adjusted stock value.
- Bermudan/American cash digital: immediate cash payoff.
- Bermudan/American asset digital: immediate stock value.
- Author:
- Alessandro Gnoatto
-
Constructor Summary
ConstructorsConstructorDescriptionCreates the boundary condition associated with a givenFDMBlackScholesModel. -
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
-
DigitalOptionBlackScholesModelBoundary
Creates the boundary condition associated with a givenFDMBlackScholesModel.- Parameters:
model- The Black-Scholes model used to determine risk-free and dividend discount factors.
-
-
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.
-