quant-pricer-cpp
Loading...
Searching...
No Matches
mc_barrier.cpp File Reference
#include "quant/mc_barrier.hpp"
#include "quant/black_scholes.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_barrier.cpp:

Namespaces

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

Functions

bool quant::mc::control_variate_enabled (bool request, const BarrierSpec &spec)
 
McResult quant::mc::price_barrier_option (const McParams &base, double strike, OptionType opt, const BarrierSpec &barrier)
 

Variable Documentation

◆ barrier

BarrierSpec barrier

◆ ctx

const BarrierMcContext& ctx

◆ cv_expectation

double cv_expectation

◆ discount

double discount

◆ drift_dt

double drift_dt

◆ drift_step

std::vector<double> drift_step

◆ dt

double dt

◆ increments

std::vector<double> increments

◆ increments_antithetic

std::vector<double> increments_antithetic

◆ knock_out

bool knock_out

◆ normals

std::vector<double> normals

◆ normals_antithetic

std::vector<double> normals_antithetic

◆ opt

OptionType opt

◆ params

const McParams& params

◆ scrambled

bool scrambled

◆ sigma_step

std::vector<double> sigma_step

◆ sobol

const qmc::SobolSequence* sobol

◆ sobol_dim

int sobol_dim

◆ sobol_point

std::vector<double> sobol_point

◆ sqrt_dt

double sqrt_dt

◆ steps

int steps

◆ strike

double strike

◆ uniforms

std::vector<double> uniforms

◆ uniforms_antithetic

std::vector<double> uniforms_antithetic

◆ up_barrier

bool up_barrier

◆ use_bridge

bool use_bridge

◆ use_cv

bool use_cv

◆ use_qmc

bool use_qmc

◆ use_schedule

bool use_schedule