Class OptionOnBond

java.lang.Object
net.finmath.finitedifference.interestrate.products.OptionOnBond
All Implemented Interfaces:
FiniteDifferenceProduct<FiniteDifferenceInterestRateModel>, FiniteDifferenceInterestRateProduct, Product

public class OptionOnBond extends Object implements FiniteDifferenceInterestRateProduct
Finite-difference valuation of a European option on a deterministic-cashflow bond.

The underlying bond is assumed to be a Bond, that is, a bond with deterministic fixed cashflows. Let T denote the option exercise date, B(T,x) the bond value at exercise as a function of the model state, K the strike, and \omega \in \{+1,-1\} the call/put sign. The payoff is

\bigl( \omega ( B(T,x) - K ) \bigr)^{+}.

Since the underlying bond has deterministic cashflows, its value at exercise can be computed directly from the interest-rate model through the remaining discount bonds:

B(T,x) = \sum_{i:\,T_i \ge T} C_i P(T,T_i;x),

where C_i are the remaining bond cashflows and P(T,T_i;x) is the discount bond implied by the model.

The current implementation is intended for one-dimensional finite-difference interest-rate models used with FDMThetaMethod1D.

Author:
Alessandro Gnoatto
  • Constructor Details

    • OptionOnBond

      public OptionOnBond(Bond underlyingBond, double exerciseDate, double strike, CallOrPut callOrPut)
      Creates a European option on a deterministic-cashflow bond.
      Parameters:
      underlyingBond - The underlying bond.
      exerciseDate - The option exercise date.
      strike - The strike.
      callOrPut - The call/put indicator.
  • Method Details