Class FourierTransform

Inheritance Relationships

Derived Types

Class Documentation

class FourierTransform

Abstract base class for Fourier transformation of various claims(payoffs).

This class defines the interface for Fourier-based option pricing methods. It provides interfaces for evaluating the Fourier integrand and its derivatives of various claims(payoffs).

Subclassed by otyca::ClaimFourierTransform, otyca::TimeValueFourierTransform

Public Types

enum ClaimType

Enumeration of claim types for option payoffs.

Values:

enumerator CALL_CLAIM

Standard call option payoff.

enumerator PUT_CLAIM

Standard put option payoff.

enumerator COVERED_CALL

Payoff for a covered call position.

enumerator TIME_VALUE

Time value component of an option.

Public Functions

inline virtual ~FourierTransform()

Virtual destructor.

Ensures proper cleanup of derived classes.

virtual void integrand(const StochasticProcess *process, const arma::cx_colvec &u, const arma::rowvec &t, arma::cx_mat &psi) = 0

Compute the Fourier integrand for option pricing.

Parameters:
  • process – Pointer to the underlying stochastic process.

  • u – Complex vector in Fourier transform.

  • t – Row vector of times to maturity.

  • psi – Output complex matrix to store the computed integrand values.

virtual void integrand_derivatives(const StochasticProcess *process, const arma::cx_colvec &u, const arma::rowvec &t, std::vector<arma::cx_mat> &psi) = 0

Compute the derivatives of the Fourier integrand.

Parameters:
  • process – Pointer to the underlying stochastic process.

  • u – Complex vector in Fourier transform.

  • t – Row vector of times to maturity.

  • psi – Output vector of complex matrices for storing derivatives.

virtual void dampen_factor(const arma::colvec&, arma::colvec&) = 0
virtual ClaimType claim_type() = 0

Get the type of option claim handled by the transform.

Returns:

The claim type (e.g., call, put, covered call, or time value).