Given a historical distribution of weekly prices and price changes for a stock, how can I estimate the the option premium for a nearly at-the-money (ATM) option, say with an expiration date 3 months in the future? We could also have the stock's historical beta and the current option premium if desired. To keep things simple assume the volatility of the stock is constant.

I am writing a little Monte-Carlo sim for a buddy in Excel and would like to simulate a strategy of writing ATM covered calls, letting the option expire if OTM and re-writing. I will assume exercise at the end of the option period if the call is ITM.

I have never modeled options before so another title for this question might be "Options Modeling 101". For starters I would just like to improve upon my current model, which is constant premiums. Thanks!


The main component of that option premium is (forward-looking) volatility $\sigma$. The very simplest formula you could use for ATM options is the Bachelier model \begin{equation} \text{Call}_T = \sigma S \sqrt{\frac{T}{2\pi}} \end{equation} where the time to expiration is $T$ and $S$ is the current underlying price. This formula is "wrong" strictly speaking, but only by a factor of $\sigma^3T^{\frac32}$ which in your case will be around 5%. You'll also be ignoring a somewhat smaller error due to nonzero interest rates.

To obtain $\sigma$ you can work with your available historical data to get a historical volatility. Historical volatility is not always the very best choice but it is far better here than your current constant price assumption, and it is very simple to calculate:

\begin{equation} \sigma_{\text{Hist}} = \sqrt{\frac1{N-1}\sum_{i=1}^N{(r_i-\bar{r})^2}} \end{equation}

where the $r_i$ are the periodic returns

\begin{equation} r_i = \frac{\frac{S_{i+1}}{S_i}-1}{\Delta t_i} \end{equation}

taken of the underlying $S_i$ at times $t_i$, $\Delta t_i=(t_{i+1}-t_i)$ and $\bar{r}$ is their mean. (The Black-Scholes model would have used log returns instead.)

If you are happy with a crude estimate, you may assume $\bar{r}$ is zero rather than bothering to calculate it. And for a very crude estimate of historical volatility, you can instead use

\begin{equation} \sigma_\text{Inaccurate} = \text{Mean}\left[|r_i|\right] \frac1{\sqrt{\text{Mean}\left[\Delta t_i\right]}} \end{equation}

For maximum accuracy, you would of course want to use the Black-Scholes model. But frankly you would have an easier time finding the requisite historical option prices than you would finding a historical time series of forward-looking (implied) Black-Scholes volatilities.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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