template class xf::fintech::TreeLattice

#include "tree_lattice.hpp"

Overview

Generalized structure compatible with different models and instruments.

Parameters:

DT date type supported include float and double.
Model short-rate model for Tree Engine
Process stochastic process
Instrument swaption, swap, cap floor, callable bond
DIM 1D or 2D short-rate model
LEN maximum length of timestep, which affects the latency and resources utilization.
LEN2 maximum length of node of tree, which affects the latency and resources utilization.
template <
    typename DT,
    typename Model,
    typename Process,
    typename Instrument,
    int DIM,
    int LEN,
    int LEN2
    >
class TreeLattice

Methods

setup

setup overload (1)

void setup (
    Model& model,
    DT* process,
    unsigned endCnt,
    DT r,
    DT x0,
    DT* time,
    DT* dtime
    )

setup setup parameter and initialize 1D framework of TreeLattice , and compute short-rate

Parameters:

model short-rate model for Tree Engine
process parameters of stochastic process
endCnt end counter of timepoints
r floating benchmark annual interest rate
x0 initial underlying
time array timepoints
dtime array the difference between the next timepoint and the current timepoint

setup overload (2)

void setup (
    Model& model,
    DT* process1,
    DT* process2,
    unsigned endCnt,
    DT r,
    DT x0,
    DT* time,
    DT* dtime
    )

setup setup parameter and initialize 2D framework of TreeLattice , and compute short-rate

Parameters:

model short-rate model for Tree Engine
process1 parameters of stochastic process
process2 parameters of stochastic process
endCnt end counter of timepoints
r floating benchmark annual interest rate
x0 initial underlying
time array timepoints
dtime array the difference between the next timepoint and the current timepoint

rollback

void rollback (
    Model& model,
    Instrument& engine,
    unsigned from,
    DT* time,
    DT* dtime,
    DT* NPV
    )

rollback calculate pricing result

Parameters:

model short-rate model for Tree Engine
engine swaption, swap, cap floor, callable bond
from begin counter
time array timepoints
dtime array the difference between the next timepoint and the current timepoint
NPV is pricing result