let's say we have a GBM $dS_t = r S_t dt + \sigma S_t dW_t$, where $W_t$ is standard Brownian motion, and we have an European option $C$ with payoff $f(S_T)$. I want to use an Euler discretization scheme to compute the price of $C$. So let's say we fix $N$ (number of time steps), $T$ (final time), and we let $\Delta t= T/N$.

So we can write $$ S_{(j+1)\Delta t}=S_{j\Delta t}(1 + r\Delta t + \sigma\sqrt{\Delta t}Z_j),$$ where $Z_j$ are independent standard normal variables. Using a simple Monte Carlo method, we can compute the price of $C$ by averaging the discounted $f(S_T)$, as usual.

What I wanted to do was to use antithetic sampling to reduce the variance of the Monte Carlo simulation. Thus, I have a generator that returns independent normal variables $Z$, and in antithetic sampling, I sample $-Z$ after each $Z$. When I do this I get a completely incorrect price using the above scheme (this works fine when using Monte Carlo simulation with the explicit solution of the SDE instead of Euler discretization).

What is wrong? I'm guessing that antithetic sampling should be done on the whole family $(Z_0,Z_1,...,Z_{N})$ instead of doing it on each individual normal, but I'm having troubles understanding the theory behind this. Any help is appreciated!

  • 1
    $\begingroup$ Could you provide a few more details on how exactly you generate the antithetic paths. In general, when the $i$-th normal path is generated using the normal variates $\left( Z_{i, 0}, Z_{i, 1}, \ldots, Z_{i, n} \right)$, then you can generate the corresponding antithetic path using $\left( -Z_{i, 0}, -Z_{i, 1}, \ldots, -Z_{i, n} \right)$. Just note that there are two separate paths and not (pure speculation) $\left( Z_{i, 0}, -Z_{i, 0}, Z_{i, 1}, -Z_{i, 1}, \ldots, -Z_{i, n/2} \right)$. $\endgroup$ – LocalVolatility Mar 24 '17 at 12:34
  • $\begingroup$ Well I have a method, say, getGaussian() which returns independent normals, and another method, say getGaussianAntithetic() which uses getGaussian() but returning them in alternating pairs $Z$, $-Z$.. That is, I end up using $(Z_{i,0}, -Z_{i,0},...)$, which is probably wrong. $\endgroup$ – dbluesk Mar 24 '17 at 12:38
  • 2
    $\begingroup$ Yes - that is wrong! You need to generate two independent paths. For each normal path, you generate one anithetic path that used the negative of each of the normal variates. $\endgroup$ – LocalVolatility Mar 24 '17 at 12:39
  • 1
    $\begingroup$ I suggest you have a look at Chapter 4 "Variance Reduction Techniques" in Glasserman's "Monte Carlo Methods in Financial Engineering". $\endgroup$ – LocalVolatility Mar 24 '17 at 12:49

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.