quant-pricer-cpp
Loading...
Searching...
No Matches
quant::pde Namespace Reference

Finite-difference PDE pricer (Crank–Nicolson) for European options. More...

Classes

struct  BarrierPdeGreeksResult
 
struct  BarrierPdeParams
 
struct  GridSpec
 Grid specification for PDE solver. More...
 
struct  PdeParams
 PDE pricing parameters and grid configuration. More...
 
struct  PdeResult
 

Functions

double price_barrier_crank_nicolson (const BarrierPdeParams &params, ::quant::OptionType opt)
 
BarrierPdeGreeksResult price_barrier_crank_nicolson_greeks (const BarrierPdeParams &params, ::quant::OptionType opt)
 
PdeResult price_crank_nicolson (const PdeParams &p)
 
std::vector< double > solve_tridiagonal (const std::vector< double > &a, const std::vector< double > &b, const std::vector< double > &c, const std::vector< double > &d)
 

Detailed Description

Finite-difference PDE pricer (Crank–Nicolson) for European options.

Function Documentation

◆ price_barrier_crank_nicolson()

double quant::pde::price_barrier_crank_nicolson ( const BarrierPdeParams params,
::quant::OptionType  opt 
)

◆ price_barrier_crank_nicolson_greeks()

BarrierPdeGreeksResult quant::pde::price_barrier_crank_nicolson_greeks ( const BarrierPdeParams params,
::quant::OptionType  opt 
)

◆ price_crank_nicolson()

PdeResult quant::pde::price_crank_nicolson ( const PdeParams p)

Price European option via Crank–Nicolson (S-space or log-space). Boundary conditions: Dirichlet at S=0, Dirichlet or Neumann at Smax.

◆ solve_tridiagonal()

std::vector< double > quant::pde::solve_tridiagonal ( const std::vector< double > &  a,
const std::vector< double > &  b,
const std::vector< double > &  c,
const std::vector< double > &  d 
)

Solve tridiagonal system Ax = d with Thomas algorithm. a: sub-diagonal (size n-1), b: main diagonal (size n), c: super-diagonal (size n-1) d: RHS (size n). Returns x of size n.