[][src]Function cf_functions::heston_cf

pub fn heston_cf(
    t: f64,
    rate: f64,
    sigma: f64,
    v0: f64,
    speed: f64,
    eta_v: f64,
    rho: f64
) -> impl Fn(&Complex<f64>) -> Complex<f64>

Returns Heston model log CF.

Remarks

The time change is assumed to be a CIR process

Examples

extern crate num_complex;
use num_complex::Complex;
extern crate cf_functions;
let u = Complex::new(1.0, 1.0);
let sigma = 0.3; //square root of long run average
let t = 0.5; //time horizon
let rate = 0.05;
let speed = 0.5; //speed of mean reversion of CIR process
let v0 = 0.29; //initial value of CIR process 
let eta_v = 0.3; //volatility of CIR process (vol of vol)
let rho = -0.5; //correlation between diffusions
let cf = cf_functions::heston_cf(
    t, rate, 
    sigma, v0, speed, eta_v, rho
);
let value_of_cf=cf(&Complex::new(0.05, -0.5));