template class xf::fintech::G2Model

#include "g2_model.hpp"

Overview

Two-additive-factor gaussian model for Tree Engine.

Parameters:

DT data type supported include float and double
Tree class TrinomialTree
LEN2 maximum length of node of tree, which affects the latency and resources utilization.
template <
    typename DT,
    typename Tree,
    int LEN2
    >
class G2Model

Methods

initialization

void initialization (
    DT r,
    DT a,
    DT sigma,
    DT b,
    DT eta,
    DT rho
    )

initialize parameters

Parameters:

r floating benchmark annual interest rate
a initial volatility of stock.
sigma the volatility of volatility.
b initial volatility of stock.
eta the volatility of volatility.
rho the correlation coefficient between price and variance.

discount

DT discount (
    DT t,
    DT dt,
    DT* x,
    DT r = 0.0
    )

calculate the discount after time dt

Parameters:

t the current timepoint
dt the difference between the next timepoint and the current timepoint
x underlying
r invalid input

Returns:

discount

treeShortRate

void treeShortRate (
    Tree* tree,
    int endCnt,
    DT* time,
    DT* dtime,
    internal::xf_2D_array <DT, 4, LEN2>& tmp_values1,
    internal::xf_2D_array <DT, 4, LEN2>& tmp_values2,
    DT* rates
    )

calcutate short-rate of dt at t for TreeEngine

Parameters:

tree class TrinomialTree
endCnt end counter of timepoints
time array timepoints
dtime array the difference between the next timepoint and the current timepoint
tmp_values1 process values
tmp_values2 process values
rates array short-rates