I'm using daily stock prices to determine on average how many days pass before the daily price movement of a stock is greater than 1.49 standard deviations in either direction, up or down.

Currently I'm just taking a simple average

spikes = SUM(price > 1.49, 252)

spikes is just the total number of daily price changes greater than 1.49 standard deviations in 252 trading days.

Then I'm just doing

avg = 252 / spikes

This finds a simple average number of days per big spikes in 252 days.

But what I'm finding is sometimes there will be 2, 3, or 4 price spikes in a row that are greater than 1.49 so it seems like this would make the average number of days per big spikes inaccurate if sometimes there's a few in a row. I'm no mathematician, is there a more accurate formula?

  • 1
    $\begingroup$ To be more "robust", you can look at the median instead of the mean. $\endgroup$
    – Clement C.
    Aug 20, 2018 at 18:17

1 Answer 1


There is a whole, very well-developed bit of economic theory that got Richard Engle the Nobel Prize in this area. Stock returns seem to have "clusters" where volatility spikes; the returns aren't necessarily fully stationary, but (speaking loosely) the way in which that happens is the volatility has clusters where it pops up and then dies back down. It is called a GARCH process (generalized autoregressive conditional heteroskedasticity). Take a look at: https://en.wikipedia.org/wiki/Autoregressive_conditional_heteroskedasticity


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .