CouponMarketsHow it worksFAQDocsLaunch app
Sections
Pricing
How the fixed rate is builtForward rate & volatility
Risk & positions
Risk (PV01 / DV01)Mark-to-market & early exitCashflows & accruals
Pool & market
Pool mechanicsTerm curve & volatility bandMarket-wide stats
Reference
Fees, formatting & conversionsGlossary of parameters

Risk (PV01 / DV01)

PV01 is the dollar change in a position's value for a one-basis-point move in rates — the app's primary risk-sizing number, shown per swap and rolled up into the portfolio ladder.

Per-swap PV01Annuity basis

Uses the pool's current floating rate as a discount rate and an annuity factor over the swap's remaining life.

annuityFactor(y, T) = (1 − e^−yT) / y
pv01 = notional × annuityFactor(y, T) × 0.0001
discount rate y = current floatingremaining tenor Tportfolio/risk.ts:27
Unified ladder

Merges exact per-swap customer PV01 with an LP's pro-rata share of pool-level DV01, bucketed by remaining tenor.

myShare = wallet's asset value in pool / pool's total deposited
buckets: ≤30d · ≤3M · ≤6M · ≤1Y · >1Y
customer PV01 (exact)LP DV01 × mySharelib/dashboard/unified-risk.ts:53
Ladder totals

The headline numbers above the ladder chart, on the dashboard's "Risk & position" card.

Net PV01 = Σ rung.netUsdGross PV01 = Σ rung.grossUsdNet notional = payNotional − receiveNotionallib/dashboard/unified-risk.ts:109
Rate sensitivity (+1%)Simplified estimate

"If floating rises 1%" on the positions summary — a flat linear estimate, not derived from PV01 or annuity discounting.

perOnePctRise = notional × 0.01
per yearpay-fixed/data.ts:158
Known limitation. The PV01 ladder above and the exit price a customer actually sees are computed on two different bases. The ladder uses an annuity discounting model; the live exit price (see Mark-to-market & early exit) uses a simpler linear model. The gap between them is small under normal conditions but real — it will close once the annuity basis lands in the pricing contract itself.