I am trying to decompose option prices into various greeks and trying to see if I can recover option prices from various of its greeks. At the start of certain time t(0), I calculate option option delta, vega, gamma.

Now, I have the underlying prices and option prices at every second sampled from a tick data set, so the prices are sane and option prices are in sync with the underlying prices.

For every times t(i+1), i have the following

change In Opt Price Due To Delta = (delta(i+1) + delta(i)) * 0.5 * (change in underlying price)
change in Opt Price Due to Gamma = (gamma(i+1) + gamma(i)) * 0.5 * 0.5 * (change in ul_price)**2 

Now, what I expected to see was that if i take sum of opt price change due to delta and gamma, then I should be able to get a number which was close to the change in option price due to delta. I mean if I started with an option delta of 0.50 and ended with an option of delta 0.25, when the price of the underlying contract changes by 100 points, i should see a number between 25 and 50. But I am consistently getting a number close to 25. I understand that there can be higher order greeks that can come into the picture, but I am not sure if they can play such a large role.

Has anyone experience with dealing something similar?

PS: when I say number consistently close to 25, I mean that I have tried doing this for various options and the number I get when i take the delta and gamma change total, i get a number close to (delta at t(N) * (S(t(N)) - S(t(0)))) where t(N) is the end of the period

EDIT: I think I was not able to articulate the problem statement. Let me take another stab at it. Suppose I start the day with a 25 delta call, price say 100. The market doesnt move anywhere over the course of the day. At the end of the day, option price is 90. This would imply that the drop in prices would have been due to greeks other than delta/gamma, since the market did not move. Now I try to extend the same case as above, but in this case, the underlying market dropped by 20 points. So, the price of the call should drop by additional ~5 points (a little less due to gamma). In this case I have assumed simple case with higher order greeks being 0.

What I am trying to do is to isolate this drop in option price due to delta and gamma. My idea behind writing the code above was to see if I can end up with a fair estimate of delta+greeks pnl if I sample data every second.

  • $\begingroup$ Why don't you update $\Delta$ using $\Gamma$ and then options value using $\Delta$? $\endgroup$
    – SBF
    Commented May 2, 2023 at 7:58
  • $\begingroup$ wont that be additional approximation? I calculated delta/gamma again since it would be more accurate. $\endgroup$
    – nimbus3000
    Commented May 2, 2023 at 10:40
  • $\begingroup$ ok, I've missed that point then. you formulas look right to me. Perhaps there's a bug in your code. $\endgroup$
    – SBF
    Commented May 2, 2023 at 10:44
  • $\begingroup$ A few things are not clear to me from your question. Why do you not seem to include P&L due to vega in your explanatrion? Are you observing the option prices directly, or does your tick dataset rather contain implied vols, and you calculate the option prices in a model? $\endgroup$ Commented May 2, 2023 at 10:57
  • 1
    $\begingroup$ If you've programmed everything correctly, then the P&L due to vega would probably explain much of the unexplained PL. $\endgroup$ Commented May 2, 2023 at 11:57

1 Answer 1


Delta and Gamma measure the sensitivity of option prices to only one variable - the underlying price. Most option models include multiple other variables, the most significant of which is volatility. Since volatility in option models is a forward-looking measure and can't be directly observed, it is implied from option prices, and often acts as a "market sentiment" variable. Options can be very sensitive to volatility, so ignoring that as a driver of option prices is a futile endeavor. Even adding volatility will not give you a complete picture, as there are other drivers of option prices like interest rates and time, and there are often correlations between variables that could impact PnL attribution (e.g. depending on hoe volatility is modeled, volatility can be sensitive to underlying price).

I have developed PnL attribution reports for option traders, and there are always at least 5 attribution columns. Delta and Vega are typically the largest two factors, with gamma and other sensitivities being less important (except when there are large market moves). Even then, there are be significant unallocated changes in certain circumstances.

It's like trying to compute how long it takes to drive from point A to point B by only looking at speed limits, without considering traffic, construction, etc.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.