Class StochasticProcess
Defined in File stochastic_process.hpp
Inheritance Relationships
Base Type
public otyca::Model< 2 >
(Template Class Model)
Derived Types
public otyca::BimodalGaussian
(Class BimodalGaussian)public otyca::CompositeStochasticProcess
(Class CompositeStochasticProcess)public otyca::Heston
(Class Heston)public otyca::LevyProcess
(Class LevyProcess)public otyca::MultipleBimodalGaussian
(Class MultipleBimodalGaussian)public otyca::TimeChangedLevyProcess
(Class TimeChangedLevyProcess)
Class Documentation
-
class StochasticProcess : public otyca::Model<2>
Subclassed by otyca::BimodalGaussian, otyca::CompositeStochasticProcess, otyca::Heston, otyca::LevyProcess, otyca::MultipleBimodalGaussian, otyca::TimeChangedLevyProcess
Public Functions
-
virtual StochasticProcess *clone() const = 0
-
inline virtual std::vector<double> evaluate(const std::vector<std::array<double, 2>> &x) const
-
virtual std::vector<std::vector<double>> evaluate(const std::vector<double> &x1s, const std::vector<std::vector<double>> &x2s) const
-
virtual std::vector<std::vector<std::vector<double>>> jacobian(const std::vector<double> &x1s, const std::vector<std::vector<double>> &x2s) const
-
virtual std::vector<std::vector<std::vector<double>>> jacobian_finite_difference(const std::vector<double> &x1s, const std::vector<std::vector<double>> &x2s, double epsilon = 1e-6) const
-
bool compare_jacobian(const std::vector<double> &expirations, const std::vector<std::vector<double>> &log_strikes, double epsilon = 1e-6, double tolerance = 1e-6)
-
virtual double volatility(double tenor, double log_relative_strike) const
-
virtual arma::cx_mat characteristic_function(const arma::cx_colvec &u, const arma::rowvec &t) const = 0
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 arma::cx_mat characteristic_function_drift_adjustment(const arma::cx_colvec &u, const arma::rowvec &t) const
-
virtual std::vector<arma::cx_mat> characteristic_function_derivatives(const arma::cx_colvec &u, const arma::rowvec &t) const = 0
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
-
std::vector<arma::cx_mat> characteristic_function_derivatives_finite_difference(const arma::cx_colvec &u, const arma::rowvec &t, double epsilon = 1e-6) const
Computes the characteristic function’s derivatives to process parameters using finate difference method.
- Parameters:
u – Complex-valued column vector of Fourier arguments.
t – Row vector of time points.
epsilon – Finite difference step size.
- Returns:
A vector of characteristic function matrices with each matrix is the characteristic function’s derivatives to each process parameter
-
bool compare_characteristic_function_derivatives(const arma::cx_colvec &u, const arma::rowvec &t, double epsilon = 1e-6, double tolerance = 1e-6) const
-
double variance(double t) const
-
double volatility(double t) const
-
inline virtual std::string specification() const
-
virtual std::ostream &print(std::ostream &out) const
Print model parameters and names to an output stream.
Prints parameter names followed by values, comma-separated.
- Parameters:
out – The output stream to write to.
- Returns:
The modified output stream.
Protected Attributes
-
mutable std::shared_ptr<StochasticProcessPricer> _pricer
-
virtual StochasticProcess *clone() const = 0