Risk Metrics - Methodology

How we calculate risk indicators for cryptocurrencies

Table of Contents

Overview

CoinRisqLab provides a comprehensive suite of risk metrics to help investors understand and quantify the risk profile of cryptocurrencies. These metrics are based on Modern Portfolio Theory and industry-standard risk management practices.

Metrics use different calculation windows based on their purpose: Volatility uses a 90-day window for recent risk assessment, VaR, Beta, and Sharpe Ratio use 365 days for more stable risk estimates, while Skewness, Kurtosis, and SML use 90 days to capture recent distribution characteristics.

Volatility

Price Uncertainty

VaR/CVaR

Downside Risk

Beta/Alpha/Sharpe

Market Sensitivity & Risk-Adjusted Return

Skew/Kurtosis

Distribution Shape

SML

CAPM Valuation

Volatility

Volatility measures the degree of variation in a cryptocurrency's returns over time. It is estimated as the unbiased standard deviation of logarithmic returns computed over the previous 90 trading days.

Rolling Window Setup

For each cryptocurrency with sufficient data (≥90 log returns):

Window[i]=[ri89,  ri88,  ,  ri]\text{Window}[i] = \bigl[r_{i-89},\; r_{i-88},\; \ldots,\; r_i\bigr]

The window slides forward one day at a time, always containing exactly 90 consecutive daily log returns.

Statistical Calculations

For each 90-day window, we calculate:

a) Unbiased Variance Estimation

s2=1n1i=1n(rirˉ)2s^2 = \frac{1}{n-1}\sum_{i=1}^{n}(r_i - \bar{r})^2
Where rir_i = logarithmic return at observation ii, rˉ\bar{r} = average logarithmic return over the sample, n=90n = 90 observations

b) Daily Volatility (Standard Deviation)

σ=s2\sigma = \sqrt{s^2}
This measure captures the magnitude of return fluctuations over the selected time window and reflects the level of uncertainty associated with the asset's price movements.

c) Annualized Volatility

σannual=σ×365\sigma_{\text{annual}} = \sigma \times \sqrt{365}
Where 365 = trading days per year (crypto markets 24/7)

Why Multiply by √365?

The square root of time rule applies under the assumption of independent and identically distributed returns. Since cryptocurrency markets operate 24/7 throughout the year, we use 365 days to convert daily volatility to an annual measure that's comparable across different assets and time periods.

Example

Given: Bitcoin (BTC) with 90-day log returns

Day 1: Price = $40,000 → $42,000, r₁ = ln(42000/40000) = 0.0488
Day 2: Price = $42,000 → $41,000, r₂ = ln(41000/42000) = -0.0241
...
Day 90: Price = $45,000 → $46,000, r₉₀ = ln(46000/45000) = 0.0220
Mean return: μ = 0.0015
Daily volatility: σ_daily = 0.03 (3% per day)
Annualized volatility: σ_annual = 0.03 × √365 = 0.573
Result: Bitcoin has an annualized volatility of
57.3%

Value at Risk (VaR)

Value at Risk (VaR) is a statistical measure that quantifies the potential loss in value of an asset over a defined period for a given confidence level. It answers the question: "What is the maximum loss I can expect with X% confidence?"

Definition

VaR at confidence level α represents the (1-α) percentile of the return distribution. For example, VaR 95% indicates the loss that will not be exceeded 95% of the time.

VaR(α)=Percentile(Returns,  100α)\text{VaR}(\alpha) = -\text{Percentile}(\text{Returns},\; 100 - \alpha)
Where α\alpha = confidence level (95% or 99%)

Historical VaR Method

We use the Historical Simulation method, which makes no assumptions about the distribution of returns:

  1. Collect up to 365 days of daily logarithmic returns
  2. Sort returns from lowest to highest
  3. Find the return at the (100-α) percentile position
  4. Report the absolute value as potential loss

Note: The volatility (standard deviation) used in VaR calculations is computed over a 365-day window, unlike the standalone volatility metric which uses a 90-day window and is then annualized. This longer window provides more stable risk estimates for downside risk measurement.

Confidence Levels

LevelPercentileInterpretation
VaR 95%
5th percentileLoss exceeded only 5% of days (1 in 20)
VaR 99%
1st percentileLoss exceeded only 1% of days (1 in 100)

Example

Asset: Bitcoin (BTC)
Period: 365 days
VaR 95%: 4.5%
VaR 99%: 8.2%
Interpretation: With 95% confidence, the daily loss will not exceed 4.5%. Only on 5% of days (approximately 18 days per year) should we expect losses greater than 4.5%.

Conditional VaR (CVaR) / Expected Shortfall

CVaR, also known as Expected Shortfall (ES), addresses a key limitation of VaR: it tells you the average loss when VaR is exceeded. It answers: "When things go bad, how bad do they get?"

Formula

CVaR(α)=E[R    R<VaR(α)]\text{CVaR}(\alpha) = -\mathbb{E}\bigl[R \;\big|\; R < -\text{VaR}(\alpha)\bigr]
Average of all returns in the tail beyond VaR

VaR vs CVaR Comparison

MetricQuestionProperty
VaRWhat's the threshold loss?Single point estimate
CVaRWhat's the average extreme loss?Tail average (coherent risk measure)

Note: CVaR is always greater than or equal to VaR. It provides a more complete picture of tail risk.

Beta (Market Sensitivity)

Beta measures the sensitivity of an asset's returns to market movements. It indicates how much an asset tends to move relative to the overall market (CoinRisqLab 80 Index).

For each asset, beta is estimated over a 365-day rolling window using daily logarithmic returns. The market benchmark used is the CoinRisqLab 80 Index, which represents the aggregated performance of a universe of 80 crypto-assets.

OLS Regression Model

The estimation is based on a simple linear regression using the Ordinary Least Squares (OLS) method:

Ri,t=αi+βi×Rm,t+εtR_{i,t} = \alpha_i + \beta_i \times R_{m,t} + \varepsilon_t
Where Ri,tR_{i,t} = logarithmic return of asset ii at time tt, Rm,tR_{m,t} = logarithmic return of the CoinRisqLab 80 Index, βi\beta_i = sensitivity of the asset to market movements

Within this framework, the beta coefficient estimated by OLS is equivalent to:

βi=Cov(Ri,Rm)Var(Rm)\beta_i = \frac{\text{Cov}(R_i,\, R_m)}{\text{Var}(R_m)}

This formula compares the covariance between the asset and the market (their tendency to move together) to the variance of the market (the magnitude of market fluctuations).

Beta Interpretation

Beta ValueCategoryMeaning
β < 0
InverseMoves opposite to the market
0 < β < 1
DefensiveLess volatile than market
β = 1
MarketMoves exactly like the market
1 < β < 2
AggressiveAmplifies market movements
β > 2
SpeculativeExtreme market sensitivity

Additional Regression Metrics

R-Squared (R²)

Percentage of asset variance explained by market movements. Higher R² means the asset tracks the market more closely.

Correlation

Strength and direction of linear relationship with the market. Ranges from -1 (perfect inverse) to +1 (perfect positive).

Alpha (Excess Return)

Alpha measures the excess return of an asset beyond what would be predicted by its beta. A positive alpha indicates outperformance; negative alpha indicates underperformance.

Formula

α=Rassetβ×Rmarket\alpha = \overline{R}_{\text{asset}} - \beta \times \overline{R}_{\text{market}}
The y-intercept of the regression line

Interpretation

  • Positive Alpha: Asset generates returns above what beta predicts (skilled selection or unique value)
  • Negative Alpha: Asset underperforms relative to its market risk
  • Zero Alpha: Returns fully explained by market exposure

Sharpe Ratio

The Sharpe Ratio measures the risk-adjusted return of an asset. It tells you how much excess return you receive for the extra volatility you endure — essentially, the return per unit of risk.

Formula

S=RpRfσpS = \frac{R_p - R_f}{\sigma_p}

RpR_p = Mean daily return of the asset

RfR_f = Risk-free rate (0% for crypto)

σp\sigma_p = Standard deviation of daily returns

The daily Sharpe Ratio is annualized by multiplying by 365\sqrt{365}, giving a comparable annual figure.

Interpretation

Sharpe RatioQualityMeaning
< 0
Negative
The asset loses money or underperforms the risk-free rate
0 - 1
Low
Positive return but low reward relative to risk taken
1 - 2
Good
Good risk-adjusted return — the strategy is efficient
> 2
Excellent
Excellent risk-adjusted return — very efficient strategy

Our Implementation

  • Calculated using 365 days of daily log returns
  • Risk-free rate set to 0% (standard for crypto markets)
  • Annualized via 365\sqrt{365} to give a yearly comparable figure
  • Historized daily in the database and recalculated with each new day of data

Security Market Line (SML)

The Security Market Line (SML) measures whether a crypto-asset is fairly priced relative to its systematic risk. It is derived from the Capital Asset Pricing Model (CAPM) and describes the relationship between expected return and systematic risk (Beta).

The SML allows us to determine whether an asset is undervalued, fairly valued, or overvalued relative to the market. To represent the crypto market, we use the CoinRisqLab 80 Index, which tracks the performance of 80 liquid cryptocurrencies, providing a broad representation of the crypto market.

All calculations are performed using a rolling 90-day window. This period balances statistical robustness and market responsiveness. Using shorter windows would increase noise, while longer windows could dilute recent market dynamics.

Methodology

For each asset and for the market index, we compute daily logarithmic returns. The expected market return is estimated as the mean of daily returns of the CoinRisqLab 80 Index over the last 90 days. The beta of each crypto-asset, based on 90 days, measures its sensitivity to market movements.

The expected return predicted by the CAPM is:

E(Ri)=rf+βi×(E(RM)rf)\mathbb{E}(R_i) = r_f + \beta_i \times \bigl(\mathbb{E}(R_M) - r_f\bigr)
This represents the return an asset should deliver given its systematic risk.

Note: We use rf=0r_f = 0 (simplified model for crypto markets where traditional risk-free rates are less relevant).

Jensen's Alpha

We compare the CAPM expected return to the realized return over the same 90-day period:

αi=RiE(Ri)\alpha_i = R_i - \mathbb{E}(R_i)
α>0\alpha > 0 → asset outperforms CAPM → potentially undervalued | α<0\alpha < 0 → asset underperforms CAPM → potentially overvalued
PositionInterpretation
Above SML
Asset delivers higher return than its risk → potentially undervalued
On SML
Fairly priced
Below SML
Return too low for its risk → potentially overvalued

Skewness

Skewness measures the asymmetry of the return distribution. It indicates whether extreme returns are more likely to be positive or negative.

Fisher's Skewness Formula

Skewness=n(n1)(n2)i=1n(xiμσ)3\text{Skewness} = \frac{n}{(n-1)(n-2)} \sum_{i=1}^{n} \left(\frac{x_i - \mu}{\sigma}\right)^{3}
Third standardized moment with sample bias correction

Interpretation

ValueTypeMeaning
< -0.5
Negative SkewLeft tail is longer - more extreme losses than gains
-0.5 to 0.5
SymmetricBalanced distribution of returns
> 0.5
Positive SkewRight tail is longer - more extreme gains than losses

Risk Implication

Negative skewness is concerning for investors because it means the asset has a higher probability of extreme negative returns (crash risk). Most cryptocurrencies exhibit negative skewness during market stress periods.

Kurtosis

Kurtosis measures the "tailedness" of the return distribution - how likely extreme values (outliers) are compared to a normal distribution.

Excess Kurtosis Formula (Fisher)

Excess Kurtosis=(n+1)n(n1)(n2)(n3)i=1n(xiμσ)43(n1)2(n2)(n3)\text{Excess Kurtosis} = \frac{(n+1)\,n}{(n-1)(n-2)(n-3)} \sum_{i=1}^{n} \left(\frac{x_i - \mu}{\sigma}\right)^{4} - \frac{3(n-1)^2}{(n-2)(n-3)}
Fourth standardized moment minus 3 (so normal distribution = 0)

Interpretation

ValueTypeMeaning
< -1
PlatykurticThin tails - fewer extreme events than normal
-1 to 1
MesokurticNormal-like tails
> 1
LeptokurticFat tails - more extreme events than normal

Risk Implication

High kurtosis (leptokurtic) is important for risk management because it means extreme moves happen more often than a normal distribution would predict. Cryptocurrencies typically have high positive kurtosis, meaning "black swan" events are more common than in traditional markets.

Stress Test

Stress testing estimates the potential impact of historical crisis events on an asset, using its beta to project how it would react to similar market shocks. For each historical scenario, we select the relevant crisis window, compute the aggregate crypto market return over that period, and use the cumulative decline as the market shock.

Methodology

For each stress scenario, we first define a historical event window corresponding to a major crypto market disruption. We then retrieve the total crypto market capitalization over that period and compute the daily log returns:

rt=ln ⁣(MtMt1)r_t = \ln\!\left(\frac{M_t}{M_{t-1}}\right)
Where MtM_t is the total crypto market capitalization at time tt

The cumulative market move over the scenario window is obtained by summing the log returns:

Rmarket,log=t=1nrtR_{\text{market,log}} = \sum_{t=1}^{n} r_t

The cumulative market shock is then expressed in standard return terms:

Shockmarket=eRmarket,log1\text{Shock}_{\text{market}} = e^{R_{\text{market,log}}} - 1

To account for differences in asset sensitivity, the market shock is scaled by each asset's historical beta. For stress testing purposes, negative betas are floored at 0:

βi,stress=max(βi,  0)\beta_{i,\text{stress}} = \max(\beta_i,\; 0)
Shocki=βi,stress×Shockmarket\text{Shock}_i = \beta_{i,\text{stress}} \times \text{Shock}_{\text{market}}

The stressed price of each asset is then computed as:

Pi,stress=Pi,0×(1+Shocki)P_{i,\text{stress}} = P_{i,0} \times (1 + \text{Shock}_i)
Where Pi,0P_{i,0} is the current asset price

Historical Scenarios

EventPeriodMarket Shock
COVID-19 CrashFeb-Mar 2020
-50.42%
China Mining BanMay 2021
-25.07%
UST/Luna CrashMay 2022
-4.73%
FTX CollapseNov 2022
-2.64%

Example

Asset: Ethereum (ETH)
Current Price (P_i,0): $2,500
Beta (β_i): 1.2
Scenario: COVID-19 (Shock_market = -50.42%)
β_i_stress = max(1.2, 0) = 1.2
Shock_i = 1.2 × (-50.42%) = -60.50%
P_i_stress = $2,500 × (1 - 0.605) = $987.50

Calculation Parameters

ParameterValueDescription
VaR / Beta / Sharpe Window
365 days
Longer window for stable risk estimates
Skew / Kurtosis / SML Window
90 days
Shorter window to capture recent distribution
Return Type
Logarithmic
Natural log of price ratios
Market Benchmark
CoinRisqLab 80
Index used for Beta/SML calculations
Risk-Free Rate
0%
Simplified assumption for crypto markets
Min. Data Points
7 days
Minimum required for statistical validity
Update Frequency
Daily (2 AM)
All metrics recalculated daily