Class CompositeLevyProcess

Inheritance Relationships

Base Type

Class Documentation

class CompositeLevyProcess : public otyca::LevyProcess

A Levy process composed of multiple LevyProcess components.

This class aggregates several LevyProcess instances and combines their characteristic exponents, parameters, and derivatives. The characteristic exponent of the composite process is the sum of the characteristic exponents of its components.

Public Functions

inline virtual CompositeLevyProcess *clone() const

Clone the current object.

Returns:

A pointer to a new CompositeLevyProcess with the same components.

inline CompositeLevyProcess(const CompositeLevyProcess &other)

Copy constructor.

Clones all Levy process components from another CompositeLevyProcess.

Parameters:

other – The CompositeLevyProcess to copy from.

inline CompositeLevyProcess()

Default constructor.

void add_component(std::shared_ptr<LevyProcess> component)

Add a Levy process component to the composite.

Parameters:

component – Shared pointer to a LevyProcess to be added.

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

Set all transformed parameters of the composite process.

The input vector is partitioned and dispatched to each component.

Parameters:

transformed_parameters – Vector of transformed parameters.

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

Set the native (non-transformed) parameters of the composite process.

Parameters:

parameters – Vector of native parameters.

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

Get all transformed parameters of the composite process.

Returns:

Concatenated vector of transformed parameters.

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

Get all native (non-transformed) parameters of the composite process.

Returns:

Concatenated vector of native parameters.

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

Get names of all parameters in the composite process.

Returns:

Concatenated vector of parameter names.

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

Get transformed parameter variances from all components.

Returns:

Concatenated vector of parameter variances.

virtual std::string name() const

Get a human-readable name for the composite process.

Returns:

Name string (e.g., “Composite(BM+VG)”).

virtual std::string specification() const

Get a technical specification of the composite process.

Returns:

Specification string.

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

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

Get the derivatives of the transformation function.

Returns:

Concatenated vector of transformation derivatives.

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

Write a summary of the process to an output stream.

Parameters:

out – Output stream.

Returns:

Reference to the output stream.

inline const std::vector<std::shared_ptr<LevyProcess>> &get_levy_components() const

Get a const reference to the internal list of Levy process components.

Returns:

Vector of shared pointers to LevyProcess.