Class BarrierOption

java.lang.Object
net.finmath.finitedifference.assetderivativevaluation.products.BarrierOption
All Implemented Interfaces:
FiniteDifferenceEquityEventProduct, FiniteDifferenceEquityProduct, FiniteDifferenceInternalStateConstraint, FiniteDifferenceOneDimensionalKnockInProduct, FiniteDifferenceProduct<FiniteDifferenceEquityModel>, Product

Finite-difference valuation of a standard single-barrier option on one asset.

The barrier acts on the first state variable of the model, which is assumed to represent the underlying level.

Current implementation policy:

  • continuously monitored knock-out options are priced directly by the finite-difference solver,
  • discretely monitored knock-out options are implemented for 1D models and for 2D Heston/SABR models via internal constraints active only on monitoring dates,
  • continuously monitored 1D knock-in options are priced directly through a coupled two-state PDE on an auxiliary spatial grid where the barrier is placed on an interior node,
  • discretely monitored 1D knock-in options are implemented via event-time replacement by the activated vanilla continuation surface,
  • continuously monitored 2D Heston / SABR knock-in options are priced directly through an activated-vanilla + pre-hit PDE / interface formulation,
  • discretely monitored 2D Heston / SABR knock-in options are implemented on the full 2D grid via event-time replacement by the activated vanilla continuation surface,
  • for discrete monitored knock-ins with Bermudan/American exercise, only the activated state carries exercise rights; the pre-hit state is always solved as a European continuation problem,
  • other 2D knock-in options fall back to in-out parity.
Author:
Alessandro Gnoatto
  • Constructor Details

    • BarrierOption

      public BarrierOption(String underlyingName, double maturity, double strike, double barrierValue, double rebate, double callOrPutSign, BarrierType barrierType)
      Performs the operation.
      Parameters:
      underlyingName - The value.
      maturity - The value.
      strike - The value.
      barrierValue - The value.
      rebate - The value.
      callOrPutSign - The value.
      barrierType - The value.
    • BarrierOption

      public BarrierOption(String underlyingName, double maturity, double strike, double barrierValue, double rebate, CallOrPut callOrPutSign, BarrierType barrierType)
      Performs the operation.
      Parameters:
      underlyingName - The value.
      maturity - The value.
      strike - The value.
      barrierValue - The value.
      rebate - The value.
      callOrPutSign - The value.
      barrierType - The value.
    • BarrierOption

      public BarrierOption(String underlyingName, double maturity, double strike, double barrierValue, double rebate, double callOrPutSign, BarrierType barrierType, Exercise exercise)
      Performs the operation.
      Parameters:
      underlyingName - The value.
      maturity - The value.
      strike - The value.
      barrierValue - The value.
      rebate - The value.
      callOrPutSign - The value.
      barrierType - The value.
      exercise - The value.
    • BarrierOption

      public BarrierOption(String underlyingName, double maturity, double strike, double barrierValue, double rebate, CallOrPut callOrPutSign, BarrierType barrierType, Exercise exercise)
      Performs the operation.
      Parameters:
      underlyingName - The value.
      maturity - The value.
      strike - The value.
      barrierValue - The value.
      rebate - The value.
      callOrPutSign - The value.
      barrierType - The value.
      exercise - The value.
    • BarrierOption

      public BarrierOption(String underlyingName, double maturity, double strike, double barrierValue, double rebate, double callOrPutSign, BarrierType barrierType, Exercise exercise, MonitoringType monitoringType, double[] monitoringTimes)
      Performs the operation.
      Parameters:
      underlyingName - The value.
      maturity - The value.
      strike - The value.
      barrierValue - The value.
      rebate - The value.
      callOrPutSign - The value.
      barrierType - The value.
      exercise - The value.
      monitoringType - The value.
      monitoringTimes - The value.
    • BarrierOption

      public BarrierOption(String underlyingName, double maturity, double strike, double barrierValue, double rebate, CallOrPut callOrPutSign, BarrierType barrierType, Exercise exercise, MonitoringType monitoringType, double[] monitoringTimes)
      Performs the operation.
      Parameters:
      underlyingName - The value.
      maturity - The value.
      strike - The value.
      barrierValue - The value.
      rebate - The value.
      callOrPutSign - The value.
      barrierType - The value.
      exercise - The value.
      monitoringType - The value.
      monitoringTimes - The value.
    • BarrierOption

      public BarrierOption(double maturity, double strike, double barrierValue, double rebate, double callOrPutSign, BarrierType barrierType)
      Performs the operation.
      Parameters:
      maturity - The value.
      strike - The value.
      barrierValue - The value.
      rebate - The value.
      callOrPutSign - The value.
      barrierType - The value.
    • BarrierOption

      public BarrierOption(double maturity, double strike, double barrierValue, double rebate, CallOrPut callOrPutSign, BarrierType barrierType)
      Performs the operation.
      Parameters:
      maturity - The value.
      strike - The value.
      barrierValue - The value.
      rebate - The value.
      callOrPutSign - The value.
      barrierType - The value.
    • BarrierOption

      public BarrierOption(double maturity, double strike, double barrierValue, double rebate, double callOrPutSign, BarrierType barrierType, Exercise exercise)
      Performs the operation.
      Parameters:
      maturity - The value.
      strike - The value.
      barrierValue - The value.
      rebate - The value.
      callOrPutSign - The value.
      barrierType - The value.
      exercise - The value.
    • BarrierOption

      public BarrierOption(double maturity, double strike, double barrierValue, double rebate, CallOrPut callOrPutSign, BarrierType barrierType, Exercise exercise)
      Performs the operation.
      Parameters:
      maturity - The value.
      strike - The value.
      barrierValue - The value.
      rebate - The value.
      callOrPutSign - The value.
      barrierType - The value.
      exercise - The value.
    • BarrierOption

      public BarrierOption(double maturity, double strike, double barrierValue, double rebate, CallOrPut callOrPutSign, BarrierType barrierType, Exercise exercise, MonitoringType monitoringType, double[] monitoringTimes)
      Performs the operation.
      Parameters:
      maturity - The value.
      strike - The value.
      barrierValue - The value.
      rebate - The value.
      callOrPutSign - The value.
      barrierType - The value.
      exercise - The value.
      monitoringType - The value.
      monitoringTimes - The value.
    • BarrierOption

      public BarrierOption(String underlyingName, double maturity, double strike, double barrierValue, CallOrPut callOrPutSign, BarrierType barrierType)
      Performs the operation.
      Parameters:
      underlyingName - The value.
      maturity - The value.
      strike - The value.
      barrierValue - The value.
      callOrPutSign - The value.
      barrierType - The value.
    • BarrierOption

      public BarrierOption(String underlyingName, double maturity, double strike, double barrierValue, CallOrPut callOrPutSign, BarrierType barrierType, Exercise exercise)
      Performs the operation.
      Parameters:
      underlyingName - The value.
      maturity - The value.
      strike - The value.
      barrierValue - The value.
      callOrPutSign - The value.
      barrierType - The value.
      exercise - The value.
    • BarrierOption

      public BarrierOption(double maturity, double strike, double barrierValue, double callOrPutSign, BarrierType barrierType)
      Performs the operation.
      Parameters:
      maturity - The value.
      strike - The value.
      barrierValue - The value.
      callOrPutSign - The value.
      barrierType - The value.
    • BarrierOption

      public BarrierOption(double maturity, double strike, double barrierValue, double callOrPutSign, BarrierType barrierType, Exercise exercise)
      Performs the operation.
      Parameters:
      maturity - The value.
      strike - The value.
      barrierValue - The value.
      callOrPutSign - The value.
      barrierType - The value.
      exercise - The value.
  • Method Details