Pure TVM Engine
Validate Time Value of Money for any PV + rate + years. Monthly compounding, amortization drill-down, 3-band stress test (±2%). No retirement logic — just math.
Formula
FV = PV × (1 + r/m)m·n
m = 12 (monthly), r = annual rate decimal
PV 100,000 • 7.5% • 10y → £206,103 (annual) / £211,207 (monthly)
PV / FV
Inverses within 1e-6
Amortization
Month rows: payment/interest/principal/balance
3 Bands
Bad / Base / Good ±2%
Save-as-Pytest
One click → passing test
Admin Routes
- /admin/tvm — Amort Viewer + chart + drill-down + Save-as-Pytest
- /admin/schemas — Schema Viewer (Phase 01)
Validation Checklist (what human will check)
- Enter PV=100000, rate=7.5%, years=10 → FV≈£206k base (annual) / £211k monthly, chart shows 3 lines
- Change to 0% → flat line, no crash
- Expand year 1 → 12 months with correct amortization
- Click Save as Pytest → new test file appears, pytest -k admin passes