Market Risk
Market risk captures the financial exposure of a vault — how it would perform under stress, how close borrowers are to liquidation, and how concentrated liquidity and borrowing are. Of the three risk dimensions, market risk has the highest internal granularity — seven weighted components — though all three dimensions contribute equally in the composite score.
Seven components
Market risk is scored across seven weighted components grouped into three subcategories. Each component produces a score from 0.0–1.0. The market risk score is their weighted sum.
pool_market_score = Σ (component_weight / 160) × component_score
Stress Test — 50% of market risk weight
Extreme Event Resilience (weight: 80 / 50%)
The single highest-weight component. Measures expected lender losses under a simulated black-swan scenario: volatility spiking 10x current levels, evaluated at the worst 0.01% tail outcome.
| Parameter | Value |
|---|---|
| Model | GBM (Geometric Brownian Motion) |
| Volatility shock | 9.0× (10x current volatility) |
| Quantile | 0.9999 (worst 0.01% outcomes) |
| Iterations | 10,000 |
| Horizon | 365 days |
| Score formula | 1 − (LenderES₀.₉₉₉₉ / 100) |
The simulation uses the vault's actual collateral weights, loan weights, and collateral ratios derived from on-chain state. A vault where lenders would lose nothing in the tail scenario scores 1.0; a vault with 100% expected shortfall scores 0.0.
Some collateral types cannot be priced by the simulation engine and are excluded from the stress test. Excluded collateral weight is reported in the UI but does not contribute to the resilience score. Examples: Pendle PT tokens (expiry-linked pricing), USTB (unsupported by risk engine index).
Liquidation Resilience — 12.5% of market risk weight
Liquidation Buffer (weight: 20 / 12.5%)
Measures the average distance between borrowers' current positions and their liquidation thresholds. A vault where borrowers are far from liquidation can absorb price moves without forced selling.
| Input | Formula |
|---|---|
| Position-weighted average buffer | pool_buffer / 0.2, clamped to [0, 1] |
A pool-wide buffer of ≥20% scores 1.0. A buffer of 0% (borrowers at their liquidation threshold) scores 0.0. The score drops linearly in between.
Example: If the average borrower is 15% away from their liquidation LTV, the score is 0.15 / 0.2 = 0.75.
Available Liquidity — 37.5% of market risk weight
Utilization (weight: 30 / 18.75%)
High utilization means less liquidity available for withdrawals. The score uses a calibrated exponent that creates a steep penalty near saturation — small increases near 90%+ utilization matter far more than the same increase at low utilization.
| Formula |
|---|
1 − U^6.579 where U is the utilization rate |
| Utilization | Score |
|---|---|
| 56% | 0.98 |
| 71% | 0.90 |
| 88% | 0.55 |
| 90% | 0.50 |
| 94% | 0.35 |
This nonlinearity is intentional: the difference between 88% and 94% utilization (a narrow band) is the difference between a score of 0.55 and 0.35 — because the liquidity risk at near-full utilization is qualitatively different.
LP Nakamoto Coefficient (weight: 10 / 6.25%)
Minimum number of liquidity providers collectively controlling ≥50% of supplied liquidity. Higher = more decentralized = safer. A vault where one LP can withdraw more than half the liquidity unilaterally is structurally fragile.
| Formula |
|---|
ln(k) / ln(10), clamped to [0, 1] |
| k (LPs to reach 51%) | Score |
|---|---|
| 1 | 0.00 |
| 2 | 0.30 |
| 5 | 0.70 |
| 10 | 1.00 |
The log scale rewards the early gains in decentralization most: going from 1 to 2 LPs is a bigger improvement than going from 10 to 20.
LP Max Power Ratio (weight: 10 / 6.25%)
Share of total supplied liquidity held by the single largest LP.
| Formula |
|---|
1 − max_share |
A vault where no LP holds more than a few percent scores close to 1.0. A vault where one LP holds 80% of supply scores 0.20.
Borrower Nakamoto Coefficient (weight: 5 / 3.125%)
Same logic as LP Nakamoto, applied to the borrow side. Measures how many borrowers collectively control ≥50% of outstanding debt. High borrower concentration means a small number of forced liquidations could dominate the market.
| Formula |
|---|
ln(k) / ln(10), clamped to [0, 1] |
A vault with a single dominant borrower (k=1) scores 0.0. A vault where 10+ borrowers each hold smaller shares (k≥10) scores 1.0.
Borrower Max Power Ratio (weight: 5 / 3.125%)
Share of total outstanding debt held by the single largest borrower.
| Formula |
|---|
1 − max_share |
How components combine
Each component score is multiplied by its weight and summed:
pool_market_score = Σ (weight_i / 160) × score_i
Weights sum to 160. The result is a market risk score from 0.0–1.0 (displayed as 0–10 in the Ozone UI).
Production examples — AAVE V3 Ethereum Main Market reserves:
| Vault | Util | LP Nak | LP Max | Bor Nak | Bor Max | Liq Buf | Stress | Score |
|---|---|---|---|---|---|---|---|---|
| WBTC | 1.00 | 1.00 | 0.96 | 1.00 | 0.93 | 1.00 | 1.00 | 0.996 |
| LINK | 1.00 | 1.00 | 0.94 | 0.60 | 0.77 | 1.00 | 1.00 | 0.977 |
| USDe | 0.98 | 0.85 | 0.76 | 0.95 | 0.90 | 0.84 | 0.76 | 0.827 |
| USDT | 0.90 | 1.00 | 0.91 | 1.00 | 0.97 | 1.00 | 0.69 | 0.819 |
| wstETH | 1.00 | 0.90 | 0.76 | 0.00 | 0.38 | 1.00 | 0.78 | 0.818 |
The WBTC market scores near-perfect across all components. wstETH scores lower primarily because a single borrower controls over 51% of the borrow side (Borrower Nakamoto = 0.00) — a concentrated liquidation risk the stress test score alone wouldn't reveal.
What market risk doesn't capture
Market risk is powerful but has limits:
- Address clustering: Concentration metrics are based on on-chain addresses. A single entity operating through multiple wallets may appear more decentralized than it actually is.
- Collateral exclusions: Collateral types unsupported by the stress test engine are excluded from the resilience score. The excluded weight is shown in the UI.
- Novel market regimes: The GBM model is calibrated on historical volatility. In genuinely unprecedented market conditions, estimates carry higher uncertainty.
See How Ozone Scores Work for how market risk combines with oracle and protocol risk into the composite Ozone Score.