Class BimodalGaussian

Inheritance Relationships

Base Type

Derived Types

Class Documentation

class BimodalGaussian : public otyca::StochasticProcess

A stochastic jump process exhibiting bimodal behavior with a mean and a standard deviation parameter.

The BimodalGaussian jump process can be used to model events, e.g. stock earning announcements.

The model is parameterized by:

  • mu: the mean of the jump

  • sigma: the standard deviation of the jump

Subclassed by otyca::TimeBoundedBimodalGaussian, otyca::TimeFixedBimodalGaussian

Public Functions

inline virtual BimodalGaussian *clone() const

Clones the current object.

Returns:

A new instance of BimodalGaussian.

inline BimodalGaussian()

Default constructor. Initializes the process with default parameters.

inline BimodalGaussian(double mu, double sigma)

Parameterized constructor.

Parameters:
  • mu – Mean of the distribution.

  • sigma – Standard deviation of the distribution.

inline virtual ~BimodalGaussian()

Destructor.

inline double get_mu() const

Gets the mean parameter.

Returns:

The mean of the distribution.

inline void set_mu(double mu)

Sets the mean parameter.

Parameters:

mu – The new mean value.

inline double get_sigma() const

Gets the standard deviation parameter.

Returns:

The standard deviation of the distribution.

inline void set_sigma(double sigma)

Sets the standard deviation parameter.

Parameters:

sigma – The new standard deviation value.

arma::cx_colvec characteristic_function(const arma::cx_colvec &u) const
virtual arma::cx_mat characteristic_function(const arma::cx_colvec &u, const arma::rowvec &t) const override

Computes the characteristic function.

Parameters:
  • u – Complex-valued column vector of Fourier arguments.

  • t – Row vector of time points.

Returns:

A characteristic function matrix where rows correspond to u and columns to t.

std::vector<arma::cx_colvec> characteristic_function_derivatives(const arma::cx_colvec &u) const
virtual std::vector<arma::cx_mat> characteristic_function_derivatives(const arma::cx_colvec &u, const arma::rowvec &t) const override

Computes the characteristic function’s derivatives to process parameters.

Parameters:
  • u – Complex-valued column vector of Fourier arguments.

  • t – Row vector of time points.

Returns:

A vector of characteristic function matrices with each matrix is the characteristic function’s derivatives to each process parameter

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

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).

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

Set the model’s raw parameters.

Parameters:

parameters – A vector of new parameter values.

virtual void set_transformed_calibration_parameters(const std::vector<double> &params) override

set the transformed parameters for calibration.

Parameters:

transformed_calibration_parameters – the transformed calibration parameters

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

get the transformed parameters for calibration.

Returns:

the transformed parameters for calibration

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

Get the model’s raw parameters.

Returns:

A vector containing the model’s parameters.

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

Gets the name of the process.

Returns:

The process name “BG”.

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

Gets the names of the parameters.

Returns:

A vector of parameter names.

Public Static Functions

static inline std::string get_header()