MonteCUDA

Monte Carlo options pricer built on custom CUDA kernels. Runs on NVIDIA A10G via Modal, with 1611x speedup over CPU at 10M paths.

A10G · Modal
option type
100
100
1.0 yr
3.0%
20.0%
method
$
convergence — price ± 95% CI
stream
waiting for A10G...
European Call · S=100 K=100 T=1 r=3% σ=20% N=1M paths
standard error at 1M paths
run comparison to see results
results
methodpriceSEtime msVR
SE comparison (log scale)
European Call · S=100 K=100 T=1 r=3% σ=20% · CRN bump-and-revalue · 5M paths
all 5 greeks vs black-scholes
greekGPU (CRN)BS analyticerror
Δ delta
Γ gamma
ν vega
Θ theta
ρ rho
delta SE — 3 methods (8 trials · N=500K)
run computation to see results
naive bump — independent paths each leg: noisy
CRN bump — same Philox seed: noise cancels
pathwise — single pass, differentiates GBM step: lowest variance
heston parameters
0.04 (σ=20%)
2.0
0.04 (σ=20%)
0.30
-0.70
ρ < 0 → equity skew (OTM puts expensive)
ρ > 0 → commodity skew (OTM calls expensive)
implied volatility smile
prices by strike — GPU MC vs Heston CF
strikeGPU MCHeston CFimpl. volflat BS vol
basket parameters
100
100
100
20.0%
25.0%
Prices across ρ ∈ [−0.9, 0.9] in one shot.
Arithmetic ≥ geometric — Jensen's inequality.
basket price vs correlation ρ
arithmetic vs geometric — Jensen's inequality
ρarithmetic (GPU MC)geometric (CF)diffJensen