Class OptionOnBondHullWhiteModelBoundary
java.lang.Object
net.finmath.finitedifference.interestrate.boundaries.OptionOnBondHullWhiteModelBoundary
- All Implemented Interfaces:
FiniteDifferenceInterestRateBoundary
public class OptionOnBondHullWhiteModelBoundary
extends Object
implements FiniteDifferenceInterestRateBoundary
Exact boundary conditions for
OptionOnBond under FDMHullWhiteModel.
For a one-factor Hull-White model, a European option on a deterministic-
cashflow
bond admits an exact valuation by Jamshidian decomposition. Let T be
the
exercise date and let the remaining cashflows of the underlying bond at and
after
T be
\sum_{i} C_i P(T,T_i;x).
Since the bond value is strictly decreasing in the one-factor state variable
x, there exists a unique state x* solving
\sum_i C_i P(T,T_i;x^*) = K,
where K is the strike of the bond option.
The bond option value is then given by the sum of zero-coupon bond options
with strikes
K_i = P(T,T_i;x^*).
Hence both lower and upper finite-difference boundaries can be imposed by exact Dirichlet conditions.
- Author:
- Alessandro Gnoatto
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptiongetBoundaryConditionsAtLowerBoundary(FiniteDifferenceInterestRateProduct product, double time, double... stateVariables) Returns the boundary conditions at the lower boundary.getBoundaryConditionsAtUpperBoundary(FiniteDifferenceInterestRateProduct product, double time, double... stateVariables) Returns the boundary conditions at the upper boundary.
-
Constructor Details
-
OptionOnBondHullWhiteModelBoundary
Creates the exact Hull-White boundary forOptionOnBond.- Parameters:
model- The Hull-White model.
-
-
Method Details
-
getBoundaryConditionsAtLowerBoundary
public BoundaryCondition[] getBoundaryConditionsAtLowerBoundary(FiniteDifferenceInterestRateProduct product, double time, double... stateVariables) Description copied from interface:FiniteDifferenceInterestRateBoundaryReturns the boundary conditions at the lower boundary.- Specified by:
getBoundaryConditionsAtLowerBoundaryin interfaceFiniteDifferenceInterestRateBoundary- 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(FiniteDifferenceInterestRateProduct product, double time, double... stateVariables) Description copied from interface:FiniteDifferenceInterestRateBoundaryReturns the boundary conditions at the upper boundary.- Specified by:
getBoundaryConditionsAtUpperBoundaryin interfaceFiniteDifferenceInterestRateBoundary- 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.
-