Sorry for the dumb question, but I wanted to make sure my understanding of what I read and compiled was correct! I am trying to calculate the variance-covariance matrix, and annualized volatility of a multi-crypto portfolio. My method is as follows:

  • got the daily prices of the cryptos in the portfolio. Given for one of the assets, only ~120 days of prices exist, I have a sample of 120 prices.
  • I compute the percent daily change
  • I calculate the variance-covariance matrix on these daily changes. Then, do I have to multiply by 120, or 365 ? I am trying to get the portfolio volatility, and I read everywhere that this should be annualized. For stocks, it's by multiplying 252, but for crypto is it 365 (24/7 trading)?
  • I then calculate the dot product of the variance-covariance matrix and weights, and once more the dot product of what I get by the weights The square root of this then is annualized volatility?? What happens if I don't multiply by 120 / 365? Is this a useful metric?

Lastly, if I want to get the VaR of my portfolio, I can multiply the volatility by the z value ~ 1.64?

Does this make sense, or am I completely wrong and I have to hit the books again??



EDIT: distribution of BTC returns over 2 years

distribution of BTC over 2 years

  • $\begingroup$ You are using a parametric VaR but I agree with Matthew that historical VaR would give you a better estimation. You could also check a Cornish Fisher VaR which adjusts the parametric (gaussian) z-score for distribution's actual skewness and kurtosis. $\endgroup$
    – ruslaniv
    Mar 25, 2021 at 18:50
  • $\begingroup$ Also, to properly annualize the returns for 120 days you must consider compounding $$(1 + R_t)^{365/120} - 1$$ $\endgroup$
    – ruslaniv
    Mar 25, 2021 at 19:20

1 Answer 1


Yes, it mostly makes sense. The process you are outlining would give you a VaR estimate using the assumption that the returns of the cryptos are Normally distributed, and have a zero drift value. I think those assumptions are a bit of a stretch for cryptos in practice.

I would multiply the variance matrix of the daily changes by 365. 365 would be the best choice because cryptos are traded every day of the year. This gives you an annualized variance matrix ($V$). Note that multiplying by 365 assumes that the daily returns are IID, and this may also not be true in practice.

The calculation of the annual portfolio volatility is correct: $\sigma = \sqrt{x'Vx}$. This can be converted into the 95% VaR by scaling by $z \approx 1.64$

  • $\begingroup$ Thank you so much Tim! I tested the distribution of returns over 2 years, and found the distribution in the image I edited in my original post, as well as the skewness of ~0.3 and kurtosis of 4. Does this still work, and will I need to adjust to z value, or do I assume it is non-normal so better to evaluate VaR with simulation e.g. montecarlo? Thanks!!! $\endgroup$
    – AlexM88
    Aug 21, 2018 at 20:11
  • $\begingroup$ @AlexM88 Yeah, basing your estimate for VaR off the empirical distribution is almost certainly a better idea here than assuming normality. You may also try doing the analysis with weekly or monthly returns as a simple, low-tech way to ameliorate some issues with low levels of autocorrelation at the daily level (that each time period isn't independent). $\endgroup$ Aug 21, 2018 at 20:19
  • $\begingroup$ @MatthewGunn, thanks! I will do that then :) thanks for all your help! Unfortunately the only data I managed to get at scale is daily so I will need to figure how to deal with the autocorrelation and other issues from dailies! $\endgroup$
    – AlexM88
    Aug 21, 2018 at 20:29
  • $\begingroup$ @AlexM88 It's trivial to drop the resolution from the daily to the weekly level. Instead of dividing the price today by the price yesterday to get today's return, divide the price today by the price last week. $\endgroup$ Aug 21, 2018 at 20:37
  • $\begingroup$ right...thanks! got a bit confused with all the measures. will do :) $\endgroup$
    – AlexM88
    Aug 21, 2018 at 21:26

Your Answer

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

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