1
$\begingroup$

In Glasserman's book, he computes the price of an option by first computing the average price over each simulated price path. Once all the paths have been simulated, the average of all the payoffs is computed using the average price of each simulated path.

In the finance courses I have taken, the algorithm I have been taught is to compute all the simulated price paths, work out the payoff of each path and then take the average payoff which is then discounted.

Glasserman's algorithm involves more computation steps since for each price path I have to compute this average price. Why does Glasserman take this approach? Also if there is anybody working in the industry, what algorithm is actually taken to pricing vanilla options i.e. does industry follow the textbook approach or do they apply any other optimisation techniques?

$\endgroup$
  • 1
    $\begingroup$ I don't remember this part of the book explicitly but isn't it to avoid memory issues? When you incrementally compute the average payoff each time you simulate a new path, you can free the memory after each step, while the second approach requires storing each path and computing the average only after each one has been simulated. In other words, Glasserman's approach can work with thousands of millions of simulations, while on most work stations the second method would fail (not enough memory). $\endgroup$ – Quantuple Mar 29 '16 at 9:17
  • 1
    $\begingroup$ @Quantuple, fair point - Glasserman's method does have that advantage. $\endgroup$ – user16556 Mar 29 '16 at 9:23
  • 1
    $\begingroup$ @Quantuple I think Quantuple has answer it perfectly. His comment should be an answer. $\endgroup$ – SmallChess Mar 29 '16 at 11:55
  • $\begingroup$ @Student T I have reformulated my comment as an answer. Thanks $\endgroup$ – Quantuple Mar 29 '16 at 12:35
1
$\begingroup$

Although I don't remember this part of the book explicitly, I guess Glasserman implements Monte Carlo this way to preclude memory-related issues.

Indeed, iteratively updating the average payoff each time you are done with generating a path allows to free most of the memory after each Monte Carlo simulation: you only need to store the running average.

On the other hand, the second approach you mention requires simulating and storing all the paths before you get to compute the average payoff.

In other words, Glasserman's implementation will work even with thousands of millions of Monte Carlo simulations, while on most work stations the second method would fail (not enough memory).

Note that in certain programming languages, the second approach can benefit from vectorisation (I'm thinking matlab and the likes). Hence you should choose your implementation wisely based on your own constraints (for instance matlab uses a quite limited java heap size by deault).

$\endgroup$
  • $\begingroup$ I re-read the passage again and Glasserman is pricing Asian options which, as you know, depend on the average value of an underlying asset over a specific period of time. $\endgroup$ – user16556 Apr 4 '16 at 19:31
  • $\begingroup$ I didn't dare asking if it were an Asian option to begin with. Makes even more sense. Sorry for not having answered your question. $\endgroup$ – Quantuple Apr 4 '16 at 19:35

Your Answer

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