Class MonteCarloMertonModel

java.lang.Object
net.finmath.montecarlo.assetderivativevaluation.MonteCarloMertonModel
All Implemented Interfaces:
Model, AssetModelMonteCarloSimulationModel, MonteCarloSimulationModel

public class MonteCarloMertonModel extends Object implements AssetModelMonteCarloSimulationModel
This class glues together a MertonModel and a Monte-Carlo implementation of a MonteCarloProcessFromProcessModel, namely EulerSchemeFromProcessModel, and forms a Monte-Carlo implementation of the Merton model by implementing AssetModelMonteCarloSimulationModel. The model is \[ dS = \mu S dt + \sigma S dW + S dJ, \quad S(0) = S_{0}, \] \[ dN = r N dt, \quad N(0) = N_{0}, \] where \( W \) is Brownian motion and \( J \) is a jump process (compound Poisson process). The process \( J \) is given by \( J(t) = \sum_{i=1}^{N(t)} (Y_{i}-1) \), where \( \log(Y_{i}) \) are i.i.d. normals with mean \( a - \frac{1}{2} b^{2} \) and standard deviation \( b \). Here \( a \) is the jump size mean and \( b \) is the jump size std. dev. For details on the construction of the model see MertonModel.
Version:
1.0
Author:
Christian Fries
See Also:
  • Constructor Details

    • MonteCarloMertonModel

      public MonteCarloMertonModel(TimeDiscretization timeDiscretization, int numberOfPaths, int seed, double initialValue, double riskFreeRate, double volatility, double jumpIntensity, double jumpSizeMean, double jumpSizeStDev, RandomVariableFactory randomVariableFactory)
      Create a Monte-Carlo simulation using given time discretization and given parameters.
      Parameters:
      timeDiscretization - The time discretization.
      numberOfPaths - The number of Monte-Carlo path to be used.
      seed - The seed used for the random number generator.
      initialValue - Spot value.
      riskFreeRate - The risk free rate.
      volatility - The log volatility.
      jumpIntensity - The intensity parameter lambda of the compound Poisson process.
      jumpSizeMean - The mean jump size of the normal distributes jump sizes of the compound Poisson process.
      jumpSizeStDev - The standard deviation of the normal distributes jump sizes of the compound Poisson process.
      randomVariableFactory - The factory to be used to construct random variables.
    • MonteCarloMertonModel

      public MonteCarloMertonModel(TimeDiscretization timeDiscretization, int numberOfPaths, int seed, double initialValue, double riskFreeRate, double volatility, double jumpIntensity, double jumpSizeMean, double jumpSizeStDev)
      Create a Monte-Carlo simulation using given time discretization and given parameters.
      Parameters:
      timeDiscretization - The time discretization.
      numberOfPaths - The number of Monte-Carlo path to be used.
      seed - The seed used for the random number generator.
      initialValue - Spot value.
      riskFreeRate - The risk free rate.
      volatility - The log volatility.
      jumpIntensity - The intensity parameter lambda of the compound Poisson process.
      jumpSizeMean - The mean jump size of the normal distributes jump sizes of the compound Poisson process.
      jumpSizeStDev - The standard deviation of the normal distributes jump sizes of the compound Poisson process.
  • Method Details