← All Collections
🎯 7 parts

Backtesting Without Fooling Yourself

A step-by-step path from what your backtest really optimizes to proving an edge survives overfitting, multiple testing, and live execution. Read top to bottom — each part builds on the last.

  1. 01
    Il Design della Funzione Obiettivo: La Metrica che Ottimizzi Sceglie di Nascosto la Tua Strategia
    Jul 2, 2026 #algotrading

    Il Design della Funzione Obiettivo: La Metrica che Ottimizzi Sceglie di Nascosto la Tua Strategia

    Per cercare la strategia 'migliore' devi prima definire 'migliore' — e quello scalare sceglie di nascosto il vincitore. Su dati sintetici con un vantaggio noto (600 seed, T=2000, 80 soglie), uno Sharpe per-trade ingenuo incorona una lotteria: sceglie un vincitore con esposizione sotto il 5% nel 56% dei seed e degenera nel 57% — nel seed più estremo, 8 trade che ottengono uno Sharpe in-sample di 21.09 che collassa a 0.13 out of sample. La riparazione onesta è quasi banale: misurare sull'intera timeline, che non degenera mai (out-of-sample 1.71). Uno shrinkage sul conteggio dei trade (conf_k) e un floor di esposizione possono correggere retroattivamente una metrica per-trade, ma anche completamente riparati eguagliano soltanto lo Sharpe sull'intera timeline (1.70 contro 1.71) — senza mai batterlo. La legge di Goodhart, in un backtest, con una ground truth controllata.

  2. 02
    Walk-Forward Optimization: L'Unico Test Onesto per una Strategia
    Mar 15, 2026 #algotrading

    Walk-Forward Optimization: L'Unico Test Onesto per una Strategia

    Perché una singola divisione train/test non protegge dall'overfitting, come la walk-forward optimization verifica sistematicamente la robustezza dei parametri, e perché una strategia con +3342% PnL@ML su 21 parametri è una bomba a orologeria senza WFO.

  3. 03
    Analisi del Plateau: Come Distinguere un Ottimo Robusto dall'Overfitting
    Mar 12, 2026 #algotrading

    Analisi del Plateau: Come Distinguere un Ottimo Robusto dall'Overfitting

    Perché trovare i migliori parametri di strategia è solo metà del lavoro. Come distinguere visivamente e quantitativamente un plateau stabile da un picco fragile, e perché i contour plot di Optuna sono un passaggio obbligatorio prima di lanciare una strategia ottimizzata in produzione.

  4. 04
    Monte Carlo Bootstrap: Come Ottenere Intervalli di Confidenza per un Backtest in 10 Righe di Codice
    Mar 6, 2026 #algotrading

    Monte Carlo Bootstrap: Come Ottenere Intervalli di Confidenza per un Backtest in 10 Righe di Codice

    Perché una stima puntuale da un backtest è un'illusione pericolosa. Come il bootstrap Monte Carlo in 2 secondi di calcolo fornisce un intervallo di confidenza al 95% per PnL e MaxDD, e perché questo è un passaggio obbligatorio prima di avviare una strategia in produzione.

  5. 05
    La Probability of Backtest Overfitting: La Tua Ricerca Ha Battuto un Lancio di Moneta?
    Jul 2, 2026 #algotrading

    La Probability of Backtest Overfitting: La Tua Ricerca Ha Battuto un Lancio di Moneta?

    Il Deflated Sharpe Ratio prezza la strategia vincente; il PBO prezza la ricerca che l'ha scelta. La Combinatorially Symmetric Cross-Validation esegue C(16,8) = 12,870 split train/test su una matrice di performance 1000x200 e chiede: il vincitore in-sample finisce nella metà inferiore out-of-sample? La trappola che quasi tutti si perdono — il nullo del PBO è 0.5, non 1. Su 200 strategie a vantaggio zero, il miglior Sharpe annualizzato in-sample di 1.98 collassa a 0.06 out-of-sample e PBO = 0.476: un lancio di moneta, completamente overfit. Pianta un vantaggio reale (Sharpe annualizzato 2.38) e il PBO scende a 0.001, con l'in-sample 3.73 che sopravvive a un out-of-sample 2.34. Anche una griglia di medie mobili su un puro random walk non ha alcuna abilità out-of-sample — PBO 0.463 mediato su 60 matrici, statisticamente indistinguibile dal nullo — e su una matrice rappresentativa il miraggio è vivido: un miglior Sharpe in-sample di 2.33 collassa a un out-of-sample mediano di -0.22, PBO 0.573, un 63% di probabilità di perdita.

  6. 06
    Il Deflated Sharpe Ratio: Quanti dei 'Vincitori' del Tuo Backtest Sopravvivono ai Test Multipli?
    Jul 2, 2026 #algotrading

    Il Deflated Sharpe Ratio: Quanti dei 'Vincitori' del Tuo Backtest Sopravvivono ai Test Multipli?

    Una ricerca di parametri è una macchina per fabbricare fortuna. Su puro rumore — 1,000 strategie con vantaggio reale pari a zero — lo Sharpe annuale migliore ha una media di 1.63 e il test di significatività ingenuo segnala una scoperta il 100% delle volte. Costruiamo una ground truth controllata e mostriamo che il Deflated Sharpe Ratio, l'haircut di Harvey-Liu e la Reality Check di White ripristinano l'onestà: le scoperte false scendono da 1.000 a 0.001-0.057, i vantaggi genuini sopra il tetto di rumore vengono mantenuti con potenza ~1 — e un'unica vera trappola (griglie correlate) in cui il DSR grezzo sovra-deflaziona e il verdetto va letto attraverso un'intera banda di stime dei trial effettivi, non una sola.

  7. 07
    Parità backtest-live: perché il tuo bot fa trading in modo diverso dal backtest
    Mar 7, 2026 #algotrading

    Parità backtest-live: perché il tuo bot fa trading in modo diverso dal backtest

    Tassonomia completa delle divergenze tra backtest e trading live: dallo slippage e i fill parziali alla desincronizzazione del codice. Pattern architetturali per ottenere la parità, esempi Python di un modulo core condiviso e una checklist di monitoraggio in produzione.