I need to calculate Var with 1 year horizon.

I think the correct way to do it is to calculate standard deviation of daily log returns, then calculate daily Var and multiply it by sqrt(250).

But in our company there is another formula: 1. so at to calculate returns they divide today's level by level that was one year ago; 2. then take standard deviation of these returns 3. calculate Var using this standard deviation.

I believe that this approach is not correct, but I can't find how to prove my point of view.. could you please help)

  • $\begingroup$ They are computing the vol of 1 year returns, with an unspecified sample size. You are computing the volatility of 1d returns with a sample size of 1y. This is just a confusion of terminology between you and your company. $\endgroup$
    – will
    Apr 4, 2017 at 20:15
  • $\begingroup$ Thank you for your comment! We have the same sample.. of the same size.. for example 500 observations.. I compute 499 daily log returns.. they compute 250 returns (t/t-365).. $\endgroup$
    – Artem
    Apr 4, 2017 at 20:52
  • $\begingroup$ You are still computing different things - you need to agree on terminology. $\endgroup$
    – will
    Apr 4, 2017 at 20:53
  • $\begingroup$ Sorry, but we both then calculate Var with 1 year horizon.. I then calculate 1 day var and multiply by sqrt of 250.. they just input this volatility in var formula without multiplying.. $\endgroup$
    – Artem
    Apr 4, 2017 at 21:00
  • 1
    $\begingroup$ You can use this square root rule to extrapolate variance if there is no autocorrelation in returns, so you should test this before you do it. $\endgroup$
    – Mh Aztec
    Apr 4, 2017 at 23:39

1 Answer 1


You have Daily returns $x_{i}$ with $i = 1 \ldots N$ and lets call the corresponding yearly returns $a_{i} = \sum_{j=i}^{i+250}{x_{j}}$ with $i = 1 \ldots N-250$.

The $x_{i}$ are i.i.d. with standard derivation $\sigma_{x}$ and expected value $m_{x}$. For the $a_{i}$ we get than a standard derivation of $\sigma_{a} = \sqrt{250} * \sigma_{x}$ and a expected value of $m_{a} = 250 \cdot m_{x}$

If I understand you correctly you are comparing the following two approaches to estimate the 1 year standard derivation $s_{a}$:

  1. $s_{a} = \sqrt{\frac{250}{N-1} \cdot \sum_{i=1}^{N}{(x_{i}-\bar{x})^{2}}} = \sqrt{250} \cdot s_{x}$

  2. $s_{a} = \sqrt{\frac{1}{N-250-1} \cdot \sum_{i=1}^{N-250}{(a_{i}-\bar{a})^{2}}}$

Approach 1 is correct if the $x_{i}$ are truly independent. In the real world that is often only approximatly true. Nevertheless it is a very popular approach.

As you suspected, approach 2 is seriously flawed. The problem is, that the $a_{i}$ are not independent by design, which means the standard formula for estimating the standard deviation does not apply. $a_{i}$ and $a_{i+1}$ overlap in 249 $x_{i}$ and are therefore heavily dependent. The autocorrelation function $\rho_{k}$ which is the correlation between any $a_{i}$ and $a_{i+k}$ is for $k < 250$ given by $$\rho_{k} = corr(a_{i}, a_{i+k}) = (1- \frac{k}{250}) \cdot $$ For $k \geq 250$ it's $\rho_{k} = 0$.

As you can see in wikipedia in the presence of autocorrelation in the sample your result will be distorted like $$E(s^{2}) = s_{a} \cdot \left[ 1 - \frac{2}{N-250-1} \cdot \sum_{k=1}^{N-250}(1-\frac{k}{N-250}) \cdot \rho_{k} \right]$$

Which becomes in the case of the above auto correlation function: $$E(s^{2}) = s_{a} \cdot \left[ 1 - \frac{2}{N-250-1} \cdot \sum_{k=1}^{250}(1-\frac{k}{N-250}) \cdot (1-\frac{k}{250}) \right]$$

What you can see is that using approach 2 the estimate of the standard derivation will always be lower than the true value. The error will be smaller though the bigger your sample is compared to your aggregation interval. So if you have data from e.g. 50 years, the error of approach 2 might disappear.

Another approach might be to use only $a_{i}$ that don't overlap, i.e. use every 250 value. But than you loose a lot of information. In your example with a sample size of 500 you end up with just two values to estimate the standard deviation from.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.