Market
Class JumpAsset

java.lang.Object
  extended byMarket.Asset
      extended byMarket.ConstantVolatilityAsset
          extended byMarket.JumpAsset

public class JumpAsset
extends ConstantVolatilityAsset

A ConstantVolatilityAsset with jumps. For each time step of size dt the returns make a single
jump with probability lambda*dt. The size of the jump is

jumpSize=max{ min{X^2,1.5}, 0.4}
,

where X is normal N(0,rho). Thus if rho is small the jumps are predominantly downward and if rho is large the jumps are predominantly upward. Moreover we allow the asset price to jump up most 30%, down at most 40%.

This asset serves mainly as a test class to check the performance of hedge weights. How badly are hedges using analytic deltas computed under the assumption of asset price continuity affected by jumps and how much better do the model independent hedge weights perform?


Constructor Summary
JumpAsset(int T, double dt, int nSignChange, double S_0, double r, double q, double mu, double sigma, double lambda, double rho)
           
 
Method Summary
 void newPath(int whichProbability)
          Computes a new discounted price path driven by new (as opposed to sign changed) Z-increments.
 void newPathBranch(int whichProbability, int t)
          Continues a discounted asset price path existing up to time t from this time t to the horizon (branching at time t).
 int pathSegment(int whichProbability, int t, Trigger trg)
          Continues a discounted price path which exists up to time t from time t to the next time s>t at which the Trigger trg is triggered or s=T, whichever comes first, and returns this time s.
 void timeStep(int whichProbability, int t)
          Time step t -> t+1 of discounted asset price path driven by a new (as opposed to sign changed) Z-increment.
 void timeStep(int whichProbability, int t, int s)
          Single time step t -> s of discounted price path driven by new Z-increment.
 
Methods inherited from class Market.ConstantVolatilityAsset
get_mu, get_r, get_sigma, get_sigmaSqrtdt, markovChain, newWienerIncrements, Sigma, simulationInit
 
Methods inherited from class Market.Asset
dividendReductionFactor, forwardPrice, get_B, get_dt, get_nSignChange, get_q, get_S_0, get_S, get_T, get_volatilityIsDeterministic, get_Z
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JumpAsset

public JumpAsset(int T,
                 double dt,
                 int nSignChange,
                 double S_0,
                 double r,
                 double q,
                 double mu,
                 double sigma,
                 double lambda,
                 double rho)
Parameters:
T - Number of time steps to horizon.
dt - Size of time step.
nSignChange - Number of times the Z-increments are reused through random sign changes.
S_0 - Asset price S(0).
r - Constant short rate.
q - Constant dividend yield.
mu - Constant asset price drift.
sigma - Constant asset price volatility.
lambda - jump intensity
rho - see this
Method Detail

newPathBranch

public void newPathBranch(int whichProbability,
                          int t)

Continues a discounted asset price path existing up to time t from this time t to the horizon (branching at time t).

The Z-increments driving the path branch are the next set of Z-increments in a group of nSignChange dependent sets of increments which differ only by sign. Only after nSignChange sign changes is a new set of Z-increments computed.

Overrides:
newPathBranch in class ConstantVolatilityAsset
Parameters:
whichProbability - Probability for simulation (market/risk neutral).
t - Current time (time at which the new path branch starts).

timeStep

public void timeStep(int whichProbability,
                     int t)

Time step t -> t+1 of discounted asset price path driven by a new (as opposed to sign changed) Z-increment.

Sets the value S[t+1] in the price path and registers the standard normal increment Z[t] generated to drive the time step. This increment is used in the computation of some hedge deltas.

Overrides:
timeStep in class ConstantVolatilityAsset
Parameters:
whichProbability - probability for simulation (market/risk neutral)
t - branching time (time at which new branch starts)

timeStep

public void timeStep(int whichProbability,
                     int t,
                     int s)

Single time step t -> s of discounted price path driven by new Z-increment. Sets only the value S[s] in the price path S[ ].

Overrides:
timeStep in class ConstantVolatilityAsset
Parameters:
whichProbability - Probability for simulation (market/risk neutral).
t - Current time.
s - Future time to be reached.

pathSegment

public int pathSegment(int whichProbability,
                       int t,
                       Trigger trg)

Continues a discounted price path which exists up to time t from time t to the next time s>t at which the Trigger trg is triggered or s=T, whichever comes first, and returns this time s.

The Trigger could be a signal triggering a hedge trade or option exercise for example. No sign changes are applied to the Z-increments and so a new independent path branch is computed.

Overrides:
pathSegment in class ConstantVolatilityAsset
Parameters:
whichProbability - Probability for simulation (market/risk neutral).
t - Current time (time at which new path branch starts).
trg - triggers stopping the path.

newPath

public void newPath(int whichProbability)

Computes a new discounted price path driven by new (as opposed to sign changed) Z-increments. Thus the new path is indpendent of preceeding paths.

Overrides:
newPath in class ConstantVolatilityAsset
Parameters:
whichProbability - Probability for simulation (market/risk neutral).