how to calculate volatility

can someone just plz confirm if the way im doing this is right? thx! I am running a regression model for monthly data, and one of my independent variables that i want to include is the volatility of rates. so i’m given daily rates. for each day(including the first of the month), i take = ln (today’s rate / yesterday’s rate). then for each month, i will have 30 values in my new column. i take the standard deviation of each of these 30 values, multiplied by SQRT(30) to get that month’s volatility.

I think you need to establish the time horizon over which you wish to express your volatility. In my experience it’s usually expressed as an annualized figure. So take the daily volatility (ie the ONE standard deviation figure for the set of 30 data points) and multiply by sq root 250 (ie assuming 250 days of data in the year). You will then have the annualised 30 day volatility value. Note: When you say “i take the standard deviation of each of these 30 values”, I think you mean the std dev of the 30 sample data set? Anyone else with further insight?

For the regression, you don’t need to annualize the volatility, since it’s just multiplying by a constant and won’t affect your significance conclusions or the accuracy of your model. For interpreting the regression, it can help if you have annualized rates because that is what people think of. The method you’ve established looks reasonable. Other more complex options might be to use exponential moving averages of volatility or including 6 month and 12 month volatility figures. This can tell you if a faster increase in short term volatility is a signal of any kind that you should be looking at.

I would also run the st.dev on logs of the change in rates instead of the nominal change in rates (today rate / yesterday rate) - so use LN[change] - probably won’t change the result if changes are only small - but does start to show up in very volatile series, and you can then use the model for all sorts of data later on. + agree with using an MA or two to show up changes in rates of change

null&nuller Wrote: ------------------------------------------------------- > I would also run the st.dev on logs of the change > in rates instead of the nominal change in rates > (today rate / yesterday rate) - so use LN I agree, but isn’t that more continuously compounded vs period dependent? LN(t1/t0) = continuously compounded rate (t1/t0)-1 = rate over period length “t” t1-t0 = nominal difference

not sure what you’re getting at chrismaths - but I learned years ago to use LN instead of nominal change - especially for st.dev calcs - and it can make a significant difference when using low numbers like interest rates - where small nominal changes can result in large % changes - which is critical where the left tail is finite but the right tail is not - ie max negative change is -100%, but max positive change can be hundreds of %. So using LN adjusts distribution so it can be compared to normal dist. Eg trading options I use daily st.devs to price options - over the past couple of months stocks with a daily st.dev over say 10 years of say 1% daily have been running at up to 3% or 3.5% daily during various 10-day periods in the past 3 months. That’s a massive difference and you get very different (skewed) results if you use nominal changes instead of log changes. This difference can knock option pricing off the planet because vol is the most sensitive variable in the pricing. I know that’s not math-speak but I’m just a simple investor - probably a math guru can answer better.

I was just saying that by taking: ln(price_t1/price_t0) you are actually calculating the continuously compounded rate. So look at the example of an change from 5% to 5.5% (so maybe an interest rate) The NOMINAL change in rates is 0.5% = (5.5%-5%) The PERCENTAGE change in rates is 10% = (5.5%/5%)-1 Whereas the CONTINUOUSLY COMPOUNDED change is 9.53% = LN(5.5%/5%) You used the term “nominal” instead of “percentage”. Semantic point but hey, I’m a semant.

yes - by “nominal” change I meant the raw % change in the variable (rate, price, index, whatever). I’m just a simple (lazy) investor!