Interface FiniteDifferenceOneDimensionalKnockInProduct

All Known Implementing Classes:
BarrierOption, DigitalBarrierOption, TouchOption

public interface FiniteDifferenceOneDimensionalKnockInProduct
Interface for one-dimensional finite-difference knock-in products.

A knock-in product is characterized by a maturity T, a barrier level B, and a barrier type defining the activation region. Let S(t) denote the underlying. The contract is inactive before the barrier event and becomes active once the barrier is hit. For a down barrier, activation occurs when

S(t) ≤ B,

while for an up barrier, activation occurs when

S(t) ≥ B.

In a one-dimensional finite-difference implementation, such products are typically handled by splitting the valuation into inactive and active regimes, or by augmenting the state space with an activation flag. The inactive value at maturity prescribes the terminal condition in the no-hit region. For standard barrier options, this quantity is often the rebate; for digital knock-in products it is typically zero.

Author:
Alessandro Gnoatto
  • Method Details

    • getMaturity

      double getMaturity()
      Returns the maturity.
      Returns:
      The maturity.
    • getBarrierValue

      double getBarrierValue()
      Returns the barrier level.
      Returns:
      The barrier level.
    • getBarrierType

      BarrierType getBarrierType()
      Returns the barrier type.
      Returns:
      The barrier type.
    • getInactiveValueAtMaturity

      double getInactiveValueAtMaturity()
      Returns the value prescribed in the inactive regime at maturity.

      This is the terminal value in the no-hit region. For vanilla barrier options this is typically the rebate. For digital barrier options it is typically 0.0.

      Returns:
      The inactive value at maturity.