Monte Carlo Greeks
The Monte Carlo method is really a great tool for solving difficult problems in a relatively easy way. It is also simple to parallelize, an added bonus. But it is not the perfect solution of course. When it comes to option pricing, there are two things that it could do easier and better: option sensitivities (i.e. the Greeks) and free boundary problems (i.e. Bermudan-style exercise).
Here we take a brief look at what the pricer does with the first problem. There are two options available, which are maybe those most widely applicable/used in practice, though don't quote me on this. The first one is the crude way, consisting of bumping the parameter for which we want to calculate the option value's sensitivity and recalculating to find how much it changes the valuation. We then calculate the sensitivity as the affected change divided by the size of the bump we used (i.e. a finite difference expression). When we do that we make sure that we use the same sequence of random (or quasi-random) numbers for both valuations (called path-recycling), in order to avoid introducing unnecessary noise. This may sound simple enough but there's more to it: we have to decide what bump size we use. Too large a bump and our finite difference estimator will be inaccurate (like with any finite difference method), i.e. we will have a large discretization error (referred to as bias in the context of Monte Carlo). On the other hand too small a bump will make our finite difference estimator very precise in theory, but then we would only be able to see this precision if we let our simulation run for hours, days, or months even! Because the side effect of using a really small bump is to make the estimator fluctuate wildly, i.e. increase its variance. So then there's always a balance that we need to hit between discretization bias and variance when we choose the bump size. For the purposes of this simple app, this has been customized for each option type to be such that the uncertainty left due to the variance after a few seconds of run time is comparable to the discretization bias. More or less anyway. It ranges from 0.01% to1%.
The main problems of this Finite Differencing (FD) method is first that it is slow because it needs multiple re-evaluations, and second that it can often perform so badly (too high variance) that it becomes unusable.
The second option available in the pricer is the Likelihood Ratio (LR) method, which can be seen as a special case of a more general tool called Malliavin calculus. In contrast to the FD method which involves just kindergarden-level arithmetic, the set-up of the LR method actually requires some intellectual input, more like undergraduate level this time (calculus and algebra). But then it pays off. It involves differentiation of the risk-neutral probability density function of the underlying process. For barrier options where we also wish to emulate continuous barrier monitoring (more on this below), we also need to differentiate the probabilities of hitting the barrier in between each time-step on our discretized path. The most complicated LR formulas I had to derive for the pricer are those for continuously monitored double barrier options (either knock-in or knock-out), for which the probability of hitting one of the two barriers is given as an infinite sum (see Gobet, 2000 [3]). One such case is illustrated below.
The first example above is that of an up and out option, taken out of P. Jäckel's book [1]. It is easy to see how the LR method clearly outperforms the FD method, especially so when it comes to the Gamma. If someone compares with the equivalent plots in [1] they will see that here the FD method does not look nearly as bad as it does in [1]. This is because Jäckel uses a smaller bump, chosen to make the Greek estimators as precise as machine precision allows. This leads to very high variance. The pricer opts for a larger bump size (in this case 1% of the asset spot) which reduces the variance while still keeping the discretization bias low, as can be seen if you let it converge.
The second example is a Bermudan double knock-out barrier option which is priced with the Longstaff-Schwartz algorithm. It also has the continuous monitoring correction applied, which as mentioned above utilizes the conditional probability of the underlying process hitting a barrier in between two fixed end points. This is known analytically for BM and GBM processes. Please note that any stochastic process can be made locally BM via Euler discretization. For double barriers the formula for the probability of avoiding both barriers is more involved, taking the form of an infinite sum. In practice the sum converges fast and only terms up to n=3 are computed by the pricer. So when the discrete simulated path has not hit the barrier(s) on any of the simulated dates/time points, we draw and compare a uniform variate to the hitting probability in order to decide whether the process has hit the barrier(s) in between those dates. We do that for all time steps until the option ceases to exist (either matures, or is exercised).
Despite all that sounding rather complicated, it can be seen that the MC LR Greeks (slide 6) match practically exactly those from the reference PDE solution (calculated on a very high resolution grid, shown in slide 5). Which is rather impressive and points to the fact that the LR formulas have been derived correctly. The Greeks calculated with the FD method (last slide) are clearly fluctuating a lot more and are thus a lot less accurate, apart from needing two extra evaluations for the Delta and Gamma (and in this case two more in order to calculate Vega and Theta). The LR method still adds a little bit to the execution time of a single valuation, but it is really a small percentage. What does add substantially to the execution time is the continuous monitoring correction. This is because the calculation of the hitting probability for each time step involves extra exp function evaluations (and a large sum of them in the case of the double barrier).
For more information on the LR and other methods for estimating sensitivities through Monte Carlo see [2].
You can reproduce the above tests, or experiment further if you wish, using the standalone pricer (free beta version for Windows PCs).
The second example is a Bermudan double knock-out barrier option which is priced with the Longstaff-Schwartz algorithm. It also has the continuous monitoring correction applied, which as mentioned above utilizes the conditional probability of the underlying process hitting a barrier in between two fixed end points. This is known analytically for BM and GBM processes. Please note that any stochastic process can be made locally BM via Euler discretization. For double barriers the formula for the probability of avoiding both barriers is more involved, taking the form of an infinite sum. In practice the sum converges fast and only terms up to n=3 are computed by the pricer. So when the discrete simulated path has not hit the barrier(s) on any of the simulated dates/time points, we draw and compare a uniform variate to the hitting probability in order to decide whether the process has hit the barrier(s) in between those dates. We do that for all time steps until the option ceases to exist (either matures, or is exercised).
Despite all that sounding rather complicated, it can be seen that the MC LR Greeks (slide 6) match practically exactly those from the reference PDE solution (calculated on a very high resolution grid, shown in slide 5). Which is rather impressive and points to the fact that the LR formulas have been derived correctly. The Greeks calculated with the FD method (last slide) are clearly fluctuating a lot more and are thus a lot less accurate, apart from needing two extra evaluations for the Delta and Gamma (and in this case two more in order to calculate Vega and Theta). The LR method still adds a little bit to the execution time of a single valuation, but it is really a small percentage. What does add substantially to the execution time is the continuous monitoring correction. This is because the calculation of the hitting probability for each time step involves extra exp function evaluations (and a large sum of them in the case of the double barrier).
For more information on the LR and other methods for estimating sensitivities through Monte Carlo see [2].
You can reproduce the above tests, or experiment further if you wish, using the standalone pricer (free beta version for Windows PCs).
References
[1] Jäckel, P. (2002). Monte Carlo Methods in Finance. John Wiley & Sons Ltd.
[2] Glasserman, P. (2003). Monte Carlo Methods in Financial Engineering. New York, Springer-Verlag.
[3] E. Gobet, Weak approximation of killed diffusion using Euler schemes, Stochastic Processes and their Applications, 87 (2000), pp.167-197.
[2] Glasserman, P. (2003). Monte Carlo Methods in Financial Engineering. New York, Springer-Verlag.
[3] E. Gobet, Weak approximation of killed diffusion using Euler schemes, Stochastic Processes and their Applications, 87 (2000), pp.167-197.