Class MertonModel

java.lang.Object
net.finmath.fouriermethod.models.MertonModel
All Implemented Interfaces:
CharacteristicFunctionModel, Model

public class MertonModel
extends Object
implements CharacteristicFunctionModel
Implements the characteristic function of a Merton jump diffusion model. 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.
Version:
1.0
Author:
Alessandro Gnoatto
  • Constructor Details

    • MertonModel

      public MertonModel​(LocalDate referenceDate, double initialValue, DiscountCurve discountCurveForForwardRate, DiscountCurve discountCurveForDiscountRate, double volatility, double jumpIntensity, double jumpSizeMean, double jumpSizeStdDev)
      Construct a Merton jump diffusion model with discount curves for the forward price (i.e. repo rate minus dividend yield) and for discounting.
      Parameters:
      referenceDate - The date representing the time t = 0. All other double times are following FloatingpointDate.
      initialValue - \( S_{0} \) - spot - initial value of S
      discountCurveForForwardRate - The curve specifying \( t \mapsto exp(- r^{\text{c}}(t) \cdot t) \) - with \( r^{\text{c}}(t) \) the risk free rate
      volatility - \( \sigma \) the initial volatility level
      jumpIntensity - Coefficients of for the jump intensity.
      jumpSizeMean - Jump size mean
      jumpSizeStdDev - Jump size variance.
      discountCurveForDiscountRate - The curve specifying \( t \mapsto exp(- r^{\text{d}}(t) \cdot t) \) - with \( r^{\text{d}}(t) \) the discount rate
    • MertonModel

      public MertonModel​(double initialValue, double riskFreeRate, double discountRate, double volatility, double jumpIntensity, double jumpSizeMean, double jumpSizeStdDev)
      Construct a Merton jump diffusion model with constant rates for the forward price (i.e. repo rate minus dividend yield) and for the discount curve.
      Parameters:
      initialValue - \( S_{0} \) - spot - initial value of S
      riskFreeRate - The constant risk free rate for the drift (repo rate of the underlying).
      volatility - \( \sigma \) the initial volatility level
      jumpIntensity - Coefficients of for the jump intensity.
      jumpSizeMean - Jump size mean
      jumpSizeStdDev - Jump size variance.
      discountRate - The constant rate used for discounting.
    • MertonModel

      public MertonModel​(double initialValue, double riskFreeRate, double volatility, double jumpIntensity, double jumpSizeMean, double jumpSizeStdDev)
      Construct a single curve Merton jump diffusion model.
      Parameters:
      initialValue - \( S_{0} \) - spot - initial value of S
      riskFreeRate - The constant risk free rate for the drift (repo rate of the underlying). It is also used for discounting.
      volatility - \( \sigma \) the initial volatility level
      jumpIntensity - Coefficients of for the jump intensity.
      jumpSizeMean - Jump size mean
      jumpSizeStdDev - Jump size variance.
  • Method Details