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?
Quantitative Finance Stack Exchange is a question and answer site for finance professionals and academics. It only takes a minute to sign up.
Sign up to join this communityIs 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?
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...
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.