Options
Class AmericanBlackScholesPut

java.lang.Object
  extended byOptions.AmericanOption
      extended byOptions.AmericanBlackScholesPut

public class AmericanBlackScholesPut
extends AmericanOption

American put on a ConstantVolatilityAsset. Limited functionality designed to support some experiments


Constructor Summary
AmericanBlackScholesPut(double K, ConstantVolatilityAsset asset)
           
 
Method Summary
 Trigger convexTrigger(double alpha, double beta)
          Trigger from convex expansion of the pure continuation region.
 double currentDiscountedPayoff(int t)
          Option payoff discounted to time t=0 and computed from the current discounted price path of the underlying asset.
 double g(double x, double alpha, double beta, int t, int T)
          Function applied to Q(int) to approximate the true continuation value CV(t).
 double getStrike()
          ACCESSORS
static void main(java.lang.String[] args)
          Test program
 Trigger pureExercise()
          The naive exercise policy which exercises as soon as h(t)>alpha*max{E_t(h(t+1),...,E_t(h(T))}.
 double Q(int t)
          The approximation Q(t)=max{ E_t(h_{t+1}), E_t(h_{t+2}),..., E_t(h_T) } for the continuation value CV(t) computed from the current path.
 Trigger shiftTrigger(double alpha)
          Triggers as soon as h_t> Q(t)+alpha(t)
 
Methods inherited from class Options.AmericanOption
currentDiscountedPayoff, deltaU, discountedMonteCarloPrice, discountedMonteCarloPrice, discountedPayoff, discountedPayoff, get_C, get_dt, get_S, get_T, get_underlying, Kt, pureExercise, Q, upperBound
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AmericanBlackScholesPut

public AmericanBlackScholesPut(double K,
                               ConstantVolatilityAsset asset)
Parameters:
K - strike price.
asset - underlying, must be of type ConstantVolatilityAsset.
Method Detail

getStrike

public double getStrike()
ACCESSORS


currentDiscountedPayoff

public double currentDiscountedPayoff(int t)
Option payoff discounted to time t=0 and computed from the current discounted price path of the underlying asset.

Specified by:
currentDiscountedPayoff in class AmericanOption
Parameters:
t - time of exercise

Q

public double Q(int t)

The approximation Q(t)=max{ E_t(h_{t+1}), E_t(h_{t+2}),..., E_t(h_T) } for the continuation value CV(t) computed from the current path. Note that all the conditional expectations are European put prices.

Parameters:
t - current time

pureExercise

public Trigger pureExercise()

The naive exercise policy which exercises as soon as h(t)>alpha*max{E_t(h(t+1),...,E_t(h(T))}. Here alpha>=1 is a parameter to be parametrized to a value close to one. See AmericanOption.tex

Fast implementation with analytic formulas for the conditional expectations.


g

public double g(double x,
                double alpha,
                double beta,
                int t,
                int T)

Function applied to Q(int) to approximate the true continuation value CV(t).

Parameters:
x - positive real
alpha - parameter
beta - parameter
t - current time
T - time steps to expiration

convexTrigger

public Trigger convexTrigger(double alpha,
                             double beta)

Trigger from convex expansion of the pure continuation region. Exercises as soon as h_t> g(Q(t)). See g(double, double, double, int, int), the source code for g and AmericanOption.ps.

Parameters:
alpha - parameter, should be chosen <1.
beta - parameter, try European price times 10.

shiftTrigger

public Trigger shiftTrigger(double alpha)

Triggers as soon as h_t> Q(t)+alpha(t)

where alpha(t) decreases linearly from alpha to zero as the end of the swaption approaches.

Parameters:
alpha - parameter, should be chosen >0 very small.

main

public static void main(java.lang.String[] args)
Test program