Class Merton

Inheritance Relationships

Base Type

Class Documentation

class Merton : public otyca::LevyProcess

Represents the jump component of the Merton jump diffusion process.

In the Merton model, jumps occur at random times determined by a Poisson process. The jump size follows Gaussian distribution.

This jump mechanism allows the model to capture sudden large moves in asset prices, both upward and downward.

Note

The continuous part (diffusion) is governed by separate parameters and is not described here.

Public Functions

inline Merton(double mu, double sigma, double lambda)
inline Merton()
inline virtual Merton *clone() const

Clone the current LevyProcess instance.

Returns:

A pointer to a newly allocated copy.

virtual ~Merton()
virtual arma::cx_colvec characteristic_exponent(const arma::cx_colvec &u) const override

Compute the characteristic exponent at a set of frequencies.

Parameters:

u – Complex-valued column vector of Fourier arguments.

Returns:

characteristic exponent vector.

virtual std::vector<arma::cx_colvec> characteristic_exponent_derivatives(const arma::cx_colvec &u) const override

Compute the derivatives of the characteristic exponent.

Parameters:

u – Complex-valued column vector of Fourier arguments.

Returns:

A vector of derivatives of characteristic exponent with respect to parameters

inline double get_lambda() const
inline double get_mu() const
inline double get_sigma() const
inline void set_lambda(double _Lambda)
inline void set_mu(double _Mu)
inline void set_sigma(double _Sigma)
virtual void set_transformed_calibration_parameters(const std::vector<double>&)

set the transformed parameters for calibration.

Parameters:

transformed_calibration_parameters – the transformed calibration parameters

inline virtual void set_parameters(const std::vector<double> &parameters)

Set the model’s raw parameters.

Parameters:

parameters – A vector of new parameter values.

virtual std::vector<double> transformation_derivatives() const

Get derivatives of the transformation with respect to the raw parameters.

Used for Jacobian computation during calibration.

Returns:

A vector of derivatives (default: all 1).

virtual std::vector<double> get_transformed_calibration_parameters() const

get the transformed parameters for calibration.

Returns:

the transformed parameters for calibration

inline virtual std::vector<double> get_parameters() const

Get the model’s raw parameters.

Returns:

A vector containing the model’s parameters.

virtual std::vector<double> get_transformed_calibration_parameter_variances() const
inline virtual std::string name() const

Get the model’s name.

Returns:

A string representing the name of the model.

inline virtual std::vector<std::string> get_parameter_names() const

Get the names of the model parameters.

Default implementation assigns names as “p1”, “p2”, etc.

Returns:

A vector of parameter names.