Skip to content
All library documents

Annualizing Drift and Volatility in Daily Stock Simulations

Article Quant Q&A · Author: user2521987

Summary

The document examines a mismatch between two calculations of a one-day stock-price move under a lognormal model. The questioner starts from annualized return and volatility, scales them to a daily horizon, and solves for the annual parameters using two successive simulated price changes. The accepted answer identifies a transcription error in one equation: the terminal price should be 40.886 rather than 40.886 being inadvertently changed to 40.886? Actually the text shows the correction is to use 40.886 in the final equation, matching the earlier calculation.

The answer also clarifies the time scaling: if alpha is an annualized log return, the daily log drift is alpha divided by the number of trading days, less half the annual variance over the daily interval. This correction explains why the two approaches should agree when the equations use consistent horizon units. The exchange is a narrow calculation check; it does not discuss parameter estimation uncertainty or simulation validation.

Key ideas

  • Daily log returns in a geometric Brownian motion use a drift and volatility scaled to the time interval.
  • Annualized log return must be divided by the number of periods when converting to a daily drift.
  • The variance correction in log drift must be scaled by the time interval as well.
  • A mistyped price in the final equation can account for a mismatch between otherwise equivalent calculations.

Tags

Full text
# Simulating a stock price with Monte Carlo - Why my solution isn't equivalent to the author's


# Simulating a stock price with Monte Carlo - Why my solution isn't equivalent to the author's












I am self-studying and I am working on the following problem:

My solution is different and I'm arriving at a different answer:

The parameters of the lognormal random variable $S_t/S_0$ are: $$m = \mu t = (\alpha - \delta - 0.5\sigma^2)t$$ and $$v = \sigma\sqrt{t},$$ where $\alpha$ is the stock's continuously compounded rate of return, $\sigma$ is the stock's annual volatility, and $t = \frac{1}{250}$.

Then we have $m = (\alpha - 0.5\sigma^2)/250$ and $v = \sigma\sqrt{1/250}$.

Therefore:

$40e^{m + z_1v} = 40e^{(\alpha - 0.5\sigma^2)/250 + 1.18\sigma\sqrt{1/250}} = 40.866$

and

$40.866e^{m + z_2v} = 40e^{(\alpha - 0.5\sigma^2)/250 - 0.53\sigma\sqrt{1/250}} = 40.519.$

This gives us the system of equations:

$(\alpha - 0.5\sigma^2)/250 + 1.18\sigma\sqrt{1/250} = \ln(40.886/40)$

and

$(\alpha - 0.5\sigma^2)/250 - 0.53\sigma\sqrt{1/250} = \ln(40.519/40.866).$

Solving yields $\alpha = 0.2666063$ and $\sigma = 0.281421201$.

It appears to me that the author is starting with the lognormal parameters already in terms of 1 day, and then converting to the annual return/volatility at the end. I am starting with the annual lognormal parameters, converting to daily, and then solving for the annual return/volatility.

If my reasoning is correct, I don't see why my solution wouldn't match the one using the author's method.

## Answer by Will Gu (score 2, accepted)

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

you got a typo. It should be `40.886` in your last equation. Then $\sigma$ should match.

Also, If $\alpha$ means annualized log return, it should be

$\mu\,t = \alpha - \frac 1 2\sigma^2\,t$

So in your last two equations, the first term should be

$\frac \alpha {250} - \frac 1 2 \sigma^2$

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.