The Range Bound Algorithms
4.6 Numerical Results for European-Style Asian OptionsOptions
which holds for each bucket by Jensen’s inequality.
It remains to show that Desired≤ nUnifSpl. Recall that nUnifSpl splits each path P = (S0, S1, . . . , Sn) into 2n paths with the consequence that the expected value of the average price for any split path x, say Ax, equals the average price of P , i.e., E[ Ax] =n
i=0Si/(n+1). By Jensen’s inequality, P ’s payoff, [n
i=0Si/(n + 1) − X]+, is dominated by nUnifSpl’s approximation, E[ (Ax− X)+]. As this inequality holds
for every path, the desired result follows. Q.E.D.
If nUnifCvg:nUnifSpl chooses the numbers of buckets, kij, according to Eq.
(4.11), then Theorem 4.4.1 implies an error bound of O(X√
n/k). Our experiments in the next section will show that this error bound seems overpessimistic.
4.6 Numerical Results for European-Style Asian Options
All the experimental results reported here are based on a Pentium III 500MHz PC with 256MB DRAM. The programs are written in C++. Our key finding will be
that the range-bound algorithm nUnifCvg:nUnifSpl is efficient and brackets the desired option value extremely tightly. It also outperforms all the other range-bound algorithms in the paper for accuracy and efficiency.
We first confirm that our particular nonuniform bucketing scheme Eq. (4.11) improves upon the uniform bucketing scheme. Toward that end, the nonuniform nUnifUp is compared against the uniform UnifUp and UnifAvg, with the Monte Carlo algorithm as the proxy benchmark. To be fair, the total number of buckets is the same for all three algorithms. The plot in Fig. 4.5 shows that the nonuniform nUnifUp converges more smoothly and quickly than either UnifUp or UnifAvg, which in turn can be seen to outperform UnifUp. This conclusion is consistent with the theoretical result.
Q
MC10^6 UnifUp
UnifAvg
nUnifUp éôÿø
Figure 4.5: Comparing UnifUp, UnifAvg, and nUnifUp.
MC10ˆ6 denotes Monte Carlo simulation based on 1,000,000 trials. Both UnifAvg and UnifUp allocate k = 50, 000 buckets at each node, and nUnifUp allocates an average of k = 50, 000 buckets per node. The desired option option values must lie below nUnifUp.
The data are: S0 = 50, X = 60, annual volatility σ = 30%, r = 10% per annum, and maturity T = 0.5 (year).
Having demonstrated the advantage of using our nonuniform bucketing scheme, we next compare the nonuniform lower-bound algorithm nUnifCvg against UnifAvg and the multiresolution (MR) algorithm in Dai and Lyuu [16]. Again, both nUnifCvg and UnifAvg use the same total number of buckets. The results are tabulated in Table 4.1.
Observe that nUnifCvg is superior to UnifAvg in terms of accuracy and speed despite that it takes slightly less time than UnifAvg. The multiresolution algorithm, which is based on the trinomial lattice, is the best when n is small. But since its running time is sub-exponential in n, it is not competitive when n is large. We then add the algorithm suggested by Hull and White [26] and Levy’s analytical approach [32]
to the comparisons in Table 4.2. Observe that nUnifCvg is competitive in all the
Monte Carlo nUnifCvg UnifAvg MR n Lower Upper Value Time Value Time Value Time 86 0.324 0.328 0.322* 78 0.322* 118 0.324* 13 97 0.325 0.329 0.323* 100 0.323* 154 0.325 23 108 0.324 0.328 0.324 124 0.323* 196 0.327 39 119 0.326 0.330 0.324* 152 0.323* 245 0.328 61 130 0.324 0.328 0.324 181 0.325 298 0.327 96 141 0.325 0.329 0.325 213 0.324* 358 0.326 145 152 0.326 0.330 0.325* 249 0.323* 422 0.325* 210 163 0.324 0.328 0.325 286 0.326 492 0.325 302 174 0.326 0.329 0.325* 327 0.325* 562
185 0.324 0.328 0.326 370 0.326 634 196 0.327 0.330 0.326* 414 0.326* 711 207 0.326 0.330 0.326 463 0.326 792 218 0.326 0.329 0.326 513 0.326 879 229 0.326 0.329 0.326 564 0.326 972 240 0.327 0.330 0.326* 618 0.326* 1066 251 0.326 0.330 0.326 675 0.326 1166 262 0.326 0.329 0.326 738 0.326 1269 273 0.326 0.329 0.326 799 0.327 1379 284 0.326 0.329 0.327 865 0.327 1493
Table 4.1: Monte Carlo Simulation, nUnifCvg, UnifAvg, and Multiresolution Lattice.
Monte Carlo simulations are based on 2,000,000 trials. The “Lower” and “Upper” columns represent the 95% confidence interval obtained from Monte Carlo simulations. Both nUnifCvg and UnifAvg set k = 50, 000. “MR” denotes the multiresolution algorithm in Dai and Lyuu [16]. At n ≥ 174, the demand of the multiresolution lattice for computer memory is beyond what the system can offer. The computation times are measured in seconds. Asterisks mark those answers which are out of the 95% confidence interval. The data are: S0 = 50, X = 60, r = 10% per annum, σ = 30%, and T = 0.5 year.
scenarios whether the option is in the money or out of the money. Many proposed algorithms have been found to fail in extreme cases. When the cases of Fu et al. [21]
are tested in Table 4.3, nUnifCvg does not display any discernible biases. These tests strongly suggest that nUnifCvg gives extremely tight lower bounds.
Both nUnifCvg and nUnifSpl are more sophisticated strategies to handle pricing errors than UnifUp, UnifDown, or UnifAvg. We now demonstrate that they are also better strategies. For the purpose of fair comparison between these methods, we reduce the number of buckets for nUnifCvg and nUnifSpl so that they take slightly less time than UnifUp. The results are illustrated in Fig. 4.6. Clearly both nUnifSpl and nUnifCvg converge better than UnifUp, UnifDown, or UnifAvg. In fact, the range bounds given by nUnifCvg:nUnifSpl are so tight that they form a single curve instead
Maturity Algorithm Strike price X
(years) 40 45 50 55 60
0.5 HW 10.755 6.363 3.012 1.108 0.317 MC 10.759 6.359 2.998 1.112 0.324 (0.003) (0.005) (0.007) (0.005) (0.003) MR 10.754 6.356 2.997 1.104 0.317 L 10.765 6.386 3.024 1.105 0.313 nUnifCvg 10.754 6.361 3.007 1.104 0.315 1.0 HW 11.545 7.616 4.522 2.420 1.176 MC 11.544 7.606 4.515 2.401 1.185 (0.006) (0.008) (0.010) (0.009) (0.007) MR 11.547 7.616 4.517 2.412 1.170 L 11.576 7.662 4.557 2.431 1.172 nUnifCvg 11.544 7.613 4.519 2.417 1.174 1.5 HW 12.285 8.670 5.743 3.585 2.124 MC 12.289 8.671 5.734 3.577 2.135 (0.008) (0.010) (0.012) (0.012) (0.010) MR 12.284 8.674 5.750 3.585 2.118
L 12.337 8.738 5.801 3.619 2.133 nUnifCvg 12.283 8.668 5.740 3.583 2.122 2.0 HW 12.953 9.582 6.792 4.633 3.057 MC 12.943 9.569 6.786 4.639 3.055 (0.010) (0.013) (0.014) (0.015) (0.013) MR 12.944 9.577 6.786 4.625 3.045
L 13.024 9.671 6.874 4.691 3.087 nUnifCvg 12.953 9.580 6.790 4.631 3.055
Table 4.2: Comparing nUnifCvg against Various Algorithms.
“HW” denotes the Hull-White algorithm [26] based on n = 40 and h = 0.005. “MC” denotes Monte Carlo simulation based on n = 40 and 100,000 trials (the sample standard deviations are in parentheses). MR denotes the multiresolution approach based on n = 30. “L” denotes the analytical approach described in Levy [32]. Algorithm nUnifCvg sets k = 50, 000/7.
The data are: S0 = 50, r = 10% per annum, and σ = 30%.
of a band. The same cannot be said of UnifDown:UnifUp. As nUnifCvg:nUnifSpl brackets the desired option value (Theorem 4.5.1), its pricing error must be negligible.
By how much is nUnifCvg:nUnifSpl superior to nUnifDown:nUnifUp? Because both employ the same nonuniform bucketing scheme, this comparison extracts the benefits which accrue to different algorithms, not bucketing schemes. We use the range bounds to measure the pricing error, i.e., nUnifSpl− nUnifCvg and nUnifUp−
nUnifDown. It is clear from Fig. 4.7 that nUnifCvg:nUnifSpl produces much tighter range bounds, hence smaller errors, than nUnifDown:nUnifUp.
It is not paradoxical for the pricing error to rise with n in Fig. 4.7. The reason is that our k in the experiments are constants independent of n. Suppose we now pick k = n to make nUnifCvg:nUnifSpl’s time bound O(n3). The data in Table 4.4 show
r σ T S0 GE Shaw Euler PW TW MC10 MC100 S.D. Cvg 0.050 0.50 1 1.9 .195 .193 .194 .194 .195 .192 .196 .004 .193 0.050 0.50 1 2.0 .248 .246 .247 .247 .250 .245 .249 .004 .246 0.050 0.50 1 2.1 .308 .306 .307 .307 .311 .305 .309 .005 .306 0.020 0.10 1 2.0 .058 .520 .056 .0624 .0568 .0559 .0565 .0008 .0559 0.180 0.30 1 2.0 .227 .217 .219 .219 .220 .219 .220 .003 .218 0.125 0.25 2 2.0 .172 .172 .172 .172 .173 .173 .172 .003 .172 0.050 0.50 2 2.0 .351 .350 .352 .352 .359 .351 .348 .007 .349
Table 4.3: Comparing nUnifCvg against the Analytical Approaches.
All the notations are the same as the ones in Table 2.1 except thatCvg stands for nUnifCvg.
As before, nUnifCvg sets k = 50, 000/7.
a convergence rate of O(n−2). This is much better than the O(n−0.5) guaranteed by Theorem 4.4.1, which overestimates the pricing error. They also demonstrate that the resulting range bounds are extremely tight for σ as high as 100% and maturity as long as 5 years. Indeed, our theoretical error bounds are independent of σ. To our knowledge, Aingworth et al. (2000) is the only paper besides ours with numerical results at σ > 50% for European-style Asian options. Not surprisingly, that paper makes use of Lemma 4.3.1 too. Data in Section 4.9 strongly suggest that reducing the prefix sum range like the idea given by Lemma 4.3.1 is essential for any deterministic efficient convergent algorithms especially when σ is large.
Finally, we are interested in knowing how k—the average number of buckets per node—impacts the accuracy of the algorithms. Fig. 4.8 shows the effects of k on the theoretical error upper bound,
nUnifUp− nUnifDown ≤ 8X√ n/k,
and our range-bound algorithms’ error bounds as defined above. We can see that nUnifCvg:nUnifSpl is several orders better than nUnifDown:nUnifUp for anyk with other conditions being equal.
We conclude from the above experiments that nUnifCvg:nUnifSpl is an extremely efficient and accurate range-bound algorithm for European-style Asian options.