finMath lib documentation
net.finmath.fouriermethod.models

## Class 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 Summary

Constructors
Constructor and Description
MertonModel(double initialValue, double riskFreeRate, double volatility, double jumpIntensity, double jumpSizeMean, double jumpSizeStdDev)
Construct a single curve Merton jump diffusion model.
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.
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.
• ### Method Summary

All Methods
Modifier and Type Method and Description
CharacteristicFunction apply(double time)
Returns the characteristic function of X(t), where X is this stochastic process.
DiscountCurve getDiscountCurveForDiscountRate()
DiscountCurve getDiscountCurveForForwardRate()
double getDiscountRate()
double getInitialValue()
double getJumpIntensity()
double getJumpSizeMean()
double getJumpSizeStdDev()
LocalDate getReferenceDate()
double getRiskFreeRate()
double getVolatility()
String toString()
• ### Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
• ### Constructor Detail

• #### 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 Detail

• #### apply

public CharacteristicFunction apply(double time)
Description copied from interface: CharacteristicFunctionModel
Returns the characteristic function of X(t), where X is this stochastic process.
Specified by:
apply in interface CharacteristicFunctionModel
Parameters:
time - The time at which the stochastic process is observed.
Returns:
The characteristic function of X(t).
• #### getReferenceDate

public LocalDate getReferenceDate()
Returns:
the referenceDate
• #### getInitialValue

public double getInitialValue()
Returns:
the initialValue
• #### getDiscountCurveForForwardRate

public DiscountCurve getDiscountCurveForForwardRate()
Returns:
the discountCurveForForwardRate
• #### getRiskFreeRate

public double getRiskFreeRate()
Returns:
the riskFreeRate
• #### getDiscountCurveForDiscountRate

public DiscountCurve getDiscountCurveForDiscountRate()
Returns:
the discountCurveForDiscountRate
• #### getDiscountRate

public double getDiscountRate()
Returns:
the discountRate
• #### getVolatility

public double getVolatility()
Returns:
the volatility
• #### getJumpIntensity

public double getJumpIntensity()
Returns:
the jumpIntensity
• #### getJumpSizeMean

public double getJumpSizeMean()
Returns:
the jumpSizeMean
• #### getJumpSizeStdDev

public double getJumpSizeStdDev()
Returns:
the jumpSizeStdDev
• #### toString

public String toString()
Overrides:
toString in class Object