Class CompositeLevyProcess
Defined in File composite_levy_process.hpp
Inheritance Relationships
Base Type
public otyca::LevyProcess
(Class LevyProcess)
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.
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> ¶meters)
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.
-
inline virtual CompositeLevyProcess *clone() const