Duration matching pe flux neregulat: immunizare, barbells și bucketing
Scara de obligațiuni clasică rezolvă un flux uniform: aceeași sumă, la intervale egale. Realitatea unui pensionar român cu capital de 1,2 milioane lei nu arată așa. Are o plată balon pentru o intervenție medicală în anul 4, un transfer matrimonial în anul 7, o renovare în anul 11 și un consum de bază lunar care crește cu inflația. Aici duration matching flux neregulat immunizare barbell bucketing înlocuiește scara naivă cu un model de optimizare care potrivește simultan durata, convexitatea și dispersia activelor pe vectorul de pasive.
Lecția aceasta presupune că deja stăpânești cash flow matching liabilities, construcția scării pe durație exactă și logica de sequence risk immunization din lecția anterioară. Mergem direct în mecanica de liability driven investing (LDI strategy) aplicată unui flux neregulat: cum partiționezi pasivul în bucket-uri (multiple liabilities bucketing approach), când un duration barbell bond portfolio domină un bullet, cum exploatezi convexity barbell strategy optimization pentru a câștiga la șocuri non-paralele, unde intervin floating rate notes duration matching pentru a anula riscul de reinvestire pe felia scurtă și cum impui o liability immunization multi-period robustă pe întreg vectorul de pasive.
Toate cifrele sunt calibrate la piața românească 2026: dobânda-cheie BNR 6,50%, randamente titluri de stat și instrumentele de retail (Tezaur, Fidelis pe BVB), impozit 10% pe dobânzi, CASS 10% plafonat la 24 de salarii minime. Construim modelul de la vectorul de pasive până la rebalansarea anuală, cu formule explicite și un exemplu numeric complet.
1. De la cash flow matching la liability immunization multi-period
Distincția fundamentală pe care un specialist o operează: cash flow matching (dedicare) construiește un portofoliu care livrează exact cuponul + principalul la fiecare dată de pasiv, fără reinvestire necesară. Este robust dar scump și rigid. Immunizarea (liability immunization multi-period) relaxează cerința: nu mai potrivim fiecare flux, ci potrivim momentele distribuției — durata (momentul 1), convexitatea/dispersia (momentul 2) — astfel încât valoarea netă a portofoliului (active minus pasive) să fie insensibilă la mișcări de yield la ordinul întâi și protejată la ordinul doi.
Condiția clasică Redington pentru immunizare cu un singur factor (shift paralel) cere trei lucruri simultan:
- PV(active) = PV(pasive) — valoarea prezentă a activelor egalează pasivul, la curba spot curentă;
- D(active) = D(pasive) — durata Macaulay (sau dollar duration) a activelor egalează durata pasivelor;
- C(active) ≥ C(pasive) — convexitatea activelor o depășește pe cea a pasivelor (dispersia activelor în jurul datelor de pasiv este mai mare).
A treia condiție este exact ce face un barbell relevant. Un bullet (toate activele concentrate la durata-țintă) are convexitate minimă. Un duration barbell bond portfolio — combinație de instrumente foarte scurte și foarte lungi cu aceeași durată medie — are convexitate mult mai mare. Pentru un flux de pasive el însuși dispersat în timp (neregulat), dispersia activelor trebuie să fie ≥ dispersia pasivelor, altfel imunizarea se rupe la shock-uri non-paralele.
Măsura de dispersie M² (Fong-Vasicek)
Redington protejează doar la shift paralel. În realitate curba se înclină (steepening/flattening) și se curbează (butterfly). Marginea împotriva riscului non-paralel se cuantifică prin M² — momentul doi al timpilor de flux ponderat cu PV, în jurul orizontului de imunizare H:
M² = Σ wᵢ · (tᵢ − H)², unde wᵢ = PV(fluxᵢ) / PV(total).
Limita Fong-Vasicek pe pierderea relativă a portofoliului imunizat este aproximativ: Δ(surplus)/PV ≥ −½ · M² · Δ(panta curbei). Cu cât M² este mai mic, cu atât portofoliul e mai robust la twist. Aici apare tensiunea de specialist: barbell-ul maximizează convexitatea (bun pentru Redington) dar și M² (rău pentru riscul de twist). Optimul nu e barbell-ul extrem, ci unul controlat.
2. Bucketing: partiționarea pasivului neregulat
Multiple liabilities bucketing approach descompune fluxul neregulat în K bucket-uri temporale, fiecare imunizat semi-independent. Pentru pensionarul nostru, vectorul de pasive (în lei, valori nominale, an de plată) este:
- Bucket A (anii 1–3, consum de bază): 84.000 lei/an indexat cu inflația ≈ 252.000 lei nominal;
- Bucket B (anul 4, intervenție medicală): 180.000 lei plată-balon;
- Bucket C (anii 5–6, consum): ~92.000 lei/an ≈ 184.000 lei;
- Bucket D (anul 7, transfer/eveniment): 150.000 lei;
- Bucket E (anii 8–10, consum): ~100.000 lei/an ≈ 300.000 lei;
- Bucket F (anul 11, renovare): 220.000 lei plată-balon;
- Bucket G (anii 12–15, consum rezidual): ~108.000 lei/an ≈ 432.000 lei.
Plățile-balon (B, D, F) sunt candidate naturale pentru cash flow matching exact (dedicare cu un titlu zero-cupon sintetic sau un Tezaur cu maturitate fix pe anul respectiv). Bucket-urile de consum recurent (A, C, E, G) sunt candidate pentru immunizare prin durată + convexitate, fiindcă tolerează reinvestire mică și beneficiază de eficiența barbell-ului.
Calculul duratei și PV per bucket
Folosim o curbă spot plată ilustrativă de 6,8% (titluri de stat RON, maturități medii, 2026). PV-ul Bucket G (anii 12–15, 108.000 lei/an):
PV = 108.000 · [1,068⁻¹² + 1,068⁻¹³ + 1,068⁻¹⁴ + 1,068⁻¹⁵] = 108.000 · [0,4555 + 0,4265 + 0,3994 + 0,3739] = 108.000 · 1,6553 ≈ 178.770 lei.
Durata Macaulay a Bucket G (media ponderată PV a timpilor 12–15):
D_G = (12·0,4555 + 13·0,4265 + 14·0,3994 + 15·0,3739) / 1,6553 = (5,466 + 5,545 + 5,592 + 5,609) / 1,6553 = 22,212 / 1,6553 ≈ 13,42 ani.
Repetând pentru toate bucket-urile și agregând, obținem PV total al pasivului ≈ 1.180.000 lei și durata Macaulay agregată D_L ≈ 6,9 ani. Acesta este targetul global de durată al portofoliului.
3. Construcția barbell-ului per bucket
Pentru un bucket de consum cu durată-țintă D* și PV-țintă P, barbell-ul folosește două instrumente: unul scurt (durată D_s) și unul lung (durată D_l), cu ponderi w_s și w_l. Condițiile de imunizare la nivel de bucket:
- w_s + w_l = 1 (alocare completă);
- w_s · D_s + w_l · D_l = D* (potrivire durată).
Rezolvând: w_l = (D* − D_s) / (D_l − D_s) și w_s = 1 − w_l.
Pentru Bucket G (D* = 13,42): folosim un Tezaur scurt cu durată 2,5 ani și un titlu de stat lung cu durată 9,5 ani — dar 13,42 depășește 9,5, deci aici barbell-ul pur nu acoperă. Soluția de specialist: pentru bucket-urile cu durată mare folosim un laddered bullet (titluri pe anii 12–15 direct), iar barbell-ul rămâne pentru bucket-urile cu durată intermediară unde dispersia plătește.
Exemplu barbell pe Bucket E (D* ≈ 8,9 ani)
Instrumente: scurt D_s = 2,5 ani (Tezaur), lung D_l = 11 ani (titlu de stat benchmark). PV-țintă = 196.000 lei.
w_l = (8,9 − 2,5) / (11 − 2,5) = 6,4 / 8,5 = 0,753; w_s = 0,247.
Alocare: 0,247 · 196.000 = 48.412 lei în instrumentul scurt; 0,753 · 196.000 = 147.588 lei în cel lung. Convexitatea acestui barbell:
C_barbell ≈ w_s · C_s + w_l · C_l. Cu C_s ≈ 7,5 și C_l ≈ 135: C_barbell = 0,247·7,5 + 0,753·135 = 1,85 + 101,7 = 103,5. Un bullet cu aceeași durată 8,9 are C ≈ 82. Câștigul de convexitate (~21 unități) este protecția la ordinul doi pe care o cumperi — la cost de un dispersie M² mai mare, deci sensibilitate la twist.
4. Convexity barbell strategy optimization
Întrebarea de optimizare reală nu e „barbell sau bullet" ci „cât de extrem barbell". Formulăm o problemă cu trei constrângeri și o funcție-obiectiv:
- Obiectiv: maximizează convexitatea agregată C_A (câștig la volatilitate de yield);
- Constrângere 1: D_A = D_L (durata activelor = pasivelor), egalitate strictă;
- Constrângere 2: M²_A ≤ M²_max (plafon de dispersie pentru riscul de twist);
- Constrângere 3: ponderi ≥ 0, sumă = PV_L (fără leverage, fără short pe retail RO).
Soluția: un barbell „cu acoperiș" — împingi convexitatea până la limita M²_max, nu mai departe. Practic, dacă te aștepți la un mediu de volatilitate ridicată a curbei dar shift dominant paralel, ridici M²_max (barbell mai agresiv). Dacă te aștepți la steepening structural (probabil în RO 2026, cu BNR care ar putea reduce dobânda-cheie de la 6,50% în timp ce partea lungă rămâne ancorată de primă de risc fiscal), cobori M²_max — twist-ul te-ar lovi pe un barbell agresiv.
Cuantificarea câștigului de convexitate
Câștigul așteptat din convexitate la un șoc de yield σ_y este aproximativ ½ · C · σ_y² aplicat pe PV. La un PV de 196.000 lei, surplus de convexitate ΔC = 21 față de bullet și σ_y = 1,2% (120 bps volatilitate anuală a randamentelor RON):
Câștig ≈ 0,5 · 21 · (0,012)² · 196.000 = 0,5 · 21 · 0,000144 · 196.000 ≈ 296 lei/an pe acest bucket. Modest în absolut, dar e o asimetrie pură (câștigi indiferent de direcția mișcării) și se cumulează pe toate bucket-urile și pe orizontul de 15 ani.
5. Floating rate notes pentru felia scurtă
Bucket A (anii 1–3) și componenta scurtă a barbell-urilor suferă de risc de reinvestire: titlurile scurte se maturizează și banii trebuie replasați la randamente necunoscute. Floating rate notes duration matching rezolvă elegant — un FRN are durată de dobândă efectiv ≈ 0 (cuponul se resetează la fiecare perioadă la ROBOR/IRCC + spread), deci valoarea lui e insensibilă la nivelul ratelor.
În RO 2026, instrumentele cu cupon variabil legat de IRCC (Indicele de Referință pentru Creditele Consumatorilor, ~5,8% în 2026) sau de inflație (titlurile Fidelis indexate, când sunt emise) funcționează ca FRN-uri. Folosirea lor pe felia scurtă:
- anulează riscul de reinvestire pe bucket-ul A (durata efectivă mică);
- permite ca felia lungă a barbell-ului să fie mai lungă fără a depăși D_L agregat, fiindcă FRN-ul aproape nu contribuie la durată;
- oferă o protecție naturală la inflație pe consumul de bază, dacă fluxul de pasive e el însuși indexat.
Capcana de specialist: un FRN are durată de dobândă ≈ 0 dar durată de spread ≠ 0. Dacă spread-ul de credit se lărgește, FRN-ul pierde. Pentru titluri de stat RON spread-ul de credit e neglijabil; pentru obligațiuni corporative din Fidelis, nu — acolo FRN-ul nu e „durată zero" în sens economic.
O nuanță suplimentară: durata efectivă a unui FRN nu este chiar zero, ci egală cu timpul până la următoarea resetare de cupon (durata până la reset). Pentru un instrument cu reset trimestrial, durata reziduală maximă este ~0,25 ani. Acumulată pe felia scurtă a portofoliului, această durată reziduală trebuie inclusă în D_A agregat — la scara unui portofoliu de 1,18 mil lei cu 200.000 lei în FRN-uri, contribuția la durată este 200.000/1.180.000 · 0,25 ≈ 0,042 ani, neglijabilă dar nu nulă. Specialistul o contabilizează explicit ca să nu introducă un bias sistematic de sub-imunizare.
6. Tratamentul fiscal — efectul pe randamentul net 2026
Imunizarea se face pe randamente NETE, altfel potrivirea PV este greșită. Regimul fiscal RON 2026 pe instrumente de venit fix:
- Impozit 10% pe dobânzi/cupoane (titluri de stat, Tezaur, Fidelis, depozite). Reținut la sursă pentru Tezaur/Fidelis prin intermediar.
- Câștig de capital pe vânzarea obligațiunilor printr-un intermediar fiscal rezident (broker autorizat în RO/BVB): impozit reținut la sursă în funcție de perioada de deținere — 6% sub 1 an și 3% peste 1 an (2026). Pentru un broker străin care nu reține la sursă, câștigul se autodeclară și se impozitează la cota standard de 16%.
- CASS 10% pe veniturile din investiții, calculat pe trepte plafonate la 6, 12 sau 24 de salarii minime. Salariul minim brut 2026 = 4.050 lei → praguri-bază de 24.300 lei (6 salarii), 48.600 lei (12 salarii) și 97.200 lei (24 de salarii). CASS se aplică pe baza-treaptă atinsă, nu pe venitul integral: CASS maxim ≈ 9.720 lei/an (10% × 97.200). Pentru un portofoliu de 1,18 mil lei cu randament ~6,8%, venitul brut ~80.000 lei depășește 48.600 dar nu 97.200 → se încadrează în treapta de 12 salarii, bază 48.600 lei, deci CASS ≈ 4.860 lei/an — relevant și de scăzut din PV-ul efectiv al activelor.
Randamentul net pe titlul lung de 6,8% brut devine 6,12% după impozit 10%. Recalculezi întreaga curbă spot pe net înainte de a rula potrivirea de durată — altfel D_A calculat pe brut nu corespunde fluxului net care plătește efectiv pasivele.
7. Rebalansarea: când și cum
Imunizarea nu e „set and forget". Durata activelor și pasivelor derivează diferit în timp (duration drift: durata pasivelor scade aproape liniar cu trecerea timpului, durata activelor scade mai lent din cauza convexității). Reguli operaționale:
- Trigger de durată: rebalansează când |D_A − D_L| > 0,25 ani. Sub acest prag, costul de tranzacționare depășește beneficiul.
- Trigger de PV: dacă surplusul (PV_A − PV_L) scade sub 0 (deficit de imunizare), reinjectează capital sau scurtează pasivele discreționare.
- Roll al bucket-urilor: când un bucket-balon (B, D, F) intră în fereastra de 12 luni, convertește-l din immunizat în dedicat exact (cash flow matching), eliminând orice risc rezidual de reinvestire înainte de plată.
- Recalibrare M²: reevaluează M²_max anual în funcție de regimul de pantă al curbei BNR.
Edge-case: pasive indexate la inflație
Dacă bucket-urile de consum sunt indexate (consumul real e fix, nominalul crește cu inflația), imunizarea cu titluri nominale lasă un basis risk de inflație. Soluția pură ar fi titluri indexate la inflație (linkers), dar piața RON 2026 are ofertă limitată. Aproximare practică: suprapotrivește durata (D_A puțin peste D_L) astfel încât o creștere a randamentelor nominale, corelată pozitiv cu inflația, să crească mai mult valoarea reinvestirii activelor — un hedge imperfect dar implementabil cu instrumentele disponibile.
Pași de implementare (checklist de specialist)
- 1. Inventariază fluxul de pasive pe ani, separând consum recurent (indexat) de plăți-balon discreționare.
- 2. Construiește curba spot RON 2026 pe randamente NETE (după impozit 10% + estimare CASS), nu brute.
- 3. Calculează PV, durata Macaulay și M² pentru fiecare bucket; agregă D_L și M²_L.
- 4. Dedică plățile-balon cu titluri de maturitate exactă (cash flow matching pur).
- 5. Imunizează bucket-urile de consum cu barbell controlat: rezolvă w_l = (D*−D_s)/(D_l−D_s), verifică C_A ≥ C_L și M²_A ≤ M²_max.
- 6. Plasează felia scurtă în FRN/IRCC pentru a anula riscul de reinvestire și a elibera durată pentru felia lungă.
- 7. Verifică cele trei condiții Redington global: PV_A = PV_L, D_A = D_L, C_A ≥ C_L.
- 8. Setează trigger-e de rebalansare: |ΔD| > 0,25 ani, surplus < 0, roll bucket-balon la T−12 luni.
- 9. Monitorizează regimul de pantă BNR; ajustează M²_max (barbell mai/mai puțin agresiv) la așteptări de steepening vs. shift paralel.
- 10. Recalculează anual totul pe curba și pe regimul fiscal actualizat; documentează surplusul de imunizare ca margine de siguranță.