Class TimeChangedLevyProcess

Inheritance Relationships

Base Type

Class Documentation

class TimeChangedLevyProcess : public otyca::StochasticProcess

Represents a time-changed Lévy process, where a base Lévy process is evaluated at a stochastic clock.

This class composes a Lévy process with a time change process to model a wider range of stochastic behaviors. It supports computing characteristic functions, their derivatives, and various parameter manipulations.

Public Functions

inline virtual TimeChangedLevyProcess *clone() const

Clone this process.

Returns:

A new heap-allocated copy of the current object.

inline TimeChangedLevyProcess(const TimeChangedLevyProcess &other)

Copy constructor.

Performs a deep copy of the internal Lévy and time change processes.

Parameters:

other – The process to copy.

inline TimeChangedLevyProcess()

Default constructor.

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.

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 void set_transformed_calibration_parameters(const std::vector<double> &transformed_parameters)

Set the transformed parameters of the process.

Parameters:

transformed_parameters – Vector of transformed parameter values.

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

Set the raw parameters of the process.

Parameters:

parameters – Vector of raw parameter values.

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

Get the transformed parameters.

Returns:

A vector of transformed parameter values.

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

Get the raw parameters.

Returns:

A vector of raw parameter values.

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

Get the names of the parameters.

Returns:

A vector of parameter names.

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

Get the variances of the transformed parameters.

Returns:

A vector of variances.

virtual std::string name() const

Get the name of the process.

Returns:

A string representing the name.

virtual std::string specification() const

Get the model specification string.

Returns:

A string representation of the specification.

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

Get the derivatives of the transformation.

Returns:

A vector of transformation derivative values.

inline std::shared_ptr<TimeChangeProcess> get_time_change() const

Get the time change process.

Returns:

A shared pointer to the time change process.

inline void set_time_change(std::shared_ptr<TimeChangeProcess> p)

Set the time change process.

Parameters:

p – Shared pointer to the new time change process.

inline std::shared_ptr<LevyProcess> get_levy_process() const

Get the underlying Lévy process.

Returns:

A shared pointer to the Lévy process.

inline void set_levy_process(std::shared_ptr<LevyProcess> p)

Set the underlying Lévy process.

Parameters:

p – Shared pointer to the new Lévy process.

virtual std::ostream &print(std::ostream &out) const

Print a summary of the process to an output stream.

Parameters:

out – Output stream.

Returns:

Reference to the output stream.