hilss


Total Posts: 62 
Joined: Jun 2007 


Hello,
I'm trying to construct a lookup table (for option pricing software) that can price option quicker. The idea is compute a lookup table and place the option prices corresponding to a set of underlying prices (given a fixed time and vol).
I'm considering using the taylor series expansion to approximate option prices corresponding to underlying prices I did not compute. So for each option, I will have n option prices, n deltas and n gammas for n underlying prices. And if the underlying price does not correspond to any of the values computed, I will interpolate/extrapolate according to: C2 ~ C1 + Delta1 * (F2  F1) + 0.50 * Gamma1 * (F2  F1) * (F2  F1)
The question is: what is the maximum dF (the space between 2 precomputed option prices) is?
For nearterm options that are close to ATM (high gamma), we would want the points to be closer to each other? Perhaps, the dF should be finer toward ATM.
Is there a rule of thumb (to compute dF) that is expirationdependent?
Thanks, hilss
p.s. I'm only doing this for exchangelisted options (euro and american only). 



pj


Total Posts: 3373 
Joined: Jun 2004 

 
FDAXHunter

Founding Member

Total Posts: 8356 
Joined: Mar 2004 


You have to remember that the interpolation only fails because your higherorder terms are "big". This is the case for options that are ATMF and close to expiration. A simple solution would be to have a grid spacing constant that is multiplied by and also dependent on it's log moneyness abs(log(F1/K)). (subject to some floor of course so that the step size doesn't become nonsensically small).
Now the other adjustment you need to incorporate your volatility, because if your volatility is really small, then you need to make your step size smaller. I would just take one volatility (regardless of strike) to drive this adjustments. 
The Figs Protocol. 


hilss


Total Posts: 62 
Joined: Jun 2007 


@FDAXHunter, thank you very much. Do you think a grid space =
alpha * ATMF_vol * sqrt(T) * abs(log(F/K))
would work? where alpha is a constant (going to experiment with it). Or did I misunderstand what you meant by a constant vol for all the strikes?

@pj, I quickly read the paper... much appreciated.

hilss



FDAXHunter

Founding Member

Total Posts: 8356 
Joined: Mar 2004 


Yes, something like that. You're obviously going to have to do a few practical restrictions, so that the numbers don't become too small in the last hours before expiration (if you price your T in real time?)
Just to clarify: F would be your interpolation point in dimension S, (what you called F1, F2, etc. which is why I continued with your notation). That way, the further away you are from K (should really be K*exp(rT) I supppse), the wider your spacings.
The thing to keep in mind is: Keep it simple, so that it does not become too difficult to debug during production issues. 
The Figs Protocol. 


hilss


Total Posts: 62 
Joined: Jun 2007 


got it... thank you very much @FDAXHunter.
I do recompute T every 1015 minutes, and will make sure I don't fall into that trap as we come close to the expiration point.



Baltazar


Total Posts: 1764 
Joined: Jul 2004 


Keep in mind you will have to reprice your table every time the vol changes.
If you have a model that links vol and underlying, you can use that when building the table. As long as the vol/underlying moves like predicted by the model price will be fine.

Qui fait le malin tombe dans le ravin 


hilss


Total Posts: 62 
Joined: Jun 2007 


appreciate the feedback Baltazar... thank you hilss 

