For those interested in financial Math: A classical in mathematical finance is evaluating option prices by binomial trees. This has many advantages (like easy, but coarse results for American options), but it is well known to quite inaccurate for various reasons - even for European options. The 'best' known improvement is due to Leisen-Reimer. They all suffer from low order convergence towards a continuous model. The standard reference model is CCR, the Cox-Ross-Rubinstein tree. In a concurrent paper Mark Joshi gives a great improvement (mainly for European options), see the reference below, he was with Royal Bank of Scotland. Under realistic assumptions one gets accuracy of 5 - 6 decimal places after 20 - 30 steps (nearly impossible in CRR). This Maple sheet shows, how one can do a check on the asserted results. As a practical implementation would use compiled code it is done towards that - using Maple's compile feature (otherwise a comparison would be unfair - and very slow, as recursions and symbolics would be involved). The code below also can be translated using CodeGeneration for further use. I was too lazy to introduce dividend yields (this is general yoga I think) and did not test for American options (as the paper makes some clear statement for that - theoretical better, but not much practical advantage). Finally a sketch is given, how one can speed up computation by avoiding expensive calls to power functions by using recursions instead. Download 102_MJ_BinTreeHigherOder.mws
View file details

Please Wait...