Skip to content

Add randomized Sobol quasi-Monte Carlo for Asian options (#19) - #398

Merged
domokane merged 4 commits into
domokane:masterfrom
AIM-IT4:feature/asian-sobol-19
Oct 15, 2026
Merged

domokane merged 4 commits into
domokane:masterfrom
AIM-IT4:feature/asian-sobol-19

Conversation

@AIM-IT4

@AIM-IT4 AIM-IT4 commented Oct 15, 2026

Copy link
Copy Markdown
Contributor

Summary

Closes #19.

  • Add EquityAsianOption.value_mc_sobol(...), using scrambled Sobol Gaussian samples and antithetic equity paths.
  • Preserve the existing arithmetic averaging schedule, including before-averaging and partially accrued-average scenarios.
  • Use independent Sobol scrambles and return an error estimate from replicate prices rather than applying an IID error formula to low-discrepancy path values.
  • Keep all existing pseudo-random MC methods and defaults unchanged. Require num_paths = 2 * num_scrambles * 2**m with m >= 1 to preserve Sobol's balanced random_base2 design.

Tests

Local pytest: 44 passed across test_asian_sobol_qmc.py and the existing test_FinEquityAsianOption.py.

Independent numerical smoke check for a 1-year call (24 annual observations, 20% volatility): randomized Sobol 8,192 paths = 6.59974 (replicate SE 0.02757); existing control-variate MC 100,000 paths = 6.56533 (IID SE 0.00061). This comparison is a sanity check, not a speed/convergence superiority claim.

Branch based directly on upstream master c420937fcec7d9d6382d8cbab0705303db59929c.

CI results pending.

@domokane
domokane merged commit 6073e3b into domokane:master Oct 15, 2026
2 checks passed
@domokane

Copy link
Copy Markdown
Owner

Thanks

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement Sobol for Asian Options

2 participants