# Calculation of option Greek (sensitiviety) theta via finite difference

I am able to get good approximations for delta, gamma, and rho via finite difference method, but not theta. I believe my issue is the value of h. Theta is basically the difference between the price of the the option one time step in the future and the price today divided by the size of the time step, ie

theta (approx) = V(d_v+1) - V(d_v)/(1/365), where V(d_v+1) is the value of the option one time step (1/365) into the future

If I apply this to, for example, the call option quote on 04/18/2013 for ticker A (Agilent, I believe), strike of 40, underlying price of 41.83, expiry of 05/18/2013 (30/365 days to maturity), 1.1% Dividend Yield, 0.3% risk-free rate, I get a theta of -8.9, whereas the actual theta is approximated by a large options data reporting firm as approx -2.2. My other Greek approximations are close enough, but I cannot get a good approximation for theta. Anybody have insight into this issue? Thanks in advance for your help!

• Volatility=... ?
– user16651
Jul 16 '16 at 6:24
• you can use this function in matlab: [CallTheta, PutTheta] = blstheta(Price, Strike, Rate, Time, Volatility, Yield) and compare solutions.
– user16651
Jul 16 '16 at 7:59
• Sorry, Implied Vol = 0.3263. Jul 17 '16 at 6:48
• Yes it is correct. blstheta(40,41.83,0.003,1/12,0.3263,0.011) ans = -8.0890
– user16651
Jul 17 '16 at 6:54
• Thank you for your response, but I am really looking for the specific algo to calculate this (pseudocode). I am not really looking for a black box function for theta calculation, I am looking a reliable algo for theta calculation. I am not convinced of the accuracy for this Matlab function which you are suggesting, nor am I convinced of the accuracy of my finite difference application to this calculation. It is possible that this particular commercial vendor is incorrect, but I would like to definitively prove it by constructing my own algo, which would not be black-box (at least to me). Jul 17 '16 at 18:09