quant-pricer-cpp
Loading...
Searching...
No Matches
multi.hpp
Go to the documentation of this file.
1
2#pragma once
3
4#include <cstdint>
5#include <vector>
6
7namespace quant::multi {
8
10 std::vector<double> spots; // S0 per asset
11 std::vector<double> vols; // sigma per asset
12 std::vector<double> dividends; // q per asset
13 std::vector<double> weights; // basket weights (sum to 1 typical)
14 std::vector<double> corr; // row-major NxN correlation matrix
15 double rate; // risk-free rate
16 double strike; // K
17 double time; // T
18 std::uint64_t num_paths; // paths
19 std::uint64_t seed; // RNG seed
20 bool antithetic{true};
21};
22
23struct McStat {
24 double value;
25 double std_error;
26};
27
29
31 double spot;
32 double strike;
33 double rate;
34 double dividend;
35 double vol;
36 double time;
37 double lambda; // jump intensity
38 double muJ; // mean of log jump size
39 double sigmaJ; // std of log jump size
40 std::uint64_t num_paths;
41 std::uint64_t seed;
42 bool antithetic{true};
43};
44
45McStat merton_call_mc(const MertonParams& p);
46
47} // namespace quant::multi
Multi-asset MC pricing: basket and jump-diffusion.
Definition multi.hpp:7
McStat basket_european_call_mc(const BasketMcParams &p)
Definition multi.cpp:41
McStat merton_call_mc(const MertonParams &p)
Definition multi.cpp:101
Definition multi.hpp:9
std::vector< double > dividends
Definition multi.hpp:12
double rate
Definition multi.hpp:15
std::vector< double > spots
Definition multi.hpp:10
std::uint64_t num_paths
Definition multi.hpp:18
std::vector< double > corr
Definition multi.hpp:14
double time
Definition multi.hpp:17
bool antithetic
Definition multi.hpp:20
std::vector< double > weights
Definition multi.hpp:13
double strike
Definition multi.hpp:16
std::vector< double > vols
Definition multi.hpp:11
std::uint64_t seed
Definition multi.hpp:19
Definition multi.hpp:23
double std_error
Definition multi.hpp:25
double value
Definition multi.hpp:24
Definition multi.hpp:30
bool antithetic
Definition multi.hpp:42
double spot
Definition multi.hpp:31
double rate
Definition multi.hpp:33
double muJ
Definition multi.hpp:38
double dividend
Definition multi.hpp:34
std::uint64_t num_paths
Definition multi.hpp:40
double vol
Definition multi.hpp:35
double time
Definition multi.hpp:36
double sigmaJ
Definition multi.hpp:39
double strike
Definition multi.hpp:32
std::uint64_t seed
Definition multi.hpp:41
double lambda
Definition multi.hpp:37