Is it even possible without resorting to gradient descent methods? I can't see any way to algebraically reason around the cumulative normal functions involved in d1 and d2.

Any ideas?

  • $\begingroup$ If two options have different IV they will have different Delta, so how can you compute the right delta without knowing the IV? You would be missing a crucial input. $\endgroup$
    – nbbo2
    May 11, 2022 at 23:30
  • 1
    $\begingroup$ Yes but assuming you have the option price, you can already infer IV using a gradient descent method. You can then plug IV into d1 to obtain your Delta on the option. My question is regarding an algebraic solution, if any :D $\endgroup$
    – Hurlock
    May 12, 2022 at 12:40
  • 1
    $\begingroup$ It is not possible AFAIK to go from Option Price to Delta algebraically, without going through any iterative process, regardless of whether directly or through an intermediate calculation of IV. $\endgroup$
    – nbbo2
    May 12, 2022 at 12:54
  • $\begingroup$ You'd need at the very least the option price and the change of the option price wrt to strike to get the delta. $\endgroup$
    – user34971
    May 12, 2022 at 15:25

2 Answers 2


In most (all?) practical cases, Delta is a model-dependent measure; you need a model to compute it. Black-Scholes, Heston, ... each model has a formula for the (call) option price $C$ and its Delta $\Delta$ , and each model depends on a set of contractually fixed parameters (strike, maturity date $T$), quasi-observables (underlying level $S$, reference rate) and unobservables (implied vol among others) inputs.

On the other hand, Delta is defined as partial derivative, and it can be approximated as such:

$$ \begin{align} \Delta &\equiv \frac{\partial O}{\partial S}\\ &\approx\frac{O(S_t+dS,t)-O(S_t,t)}{dS}\\ &\approx \frac{O(S_{t+dt},t+dt)-O(S_t,t)}{S_{t+dt}-S_t} \end{align} $$

The first approximation is the finite forward difference approximation to the derivative (which introduces an error, of course), and the second approximation introduces yet another error as we cannot fix the time to maturity anymore. We can thus approximate delta to some degree given a time series of option prices and the corresponding time series of underlying levels.

The quality of the approximation deteriorates dramatically with large price increments $|dS=S_{t+1}-S_t|\gg0$, with large time increments $dt\gg0$, and of course when the time to maturity is 'small'.

For the Black Scholes Merton model, here's a quick-and-dirty simulation with simulation size $n=1,000$ for each combination. Error statistics around $err=\ln(\hat{\Delta_t}/\Delta_t)$

S     X    r    IV    ttm dt   Delta_true   avg(err)    q05(err)    q95(err)
100   100  .05  .20   255 1    0.6368       -0.001      -0.052      0.053
100   100  .05  .20   255 5    0.6368       -0.003      -0.12       0.10
100   100  .05  .20   100 1    0.5867       -0.005      -0.10       0.09
100   100  .05  .20   100 5    0.5867       -0.007      -0.20       0.18
90    100  .05  .20   100 5    0.2670       -0.02       -0.40       0.32

As you can see, the quality of this approximation can deteriorate rapidly...

  • 2
    $\begingroup$ For many SV models the following holds: $$S \frac{\partial C}{\partial S} = C - K \frac{\partial C}{\partial K}$$ So you can calculate delta if the price is known and the derivative of option price wrt to $K$. This is what I meant in my comment to OP. $\endgroup$
    – user34971
    May 13, 2022 at 8:08
  • $\begingroup$ Nice, you should add that as an answer as well! $\endgroup$ May 13, 2022 at 8:11
  • $\begingroup$ Clever idea! Instead of the forward difference you could use the central difference which greatly reduces the error as can be seen here. $\endgroup$
    – AKdemy
    May 13, 2022 at 20:47

A number of models used in options pricing, but by no means all, are homogeneous of degree 1 in spot price and strike.

This means, $$ C(\lambda S, \lambda K) = \lambda C(S,K) $$ If you differentiate the above wrt $\lambda$, then $$ S \frac{ \partial C}{\partial (\lambda S)} + K \frac{ \partial C}{\partial (\lambda K)} = C $$ Then, setting $\lambda = 1$ you get $$ S \frac{ \partial C}{\partial S} + K \frac{ \partial C}{\partial K} = C $$ So, if you have $C$ and $K \frac{ \partial C}{\partial K}$, then you can deduce $S \frac{ \partial C}{\partial S}$ without knowing the IV.

For models that are not homogenous of degree 1 in strike and spot, such as (stochastic) local volatility models, you cannot do this and you will have to resort to for example time series approximation as per @Kermittfrog's answer.

  • 1
    $\begingroup$ I think that this ansatz is 'more pure' than the "statistical" approximation. Nice! $\endgroup$ May 13, 2022 at 8:50

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