From 067c89fc16d919006feae432fc0dacc28351d899 Mon Sep 17 00:00:00 2001 From: Adriano Dal Pastro Date: Mon, 27 Jul 2026 19:37:34 +0000 Subject: [PATCH] research(capitale): aggiunta la riga 10k al filone orizzonte-10 10.000 EUR + 500/mese: P(entro 10 anni) 33.9% (contro 19.7% con 5k), mediana 10.7 anni, rendita a 10 anni 42.25 EUR/g. Raddoppia quasi la probabilita' ma resta fuori dal vincolo. Versamento richiesto con lump 10k: P=50% -> 604 EUR/m, P=75% -> 793, P=90% -> 975. Cioe' 5.000 EUR in piu' oggi valgono 77 EUR/mese per 10 anni (~9.240): meno del 2.45x misurato su 20 anni, perche' a orizzonte corto il lump compone meno. Co-Authored-By: Claude Opus 5 (1M context) --- scripts/research/r0727_orizzonte10.py | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/scripts/research/r0727_orizzonte10.py b/scripts/research/r0727_orizzonte10.py index 815ce20..3374112 100644 --- a/scripts/research/r0727_orizzonte10.py +++ b/scripts/research/r0727_orizzonte10.py @@ -38,7 +38,7 @@ import r0727_lumpsum_split as LS # noqa: E402 ETA = 49 ORIZZONTE = 10 -LUMPS = (3_000.0, 5_000.0, 6_043.0) +LUMPS = (3_000.0, 5_000.0, 6_043.0, 10_000.0) # 10k = oltre XEON: tocca VWCE/SPYM/PPFB DEPS = (500.0, 800.0, 1_000.0, 1_500.0, 2_000.0) CONFIDENZE = (0.50, 0.75, 0.90) CONC = {"Deribit": 1.0} @@ -128,13 +128,13 @@ def main() -> None: print("\n" + "=" * 100) print(f" (3) SE QUEL NUMERO NON C'E': CHE RENDITA SI COMPRA IN {ORIZZONTE} ANNI") print("=" * 100) - print(f"\n (lump €5.000; rendita NETTA mediana a {ORIZZONTE} anni, e in quanti anni") + print(f"\n (lump €10.000; rendita NETTA mediana a {ORIZZONTE} anni, e in quanti anni") print(" si arriverebbe invece ai €50/g)") print(f"\n {'dep/mese':>10}{'cap. mediano a 10a':>21}{'rendita a 10a':>16}" f"{'anni per €50/g':>17}{'eta a quel punto':>19}") for dep in DEPS: - a = p_entro(series, 5_000.0, dep, years=ORIZZONTE) - b = LS.simulate(CONC, series, 0.0, lump_usd=5_000.0 * CC.EURUSD, dep_eur=dep, years=25) + a = p_entro(series, 10_000.0, dep, years=ORIZZONTE) + b = LS.simulate(CONC, series, 0.0, lump_usd=10_000.0 * CC.EURUSD, dep_eur=dep, years=25) rend = a["median_end"] * perp * (1 - CC.TAX_RATE) / 365.0 / CC.EURUSD yrs = b["median_yrs"] print(f" {dep:>9,.0f}€{a['median_end']:>20,.0f}${rend:>13.2f} €/g"