research(goal50): R2 prop-firm + roadmap finale — 50eur/g in mesi NON esiste via legale; stack onesto 18-36 mesi
- MC aggiornato alle regole VERE (HYRO 10/6/4, BREAKOUT 10/6/3, FTMO 10/10/5): de-luck P(pass) 55-68% a leva 1-1.5x, mediana 68-137g; funded 100k de-luck P(vivo) 69%, atteso blended onesto 250-450 eur/MESE (attriti fuori-MC: carry, recycling bust, controparte non regolata, cap industria 200k). - Roadmap: prop = unico canale che cambia scala in mesi (8-15 eur/g); stack 24 mesi top-decile 30-60 eur/g, mediana 10-25; fisco 33% = muro x1.5. - Book live INVARIATO. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -131,10 +131,12 @@ def part_c(book: pd.Series) -> None:
|
||||
r = book.to_numpy()
|
||||
n_paths, max_days = 20_000, 365
|
||||
|
||||
# regole VERE verificate (ricerca web R2, 2026-07-24): le firm crypto-native danno
|
||||
# DD 3-6%, NON 10% — e' il vincolo binding per un book con maxDD storico 9.4%.
|
||||
rules = [
|
||||
("target 8% / DD 10% statico / daily 4%", 0.08, 0.10, 0.04, False),
|
||||
("target 10% / DD 10% statico / daily 5%", 0.10, 0.10, 0.05, False),
|
||||
("target 10% / DD 10% TRAILING / daily 5%", 0.10, 0.10, 0.05, True),
|
||||
("HYRO 1-step: tgt 10% / DD 6% st / daily 4%", 0.10, 0.06, 0.04, False),
|
||||
("BREAKOUT Classic: tgt 10% / DD 6% st / dl 3%", 0.10, 0.06, 0.03, False),
|
||||
("FTMO Swing: tgt 10% / DD 10% st / daily 5%", 0.10, 0.10, 0.05, False),
|
||||
]
|
||||
for drift_scale, lab in ((1.0, "book modellato"), (0.6, "de-luck x0.6 (onesto)")):
|
||||
base = _block_bootstrap_paths(r, max_days, n_paths, drift_scale=drift_scale)
|
||||
@@ -146,21 +148,29 @@ def part_c(book: pd.Series) -> None:
|
||||
d = f"{res['median_days']:.0f}g" if np.isfinite(res["median_days"]) else "n/a"
|
||||
print(f" {name:<44} P(pass entro 1a) {res['p_pass']:>5.1%} mediana {d}")
|
||||
|
||||
# fase funded: 100k, split 80%, anno di ritorni; conto perso se DD>10%
|
||||
# fase funded: 100k, split 80%, anno di ritorni; regole di bust VERE (R2):
|
||||
# HYRO = max loss 6% statico + daily 4% (vol nativa book 11% -> gia' nel range
|
||||
# 10-12% raccomandato); FTMO = 10% statico + daily 5%.
|
||||
print("\n --- fase FUNDED: $100k nozionale, split 80%, orizzonte 1 anno ---")
|
||||
funded_rules = [("HYRO (max loss 6% st, daily 4%)", 0.06, 0.04),
|
||||
("FTMO (max loss 10% st, daily 5%)", 0.10, 0.05)]
|
||||
for drift_scale, lab in ((1.0, "book modellato"), (0.6, "de-luck x0.6")):
|
||||
paths = _block_bootstrap_paths(r, 365, n_paths, drift_scale=drift_scale)
|
||||
eq = np.cumprod(1 + paths, axis=1)
|
||||
hwm = np.maximum.accumulate(np.maximum(eq, 1.0), axis=1)
|
||||
blown = (eq < hwm * 0.90) | (paths < -0.05)
|
||||
alive = ~blown.any(axis=1)
|
||||
pnl = (eq[:, -1] - 1) * 100_000 * 0.80
|
||||
pnl_alive = pnl[alive]
|
||||
q = np.percentile(pnl_alive, [10, 50, 90]) if alive.any() else [np.nan] * 3
|
||||
print(f" {lab:<24} P(conto vivo a 1a) {alive.mean():>5.1%} payout se vivo "
|
||||
f"p10/p50/p90: EUR {eur_day(q[0]) :>5.1f} / {eur_day(q[1]):>5.1f} / {eur_day(q[2]):>5.1f} al giorno")
|
||||
print("\n NB: regole reali (consistency, min trading days, no-bot) possono uccidere lo stile")
|
||||
print(" low-frequency — il verdetto finale dipende dalla ricerca web sulle firm 2026.")
|
||||
for fname, dd_lim, dl_lim in funded_rules:
|
||||
blown = (eq < 1 - dd_lim) | (paths < -dl_lim)
|
||||
alive = ~blown.any(axis=1)
|
||||
pnl = (eq[:, -1] - 1) * 100_000 * 0.80
|
||||
pnl_alive = pnl[alive]
|
||||
q = np.percentile(pnl_alive, [10, 50, 90]) if alive.any() else [np.nan] * 3
|
||||
print(f" {lab:<16} {fname:<32} P(vivo 1a) {alive.mean():>5.1%} "
|
||||
f"payout p10/p50/p90: EUR {eur_day(q[0]):>5.1f} / {eur_day(q[1]):>5.1f} / "
|
||||
f"{eur_day(q[2]):>5.1f} /g")
|
||||
print("\n NB (ricerca R2 completata 2026-07-24): HYRO = API reale Bybit da funded, consistency")
|
||||
print(" 40% solo in eval; BREAKOUT = carry nascosto 0.033%/g (~12%/anno) ostile ai multi-week")
|
||||
print(" hold, esecuzione manuale ok a cadenza 1d; FTMO = CFD con swap ~10-25%/anno. Questi")
|
||||
print(" attriti + recycling bust + controparte non regolata NON sono nel MC: l'atteso blended")
|
||||
print(" onesto a $100k funded e' ~250-450 EUR/MESE (8-15/g), 15-30/g al cap $200k.")
|
||||
|
||||
|
||||
# ----------------------------------------------------------------------------- D
|
||||
|
||||
Reference in New Issue
Block a user