Market Risk Score

The Market Risk Score serves only as one of many financial risk dimensions. The Market Risk Score does not account for other possible risks associated with DeFi protocols, such as technical risk, oracle risk, admin risk, or legal risk. These and other factors should also be considered when assessing pool risk.

The Market Risk Score measures the relative risk of undercollateralization caused by a sudden price shock, taking into account the second-order effects of onchain liquidity, protocol-specific liquidation bonuses, as well as the loan-to-value (LTV) profile of individual borrowers across pools.

Collateral drawdowns are simulated on a position basis, accounting for the effects of each individual debt position within a pool. The simulation is then normalized and measured on a scale from 0 (low risk) to 100 (high risk).

Simulation steps

  1. Volatility: A collateral type’s annualized volatility is calculated from price movements over the last 30 days using Chainlink data.

  2. Re-Priced Collateral from Price Drop: We assume that the observed volatility could materialise as two equally sized, consecutive drops. One such drop is applied to every collateral type across every positions in all supported pools. For savings stablecoins (e.g. sDAI, sUSDS, and sUSDe) we instead hard-code a 5% drop.

  3. Collateral Price Impact from Liquidations: If the re-priced collateral value in step 2 falls below a position's liquidation threshold, we further discount the collateral by expected DEX slippage, obtained in real-time from the 1Inch API for the notional size required to repay the debt plus any protocol-specific liquidation bonus.

  4. Calculate Loss Given Default (LGD): We compute LGD as an aggregated pool-level loss given default metric by summing up all wallet-level losses and dividing it by total pool supply. LGD therefore lies between 0 and 1 and represents the percentage of debt that would remain unpaid after liquidation under the simulated shock.

Finally, the LGD value is transformed into a score through the following formula:

score(LGD)=(LGDa0)1.21+(LGDa0)1.2 \operatorname{score}(LGD)= \frac{\left(\dfrac{LGD}{a_{0}}\right)^{1.2}} {1+\left(\dfrac{LGD}{a_{0}}\right)^{1.2}}

where:

  • LGD is the pool-level loss given default from step 4 (0 - 1).

  • a₀ is a calibration constant that sets where the curve crosses the 50% risk point.

  • The implementation currently uses a₀ = 0.009.

  • Lower a₀ makes the score rise faster for small LGD; higher a₀ makes it rise more slowly.

  • The exponent 1.2 controls the steepness of the transition between low and high risk.

The fixed parameter values and assumptions shown here correspond to the initial release of the Market Risk Score methodology. They may be updated as new data, feedback, or insights emerge. Any revisions will be recorded in the Sphere Documentation Portal.

Last updated