I am seeking to confirm that I have correctly calculated Tobin's formula for determining annualized standard deviation based on a series of monthly returns.
The most widespread (and easiest) way to calculate annualized standard deviation is to multiply the monthly standard deviation by the square root of 12.
Morningstar, however, defers to James Tobin's formula for annualized standard deviation, as linked here.
Here's my representation of this formula in pandas, where observations is a data frame containing monthly returns.
observations.apply(lambda x: np.sqrt((((observations.std() ** 2) + ((1+observations.mean())**2))**12) - (1+observations.mean())**24) ).ix[:,0]
It's quite easy to vectorize your formula. I feel that beginners to pandas should never be allowed to use
apply
orix
. These should be your last options.