Skip to content
All library documents

Converting Black–Scholes Vega to a One-Percentage-Point Change

Article Quant Q&A · Author: Freddie

Summary

The document explains why a vanilla call's Black–Scholes vega can appear one hundred times larger than an expected figure. The example computes vega as the derivative of option value with respect to volatility expressed as a decimal. That derivative measures the approximate price change for a full one-unit increase in volatility, such as a change from 20% to 120%.

For a quote per one percentage point of volatility, the derivative is divided by 100. The distinction is a unit convention: the vega formula and its shape across spot can be correct even when the reported scale differs from a market convention. The document does not suggest dividing by spot or strike. Its illustration is limited to the stated vanilla option calculation; it does not discuss other quoting conventions, contract multipliers, or adjustments used by particular platforms.

Key ideas

  • Black–Scholes vega is the derivative of option value with respect to volatility expressed in decimal units.
  • A one-unit volatility change differs from a one-percentage-point change.
  • Divide decimal-unit vega by 100 to express sensitivity per volatility percentage point.
  • The discrepancy described is a unit convention and does not imply that spot or strike is the scaling factor.
  • Platform conventions and contract multipliers may affect reported values beyond the example.

Tags

Full text
# Calculating option vega for vanilla call seems to be factor of 100 out


# Calculating option vega for vanilla call seems to be factor of 100 out












I'm using the following R code to calculate the vega on a vanilla option with the inputs S = 100, X = 100, t = 1, r = 0.005 and vol = 0.5

The vega calculated is around 39.85; I was expecting it to be around 0.3985.

The vega shape vs. spot, when plotted, is correct but the value is always a factor of 100 out. Should I be dividing by spot, strike or always dividing by 100 simply to get to a decimal of %?

If someone could offer a quick explanation it would help me a lot!

```
vega <- function(S, X, t, r, vol){
d1 <- (log(S/X)+(r+ 0.5 * vol^2) * t) / ( vol * sqrt(t))
Np <- ( exp(-d1^2/2)/ sqrt(2 * pi) )
S * sqrt(t) * Np
}
```

## Answer by LocalVolatility (score 3, accepted)

https://quant.stackexchange.com/a/31825

When you calculate the partial derivative of the option price $V$ w.r.t. $\sigma$, then you get a first order approximation of the change in $V$ for a unit change in $\sigma$. A unit change is e.g. $\sigma$ increasing from 0.2 (20%) to 1.2 (120%). If you want the vega for a one percentage point change in volatility, then divide by 100.

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.