Interface TwoStateActivationPolicy

All Known Implementing Classes:
ContinuationActivationPolicy, ImmediateCashActivationPolicy

public interface TwoStateActivationPolicy
Governs how barrier activation couples the inactive and active regimes in the direct one-dimensional two-state knock-in solver.

In the two-state formulation, the product value is decomposed into:

  • an inactive regime, representing paths for which the barrier has not yet been hit,
  • an active regime, representing paths after barrier activation.

Let V^{\mathrm{inact}}(t,x) denote the inactive-regime value and V^{\mathrm{act}}(t,x) the active-regime value, where x is the state variable. A TwoStateActivationPolicy specifies how the inactive regime is coupled to the active regime:

  • on the already-hit region at maturity,
  • on the already-hit region during backward propagation,
  • at the barrier interface, where the continuation-side inactive PDE sees a Dirichlet boundary value.

Different policies correspond to different contractual semantics. For example:

  • a continuation policy uses the active continuation value after activation,
  • an immediate-cash policy replaces the post-hit value by a fixed cash amount.
Author:
Alessandro Gnoatto
  • Method Summary

    Modifier and Type
    Method
    Description
    double
    getAlreadyHitValue(double currentTime, double stateVariable, double activeValue)
    Returns the inactive-regime value on the already-hit region during backward stepping.
    double
    getAlreadyHitValueAtMaturity(double stateVariable, double activePayoffValue, double inactiveNoHitValue)
    Returns the inactive-regime value on the already-hit region at maturity.
    double
    getInterfaceValue(double currentTime, double barrierStateVariable, double activeValueAtBarrier)
    Returns the interface value seen by the continuation-side inactive PDE at the barrier.
  • Method Details

    • getAlreadyHitValueAtMaturity

      double getAlreadyHitValueAtMaturity(double stateVariable, double activePayoffValue, double inactiveNoHitValue)
      Returns the inactive-regime value on the already-hit region at maturity.
      Parameters:
      stateVariable - State variable.
      activePayoffValue - Terminal payoff used for the active regime.
      inactiveNoHitValue - Terminal value if the barrier has never been hit.
      Returns:
      Inactive-regime terminal value on the already-hit region.
    • getAlreadyHitValue

      double getAlreadyHitValue(double currentTime, double stateVariable, double activeValue)
      Returns the inactive-regime value on the already-hit region during backward stepping.
      Parameters:
      currentTime - Current model time.
      stateVariable - State variable.
      activeValue - Value of the active regime at the same grid point.
      Returns:
      Inactive-regime value on the already-hit region.
    • getInterfaceValue

      double getInterfaceValue(double currentTime, double barrierStateVariable, double activeValueAtBarrier)
      Returns the interface value seen by the continuation-side inactive PDE at the barrier.
      Parameters:
      currentTime - Current model time.
      barrierStateVariable - State variable at the barrier node.
      activeValueAtBarrier - Active-regime value at the barrier node.
      Returns:
      Interface value for the inactive continuation-side solve.