CONTENTS

Exercise: Pricing a geometric Asian option — Sobol vs Monte Carlo

A geometric-average Asian call on S0=100S_0 = 100 with K=100K = 100, r=0.05r = 0.05, σ=0.2\sigma = 0.2, T=1T = 1, sampled at n=32n = 32 equally spaced dates, has a closed-form analytic price under Black-Scholes (Kemna-Vorst 1990). This is a rare case: we can measure Monte Carlo error against ground truth.

The closed-form price under log-normal dynamics with geometric-average sampling is Cgeo=S0e(μr)TΦ(d1)KerTΦ(d2)C_{\text{geo}} = S_0 e^{(\mu^* - r)T}\Phi(d_1^*) - K e^{-rT}\Phi(d_2^*) with adjusted parameters:

σ2=σ2(n+1)(2n+1)6n2,μ=12[rσ22+σ2],\sigma^*{}^2 = \sigma^2 \frac{(n+1)(2n+1)}{6n^2}, \quad \mu^* = \frac{1}{2}\left[r - \frac{\sigma^2}{2} + \sigma^*{}^2\right], d1=ln(S0/K)+(μ+σ2/2)TσT,d2=d1σT.d_1^* = \frac{\ln(S_0/K) + (\mu^* + \sigma^*{}^2/2)T}{\sigma^*\sqrt{T}}, \quad d_2^* = d_1^* - \sigma^*\sqrt{T}.

For the parameters above, Cgeo5.88C_{\text{geo}} \approx 5.88 (compute to verify).

Tasks

  1. Compute the analytic price CgeoC_{\text{geo}} to six decimals.

  2. Implement pure Monte Carlo pricing with Npaths{28,210,212,214}N_{\text{paths}} \in \{2^8, 2^{10}, 2^{12}, 2^{14}\}. For each sample size, run M=100M = 100 independent replicates and estimate the RMSE of your price estimator.

  3. Implement Sobol-based QMC pricing (scrambled Sobol, inverse-CDF transform to Gaussian). For the same sample sizes, run M=100M = 100 independent scrambles and estimate the RMSE.

  4. Plot log(RMSE)\log(\text{RMSE}) vs logN\log N for both. Fit lines to each and report the empirical convergence rate (slope).

  5. At what sample size does Sobol-QMC reach the accuracy that pure Monte Carlo achieves at N=214N = 2^{14}?

Hint

Scramble Sobol by using scipy.stats.qmc.Sobol(d=32, scramble=True, seed=k) for k=0,1,,M1k = 0, 1, \ldots, M - 1.