quant-pricer-cpp
Loading...
Searching...
No Matches
mc.cpp File Reference
#include "quant/mc.hpp"
#include "quant/math.hpp"
#include "quant/qmc/brownian_bridge.hpp"
#include "quant/qmc/sobol.hpp"
#include "quant/stats.hpp"
#include <algorithm>
#include <cmath>
#include <limits>
#include <memory>
#include <numbers>
#include <random>
#include <stdexcept>
#include <vector>
#include <pcg_random.hpp>
+ Include dependency graph for mc.cpp:

Namespaces

namespace  quant
 Barrier option primitives and configuration.
 
namespace  quant::mc
 Monte Carlo GBM pricer with antithetic variates and optional control variate.
 

Functions

GreeksResult quant::mc::greeks_european_call (const McParams &p)
 
McResult quant::mc::price_european_call (const McParams &p)
 

Variable Documentation

◆ antithetic

bool antithetic

◆ cv_expectation

double cv_expectation

◆ delta

◆ discount

double discount

◆ dividend

double dividend

◆ drift

double drift

◆ drift_step

std::vector<double> drift_step

◆ dt

std::vector<double> dt

◆ gamma_lrm

◆ gamma_mixed

quant::stats::Welford gamma_mixed

◆ increments

std::vector<double> increments

◆ increments_antithetic

std::vector<double> increments_antithetic

◆ inv_gamma_denom

double inv_gamma_denom

◆ normals

std::vector<double> normals

◆ normals_antithetic

std::vector<double> normals_antithetic

◆ params

const McParams& params

◆ rate

double rate

◆ rng_mode

quant::rng::Mode rng_mode

◆ score_coeff

double score_coeff

◆ scrambled

bool scrambled

◆ sigma

std::vector<double> sigma

◆ sobol

const qmc::SobolSequence* sobol

◆ spot

double spot

◆ sqrt_dt

std::vector<double> sqrt_dt

◆ sqrt_time

double sqrt_time

◆ steps

int steps

◆ strike

double strike

◆ theta

◆ time

double time

◆ uniforms

std::vector<double> uniforms

◆ use_bridge

bool use_bridge

◆ use_qmc

bool use_qmc

◆ use_schedule

bool use_schedule {false}

◆ vega

◆ vol

double vol

◆ vol_sqrt_time

double vol_sqrt_time