I think it is time to consider what we did so far.
What we did:
We only tackled the simple geometric brownian motion model
\[
dS_t=\mu S_tdt+\sigma S_tdW_t
\]
with $W_t$ the brownian motion, $\mu$ the drift and $\sigma$ the volatility. We noted that if the underlying is tradable, one should not take $\mu$ into account but use the risk free rate instead or it will give prices subject to arbitrage.
We proposed 5 methods to price options written on such process:
1/ The Black and Scholes formula can be used to price european calls and puts. I did not go into percentage dividend because you don't really need them for equity derivatives but presented two extensions to tackle cash dividends These two extensions (called 'forward' and 'hull') form a upper bound and lower bound on the price of the european option. I presented and added the greeks as well. Such greeks are of paramount importance for the management of an option book.
2/The binomial tree can also be used. I presented several versions, made use of the vectorization of numpy to make it faster. I showed how to efficiently get most of the greeks calling the tree only one time.
We looked how the results behaved as the number of steps increased, I presented regularization to get better convergence. I presented the 'Hull' and the 'VN' method to handle the dividends.
We also extended the tree to price american options. We noticed a sawtooth pattern for the price as a function of the number of steps when the dividend is late and we fixed it using adaptive stepping.
We also added support for a time structure of interest rates.
3/The PDE approach was also presented. Implicit scheme was coded and improved upon. We proceed to a change of variable and show how it improved speed of convergence. We added support for dividend using spline interpolation, support for time structure of interest rate and support for most of the greeks in one function call. We coded regularization and adaptive stepping but we did not study the impact yet.
4/We presented and coded a simple monte carlo pricer. We modified it to use a brownian bridge together with a quasi random sequence (Sobol) to improve convergence. We studied the effect of moment matching and antithetic paths on the convergence. We have support for dividends, time structure of rates and early exercise via the LSM technique.
5/I presented the FFT based approach which I believe is less well known. I added support for american option, time structure of rates and dividends. We looked at the convergence for late dividends and saw the sawtooth pattern. I proposed an adaptive stepping technique to reduce it massively. To the best of my knowledge this has not been discussed elsewhere.
What we did not do (yet):
In the following posts, I want to finish the MC and Fourier: add calculation of the greeks in one step if possible. I would like to see if I can get MC to converge faster and how PDE converges.
Then I want to expand to more options payoff, most likely barriers, digital, asian and autocall if possible.
I also would like to expand to other models. I need to find models that are relevant to the business but also work with some of the numerical techniques I presented. If it only works with MC, it is a bit disappointing for this blog.
And, to finish I would like to do some more practical topics: like how to estimate implied volatility, realized volatility, calculate correlation, make the code production ready with error checking and proper design...
So I have plenty to do.
Aucun commentaire:
Enregistrer un commentaire