Metric Methodology
Asset Coverage: APY and Return Columns
| Metric | Formula | Data Source |
|---|---|---|
| APY 30d | annualizeRatio(share_rate_now / share_rate_30d_ago, elapsed_seconds) | token_yield_apy.share_rate |
| 1M return | APY_30d / 12 | Derived |
| YTD return | Cumulative monthly returns from Jan 1, current year | token_yield_apy.share_rate |
| 1Y return | annualizeRatio(share_rate_now / share_rate_1y_ago, elapsed_seconds) | token_yield_apy.share_rate |
YTD and 1Y are computed by the daily asset refresh script (scripts/refresh-assets.ts), not at query time.
Carry Strategies: Column Definitions
| Column | Formula |
|---|---|
| Col APY (7d) | combineLeg(target_components, 7) -- sum of index-ratio trailing APYs for each leg component |
| Debt APY (7d) | combineLeg(funding_components, 7) |
| Carry (7d) | Col APY (7d) - Debt APY (7d) |
| Carry Mean (7d) | Arithmetic mean of (smartColApy_t - smartDebtApy_t) over last 7d sample |
| Carry Vol (7d) | Sample std dev (n-1) of the same sample |
| Sharpe (7d) | Carry Mean (7d) / Carry Vol (7d) |
| Max-lev Carry | carry_7d * (1 / (1 - LLTV)) |
All APY figures are fractional (0.05 = 5%) internally; the UI formats with fmtPct() to percentage strings.
Money Market Rates
| Metric | Formula |
|---|---|
| Supply APY 7d | getTrailingApy(table, token, "supply", 7) -- index ratio over 7d |
| Supply APY 30d | Same with window = 30 |
| Supply APY 90d | Same with window = 90 |
The same getTrailingApy function used for carry legs is applied here, ensuring that money market rates and carry funding costs are on a consistent basis: a 30d funding cost on the carries page and a 30d supply APY on the money market rates page are computed identically.