Class StochasticProcess

Inheritance Relationships

Base Type

Derived Types

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 void set_pricer(std::shared_ptr<StochasticProcessPricer> pricer)
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