Standard Deviation of a set of observations \(R_{a}\) is given by:
StdDev.annualized(x, scale = NA, ...)
x | an xts, vector, matrix, data frame, timeSeries or zoo object of asset returns |
---|---|
scale | number of periods in a year (daily scale = 252, monthly scale = 12, quarterly scale = 4) |
… | any other passthru parameters |
$$\sigma = variance(R_{a}) , std=\sqrt{\sigma} $$
It should follow that the variance is not a linear function of the number of observations. To determine possible variance over multiple periods, it wouldn't make sense to multiply the single-period variance by the total number of periods: this could quickly lead to an absurd result where total variance (or risk) was greater than 100 variance needs to demonstrate a decreasing period-to-period increase as the number of periods increases. Put another way, the increase in incremental variance per additional period needs to decrease with some relationship to the number of periods. The standard accepted practice for doing this is to apply the inverse square law. To normalize standard deviation across multiple periods, we multiply by the square root of the number of periods we wish to calculate over. To annualize standard deviation, we multiply by the square root of the number of periods per year. $$\sqrt{\sigma}\cdot\sqrt{periods}$$
Note that any multiperiod or annualized number should be viewed with suspicion if the number of observations is small.
Bacon, C. Practical Portfolio Performance Measurement and Attribution. Wiley. 2004. p. 27
sd
http://wikipedia.org/wiki/inverse-square_law
data(edhec) sd.annualized(edhec)#> Convertible Arbitrage CTA Global #> Annualized Standard Deviation 0.06944619 0.08705599 #> Distressed Securities Emerging Markets #> Annualized Standard Deviation 0.06355903 0.1336154 #> Equity Market Neutral Event Driven #> Annualized Standard Deviation 0.03119707 0.06356791 #> Fixed Income Arbitrage Global Macro #> Annualized Standard Deviation 0.0490908 0.0589577 #> Long/Short Equity Merger Arbitrage Relative Value #> Annualized Standard Deviation 0.07681236 0.03868803 0.04570772 #> Short Selling Funds of Funds #> Annualized Standard Deviation 0.1908691 0.06308807sd.annualized(edhec[,6,drop=FALSE])#> Event Driven #> Annualized Standard Deviation 0.06356791# now for three periods: sd.multiperiod(edhec[,6,drop=FALSE],scale=3)#> Event Driven #> Annualized Standard Deviation 0.03178395