enter image description here

I've plotted the charts of Volga of Vanilla Call/Put using finite difference method, and found they are the same, and an asymmetrical shape of observed for both. Any intuitive way to explain the behaviour, or why ITM call/OTM put has higher Volga?

  • $\begingroup$ These charts look correct. ericbenhamou.net/documents/Encyclo/volga.pdf The Vega of a Put and a Call are the same (due to put call parity), so the volga (the derivative of vega with respect to $\sigma$) of Put and Call are also the same. Also, it is true that it goes to zero when $S=K$. But your main question, about the asymmetric peaks, I don't know the answer. $\endgroup$
    – Alex C
    Aug 29, 2019 at 0:06

1 Answer 1


The shape you observe is really only due to spot being higher for ITM calls & OTM puts.

The plots are definitely correct. You can quickly check by using standard closed form volga, which is $$vega*\frac{d1*d2}{\sigma}$$.

enter image description here

Changing risk free rate and dividends just shifts the whole graph slightly left or right respectively.

Volga is $$vega*\frac{d1*d2}{\sigma}$$ hence $$ S * e^{-d*t}*n(d1) * \sqrt \tau*\frac{d1*d2}{\sigma}$$ with $d_1= \frac{\ln S- \ln K +(r-d+\frac{1}{2}\sigma^2)\tau }{\sigma \sqrt{\tau}}$ and $d_2= d_1 - \sigma \sqrt{\tau}$.

As $n(d1)>0$ whenever $\sigma \sqrt{\tau}>0$, it can only be explained with two things, spot $S>0$, or the term $\frac{d1*d2}{\sigma}$. The latter is a bit tricky, and could be similar to what happens with delta at a first glance. The $d1*d2$ part may look daunting, but PCs allow you to deal with this quickly. The below uses Julia.

function d1d2Vol(S,K,t,rf,d,σ) d1 = ( log(S/K) + (rf - d + 1/2*σ^2)*t ) / (σ*sqrt(t))
  d2 = d1 - σ*sqrt(t)
  vega_c = S * exp(-d*t)*n(d1) * sqrt(t)*0.01
  volga = vega_c*((d1*d2)/σ)
  return d1*d2/σ, vega_c, volga

spotRange = 10:10:300
K         = 150
rf        = 0 
d         = 0
σ         = 0.2
t         =1
df = DataFrame(d1d2Vol.(spotRange,K,t,rf,d,σ))
rename!(df,[:d1d2v,:vega,:volga] )

enter image description here

This looks like $(d1*d2)/σ$ actually has the opposite effect of what is observed. Plotting it shows this indeed.

plot(spotRange,[df.d1d2v], label= L"\frac{d1*d2}{\sigma}",size=(800,650), legendfontsize=20, xlabel = "Spot", ylabel= L"\frac{d1*d2}{\sigma}")

enter image description here

So the only thing left to explain the difference (that also must offset the opposite effect of $(d1*d2)/σ$) is the spot price. If you take a closer look at Black Scholes, this also makes intuitive sense. The standard formula as shown here is providing a result in currency.

function BSM(S,K,t,rf,d,σ)
  d1 = ( log(S/K) + (rf - d + 1/2*σ^2)*t ) / (σ*sqrt(t))
  d2 = d1 - σ*sqrt(t)
  c  = exp(-d*t)S*N(d1) - exp(-rf*t)*K*N(d2)
  vega = S * exp(-d*t)*n(d1) * sqrt(t)*0.01 
  volga = vega*((d1*d2)/σ)
  return c, vega, volga

Now, pricing two identical options with $S=90$, $K=100$, $t=1$ year, zero rates and dividends and the only difference being vol of $\sigma=0.2$ and $\sigma=0.21$ you can see how adding vega is close to the new value of the option after increasing vol.

enter image description here

However, that is dependent on the actual value of spot (and strike). Assume you look at Berkshire which is currently around USD 421,350.

enter image description here

Vega still works, but the value is vastly different to before. "Issue" here is that the BS price is in cash, not percent of underlying. If you transform it into a comparable percentage price, you see that both options ae priced the same way (which they should as it is the same inputs and same moneyness).

enter image description here

You can easily transform one volga into the other by dividing by spot of the volga, and multiple by other spot value.

enter image description here

A final sanity check is to exclude S in the volga formula and plot the same value again. Indeed, as the size of $(d1*d2)/σ$ suggests, the highest point is now actually on the left hand side.

enter image description here


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.