Pages

jeudi 14 mars 2013

Bug in Trees?


I want to thank one reader that pointed out something weird with the binomial tree method and more specifically in the VN based ones.

I thought maybe sharing the debugging process could be interesting. I usually compare prices with BS.

Without dividends, the prices where matching BS prices fine.

How to go further? well, we can apply the 'Hull' dividend technique to BS: price the option on a spot discounted by the dividend. You use the present value of the dividend. That gives you prices for call and puts.
You can also apply the forward method: you bump the strike by the amount of dividend to be paid. It also gives calls and put prices.

The Hull method underestimate the price because the volatility is applied to the stock-dividend for the whole life of the option.
The forward method overestimate the price because the volatility is applied to the stock even after dividend is paid.
The VN method should give a price in between.
My pricers (binomial tree 6/7/8) where giving correct prices for early dividends but nor for late dividends.

What I did was modifying the payoff function, using the pricer to pay the value of the stock at expiration. Since the pricing is risk neutral, in absence of dividend this should be priced at $S0$, the current value of the stock. Indeed the expected price at expiration is $e^(rT)$ but to get its value today, it must be discounted giving $S0$.

It gave a wrong value in presence of dividend and non 0 rate. Based on that I checked the way the stock values at expiration where calculated, and noticed that I used $S0$ minus present value of all the dividends. But it should not be like that, it should be $S0$ minus the dividends, without any discounting. And that fixed the issue.

I corrected the posts with a problem in the code.

Aucun commentaire:

Enregistrer un commentaire