Options
Class PathIndependentOption

java.lang.Object
  extended byOptions.Option
      extended byOptions.PathIndependentOption
Direct Known Subclasses:
Call

public abstract class PathIndependentOption
extends Option

The payoff of the option depends only on S(T) but not on S(t), t < T. Overrides methods of the class Option with more efficient algorithms taking advantage of the fact that only S(T) is needed to compute the option payoff and hence long time steps can be taken in the simulation of the underlying asset.

Information: the information available at time t for conditioning is the history of the price path of the underlying asset on the interval [0,t] (up to the present). Conditioning on this information means to limit simulations of the price of the underlying asset to paths which are branches of the current path where branching occurs at time t.

Default control variate: as default control variate for the discounted option payoff we use the discounted price S[T]=S^B(t) of the underlying at expiration simulated under the risk neutral probability.


Field Summary
 
Fields inherited from class Options.Option
ANALYTIC_DELTA, ANALYTIC_MINIMUM_VARIANCE_DELTA, ANALYTIC_QUOTIENT_DELTA, MARKET_PROBABILITY, MINIMUM_VARIANCE_DELTA, MONTE_CARLO_DELTA, QUOTIENT_DELTA, RISK_NEUTRAL_PROBABILITY
 
Constructor Summary
PathIndependentOption(Asset asset, java.lang.String name)
           
 
Method Summary
 ControlledRandomVariable controlledDiscountedPayoff()
          The discounted payoff as a controlled random variable using the default control variate.
 RandomVariable discountedPayoff()
          The discounted option payoff as a random variable.
 double minimumVarianceDelta(int whichProbability, int t, int nPath)
          The minimum variance delta at time t (see file "HedgeWeights.ps") minimizing the squared hedge error over the next time step.
 double minimumVarianceDelta(int whichProbability, int t, int nPath, Trigger rebalance)
          Same as minimumVarianceDelta(int,int,int) but the hedge is rebalanced when the next hedge trade is triggered and the squared error minimized over the stochastic time interval until the next hedge trade.
 
Methods inherited from class Options.Option
analyticDelta, analyticGamma, analyticMinimumVarianceDelta, analyticQuotientDelta, analyticSGamma, analyticTheta, analyticThetaDelta, analyticVega, conditionalControlVariateCorrelation, controlledDiscountedMonteCarloPrice, controlledDiscountedMonteCarloPrice, controlledDiscountedMonteCarloPrice, controlledDiscountedMonteCarloPrice, controlVariateCorrelation, currentDiscountedHedgeGain, currentDiscountedPayoff, discountedAnalyticPrice, discountedHedgeGain, discountedMonteCarloPrice, discountedMonteCarloPrice, discountedMonteCarloPrice, discountedMonteCarloPrice, get_C, get_dt, get_T, get_underlying, getName, hasAnalyticPrice, monteCarloDelta, newDiscountedPricePath, quotientDelta, quotientDelta, underlyingIsCVA, underlyingIsDividendFreeCVA
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PathIndependentOption

public PathIndependentOption(Asset asset,
                             java.lang.String name)
Parameters:
asset - underlying asset.
name - name of the option.
Method Detail

discountedPayoff

public RandomVariable discountedPayoff()
The discounted option payoff as a random variable. Underlying is modelled in the risk neutral probability.

Overrides:
discountedPayoff in class Option

controlledDiscountedPayoff

public ControlledRandomVariable controlledDiscountedPayoff()

The discounted payoff as a controlled random variable using the default control variate. Underlying is modelled in the risk neutral probability.

Overrides:
controlledDiscountedPayoff in class Option

minimumVarianceDelta

public double minimumVarianceDelta(int whichProbability,
                                   int t,
                                   int nPath)

The minimum variance delta at time t (see file "HedgeWeights.ps") minimizing the squared hedge error over the next time step. If the underlying evolves in the risk neutral probability, the stepwise hedge error have zero mean and are uncorrelated. In this case these weights minimize the step wise and cumulative hedge error variance.

It is assumed that a path S of the underlying has been computed up to time t.

Use for hedges rebalancing at each time step. No standard deviation is computed so we do not need to pay attention to the fact that paths of the underlying may come in groups of dependent paths. It's not efficient here to introduce random variables to compute the conditional expectations, we do it directly.

WARNING: the computation is extremely slow (O(nPath^2)) if the underlying evolves in the market probability and no analytic option price is implemented. Otherwise it is O(nPath).

Overrides:
minimumVarianceDelta in class Option
Parameters:
whichProbability - probability for simulation (risk neutral/market).
t - current time (time of branching).
nPath - number of asset price path branches expended on each conditional expectation.

minimumVarianceDelta

public double minimumVarianceDelta(int whichProbability,
                                   int t,
                                   int nPath,
                                   Trigger rebalance)

Same as minimumVarianceDelta(int,int,int) but the hedge is rebalanced when the next hedge trade is triggered and the squared error minimized over the stochastic time interval until the next hedge trade.

Overrides:
minimumVarianceDelta in class Option
Parameters:
whichProbability - probability for simulation (risk neutral/market).
t - current time (time of branching).
nPath - number of asset price path branches expended on each conditional expectation.
rebalance - triggers the hedge trades.