Description Usage Arguments Details Author(s) References See Also Examples
Standard Deviation of a set of observations R_{a} is given by:
1 | 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 |
std = sqrt(var(R))
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 then that the total 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.
√{σ}\cdot√{periods}
Note that any multiperiod or annualized number should be viewed with suspicion if the number of observations is small.
Brian G. Peterson
Bacon, C. Practical Portfolio Performance Measurement
and Attribution. Wiley. 2004. p. 27
sd
http://wikipedia.org/wiki/inverse-square_law
1 2 3 4 5 | data(edhec)
sd.annualized(edhec)
sd.annualized(edhec[,6,drop=FALSE])
# now for three periods:
sd.multiperiod(edhec[,6,drop=FALSE],scale=3)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.