Skip to main content

workflow-fi-alm-strategy

WHAT: Asset-liability matching for pension / insurance balance sheets; duration matching, key-rate duration matching, and immunization. WHEN: Pension / insurance ALM construction, LDI strategy formulation, surplus risk minimization.

Informações da origem

Repositório
fall-development-rob/corp_finance
Última atividade na origem
11 de maio de 2026 às 14:10
Idioma detectado do SKILL.md
inglês
Estrelas
8
Forks
2

Opções de instalação

Por padrão, está selecionado o prompt que primeiro revisa a origem. Você pode mudar para um comando direto ou baixar uma cópia local.

Revise os arquivos de origem

Leia o SKILL.md e os arquivos complementares exibidos pelo SkillsMP antes de decidir se vai instalar.

Exibindo SKILL.md

SKILL.md
Instruções da origem · Visualização somente leitura
name
workflow-fi-alm-strategy
description
WHAT: Asset-liability matching for pension / insurance balance sheets; duration matching, key-rate duration matching, and immunization. WHEN: Pension / insurance ALM construction, LDI strategy formulation, surplus risk minimization.
# Fixed Income: Asset-Liability Management and LDI Strategy ## What this skill covers A five-phase pipeline for constructing and validating an asset-liability management strategy for pension funds and insurance companies. Covers liability duration profiling, asset-side duration matching, key-rate gap analysis, immunization portfolio composition, and hedge effectiveness testing. All duration and DV01 figures come from `bond_duration`; ALM and LDI analytics from `alm_analysis`, `pension_funding`, and `ldi_strategy`; hedge validation from `hedge_effectiveness`. ## Core Rules - Duration-matching is necessary but not sufficient: key-rate duration gaps must also be closed to eliminate curve-twist risk. - Key-rate DV01 sum must equal total DV01 within ±1%. - Immunization requires: asset PV ≥ liability PV, asset duration = liability duration, and asset convexity ≥ liability convexity. - Funded status = asset market value / PV of liabilities; fully funded = 100%; underfunded < 100%. - Surplus = asset MV − liability PV; surplus DV01 = asset DV01 − liability DV01 (minimize for immunized portfolio). ## Workflow ### Phase 1 — Liability Profiling 1. Collect liability cash-flow schedule: - Pension: benefit payment projections by year from actuarial valuation. - Insurance: policy reserve cash flows (claims, surrender values) by year. - If user provides only summary statistics (PV, duration, convexity), document source and as-of date. 2. Call `pension_funding` with liability cash flows, discount rate (spot curve or flat rate), and actuarial assumptions. - Inputs: projected benefit payments by year, discount curve (from `bootstrap_spot_curve` or `fred_yield_curve`), inflation assumption (for CPI-linked benefits). - Outputs: - **Present value of liabilities (PVL)** - **Liability duration** (weighted average maturity of PV-weighted cash flows) - **Liability convexity** - **Liability DV01** per $1M PVL - **Funded status** if current asset market value is provided - **Funding shortfall / surplus** in dollar terms 3. Construct the liability key-rate duration profile at standard nodes: 2Y, 5Y, 10Y, 20Y, 30Y. - Sum of key-rate DV01s must equal total liability DV01 ±1%. - Long-dated pension liabilities typically have the majority of DV01 at the 20Y–30Y nodes; insurance may be more concentrated at 10Y–20Y. ### Phase 2 — Asset-Side Analytics 4. For each asset in the current (or proposed) portfolio, call `bond_duration`: - Inputs: bond pricing inputs (coupon, maturity, price, day count). - Outputs: key-rate durations, total DV01. 5. Aggregate asset key-rate DV01s at the same nodes (2Y, 5Y, 10Y, 20Y, 30Y). 6. Compute asset-liability key-rate gap: - Gap at node n = asset DV01(n) − liability DV01(n) - Positive gap: asset DV01 > liability DV01 at that node — over-hedged. - Negative gap: asset DV01 < liability DV01 — under-hedged (rate rise hurts funded status). ### Phase 3 — LDI Strategy Construction 7. Call `ldi_strategy` with: - Liability PV, duration, convexity, key-rate DV01 profile - Current asset DV01 profile - Target hedge ratio (e.g., 80% duration match = partial immunization) - Available instruments (long Treasuries, STRIPS, Treasury futures, interest rate swaps, LDI credit overlay) - Outputs: - **Recommended hedge instruments and notionals** to close key-rate gaps - **Hedge ratio achieved** at each key-rate node - **Residual surplus DV01 after hedging** - **Carry cost** of the hedge (if swaps or futures used) 8. Call `alm_analysis` for broader balance sheet impact: - Inputs: asset PV, liability PV, surplus, duration gap, funding ratio. - Outputs: **surplus volatility** (standard deviation of surplus change per 100 bps rate move), **VaR of surplus** at 95% and 99% confidence, **optimal hedge ratio** to minimize surplus volatility. 9. Immunization check (if full immunization is the goal): - Condition 1: asset PV ≥ liability PV (check funded status ≥ 100%). - Condition 2: asset total DV01 = liability total DV01 (duration match within 1%). - Condition 3: asset convexity ≥ liability convexity (convexity cushion). - If any condition fails, document which and quantify the gap. ### Phase 4 — Instrument Structuring 10. For recommended LDI instruments, size the positions: - **Long Treasury STRIPS** at the 20Y–30Y nodes: DV01 per $1M STRIPS = approx 0.20 per year of maturity; use `bond_duration` to compute exact DV01. - **Receive-fixed interest rate swap** (via `interest_rate_swap` if available): net DV01 equivalent to Treasury of same tenor at lower balance sheet cost. - **Treasury futures** (not captured in MCP; flag as out-of-scope; estimate notional from DV01 of CTD bond). 11. Document carry cost: - STRIPS: no coupon; negative carry vs liability discount rate if asset yield < liability discount rate. - Swaps: SOFR floating payment received, fixed payment made; net carry if SOFR < fixed rate. ### Phase 5 — Hedge Effectiveness Testing 12. Call `hedge_effectiveness` with: - Pre-hedge surplus DV01 (from Phase 2) - Post-hedge surplus DV01 (after implementing LDI instruments from Phase 3) - Prospective effectiveness test: percentage of liability DV01 hedged at each key-rate node. - Retrospective test: if historical data is available, compare actual surplus P&L vs predicted P&L from hedge. - Outputs: **prospective hedge effectiveness** (%), **residual basis risk**, **pass / fail** (ASC 815 / IAS 39 threshold: ≥ 80% effectiveness required for hedge accounting). ## Output Format **Liability Profile** | Metric | Value | |---|---| | Present value of liabilities | $XXXm | | Liability duration | XX.X years | | Liability convexity | XX.X | | Total liability DV01 | $XXX per $1M PVL | | Funded status | XXX% | | Surplus / (Deficit) | $XXXm | **Key-Rate Duration Gap** | Tenor | Asset DV01 ($) | Liability DV01 ($) | Gap ($) | Gap Direction | |---|---|---|---|---| | 2Y | X,XXX | X,XXX | +/−XXX | Over / Under | | 5Y | X,XXX | X,XXX | +/−XXX | — | | 10Y | X,XXX | X,XXX | +/−XXX | — | | 20Y | X,XXX | X,XXX | +/−XXX | — | | 30Y | X,XXX | X,XXX | +/−XXX | — | | **Total** | **X,XXX** | **X,XXX** | **+/−XXX** | | **LDI Instrument Recommendation** | Instrument | Tenor | Notional | DV01 added | Gap closed | |---|---|---|---|---| | Treasury STRIPS | 30Y | $XXm | $XXX | 20Y−30Y node | | Receive-fixed swap | 10Y | $XXm | $XXX | 10Y node | **Immunization Status** | Condition | Status | Detail | |---|---|---| | Asset PV ≥ Liability PV | PASS / FAIL | Funded at XXX% | | Duration match | PASS / FAIL | Asset dur: XX.X; Liability dur: XX.X | | Convexity cushion | PASS / FAIL | Asset conv: XX.X ≥ Liability conv: XX.X | **Hedge Effectiveness** | Node | Pre-hedge hedge % | Post-hedge hedge % | Target | |---|---|---|---| | 10Y | XX% | XX% | ≥ 80% | | 20Y | XX% | XX% | ≥ 80% | | 30Y | XX% | XX% | ≥ 80% | **Tool-Call Traceability Table** | # | Tool | Key Inputs | Output | |---|---|---|---| | 1 | `pension_funding` | benefit cash flows, discount curve | PVL, duration, DV01 | | 2 | `bond_duration` | per-asset pricing inputs | asset key-rate DV01 | | 3 | `ldi_strategy` | asset/liability DV01 profile, instruments | hedge notionals, residual DV01 | | 4 | `alm_analysis` | surplus, DV01 gap | surplus VaR, optimal hedge ratio | | 5 | `hedge_effectiveness` | pre/post DV01 | effectiveness %, pass/fail | ## Quality Gates - [ ] Liability key-rate DV01 sum = total liability DV01 (±1%) - [ ] Asset key-rate DV01 sum = total asset DV01 (±1%) - [ ] Post-hedge key-rate gap < 5% of total liability DV01 at each node - [ ] Immunization conditions 1 (PV), 2 (duration), 3 (convexity) all assessed - [ ] Hedge effectiveness ≥ 80% at all nodes targeted for LDI accounting - [ ] Carry cost of hedge documented - [ ] Surplus DV01 before and after hedge stated ## Related Skills - `workflow-fi-bond-valuation` — provides key-rate DV01 for individual bond positions - `workflow-fi-yield-curve-construction` — spot curve used to discount liability cash flows - `workflow-fi-inflation-linked` — TIPS allocation for CPI-linked liability hedging - `corp-finance-analyst-fixed-income` — deeper LDI (pension accounting, IFRS 19, ASC 715) - `corp-finance-analyst-regulatory` — insurance ALM (Solvency II SCR, NSFR)
Ver no GitHub