Quant Sandbox
DerivativesPortfolio & RiskFixed IncomeCorporate FinanceProbability & MeasureStochastic ModelsMarket MicrostructureGuide
Fixed Income
Bond Lab
Yield Curve
LabRates desk
Duration & Convexity
Treasury Futures Lab
Interest Rate Swap Lab
Callable Bond Lab
Immunization Lab
LabALM desk
Connected Guides
  • Immunization and duration matching
  • Duration and convexity

© 2026 Quant Sandbox · A study aid for quantitative finance

Privacy & dataNo cookies

This site does not use cookies and asks for no personal data. It keeps a few small settings in your browser's local storage — your chosen theme and language, the sidebar layout, and your progress and answers in the Guides — so it remembers them on your next visit. This data never leaves your device; clearing your browser storage removes it. Inputs you change can also be captured in the page URL, so you can share or bookmark a specific setup. The site uses Vercel Web Analytics, a privacy-friendly, cookieless service that records only anonymous, aggregated usage (such as page views) without identifying you or tracking you across other sites.

PNSN LiabilityALMD <GO>

ALM desk · Pension liability

Round 0/8 · 8 years to paySandbox <GO>
1Y yield
5.00%
5Y yield
5.00%
10Y yield
5.00%
2s10s
0 bp
Last shock
none yet
Assets
$676,839
Liability PV
$676,839
Funded
100.0%
Surplus
$0

Fund one pension payment with 2y, 5y and 12y bonds and cash. Each year the curve shifts and twists: keep the asset duration on the liability's.

Mission

A1 · Fund the pension

You start all in the 5-year bond, short of the 8-year liability. Match duration and keep it matched each year without overspending on trades.

Round 0/8 · 8 years to pay

  • Surplus at the end ≥ −$10,000On track$0
  • Duration gap outside ±0.25y at most 1×On track0
  • Trading costs ≤ $2,500On track$0

Risk

Duration gap −3.29y (band ±0.25y)

−2y0+2y
Duration assets
4.33
Duration liability
7.62
DV01 assets
$293
DV01 liability
$516
Convexity assets
23.9
Convexity liability
65.3
Surplus per +1 bp
+$223
Cash
$0
Costs paid
$0
Gap misses
0

Events

  1. Y0StartBook opened in the mission's start mix

Yield curve

TodayStart

Surplus

YouMatch yearlyNo trades

Last year's surplus change

  • Carry$0
  • Rates$0
  • Convexity$0
  • Costs$0
  • Change$0

Holdings

LineYears leftCouponFacePriceValueWeightDV01
5y bond55.00%$676,839100.00$676,839100.0%$293
Cash—5.00%$0100.00$00.0%$0
Liability8—$1,000,00067.68$676,839100.0%$516

Rebalance ticket

Cash (the rest)0.0%
Duration after
4.33
Gap after
−3.29
Convexity after
−41.4
Value traded
$0
Cost
$0

Surplus if the curve moved now

Twist \ parallel−100 bp−50 bp−25 bp0 bp+25 bp+50 bp+100 bp
+50 bp−17.8k−5.8k0.0k+5.5k+10.9k+16.1k+26.1k
0 bp−23.7k−11.5k−5.7k0.0k+5.5k+10.8k+20.9k
−50 bp−29.6k−17.2k−11.3k−5.5k+0.1k+5.5k+15.8k

Instant change in surplus for a parallel move (columns) and a twist (rows), in bp.

Path #1 · gap checked at each year end · trades cost 5 bp of value moved