Class BasketOptionMultiAssetBlackScholesModelBoundary

java.lang.Object
net.finmath.finitedifference.assetderivativevaluation.boundaries.BasketOptionMultiAssetBlackScholesModelBoundary
All Implemented Interfaces:
FiniteDifferenceBoundary

public class BasketOptionMultiAssetBlackScholesModelBoundary extends Object implements FiniteDifferenceBoundary
Boundary conditions for BasketOption under FDMMultiAssetBlackScholesModel.

The product payoff is

\left( \omega \left( q_1 S_1(T) + q_2 S_2(T) - K \right) \right)^{+},

where q1 and q2 are signed asset quantities and \omega \in \{+1,-1\} is the call/put sign.

The multidimensional boundary convention of the framework is used:

  • index 0 of the returned array corresponds to the first state variable,
  • index 1 corresponds to the second state variable.

On the lower faces S1 = 0 and S2 = 0, the option reduces to a one-dimensional signed-quantity option on the remaining asset. Accordingly, this boundary class requires both asset grids to start at zero. On upper faces, the boundary value is chosen according to the sign of the quantity multiplying the boundary asset:

  • if callOrPut.toInteger() * quantityBoundaryAsset > 0, the option is asymptotically linear in the boundary asset and the discounted linear intrinsic approximation is used,
  • if callOrPut.toInteger() * quantityBoundaryAsset < 0, the option tends to zero as the boundary asset grows and a zero Dirichlet value is used,
  • if the boundary-asset quantity is zero, the boundary reduces exactly to a one-dimensional option on the remaining asset.

This single boundary class therefore covers ordinary basket options, spread options, and exchange options as special cases.

Author:
Alessandro Gnoatto
  • Constructor Details

    • BasketOptionMultiAssetBlackScholesModelBoundary

      public BasketOptionMultiAssetBlackScholesModelBoundary(FDMMultiAssetBlackScholesModel model)
      Performs the operation.
      Parameters:
      model - The value.
  • Method Details