Esempio guidato di backtesting (con assunzioni esplicite)

Impara la pratica di backtesting con un esempio guidato e assunzioni.

Risposta diretta: cos’è un esempio guidato di pratica di backtesting

Un esempio guidato di pratica di backtesting mostra, passo dopo passo, come applicheresti una regola chiaramente definita ai dati storici per stimare cosa sarebbe successo. “Backtesting” qui significa simulare decisioni usando osservazioni passate, senza assumere che i risultati futuri corrisponderanno alla storia. “Pratica” significa registrare ogni assunzione così un’altra persona può riprodurre gli stessi calcoli e verificare da dove deriva il risultato.

Meccanismo e definizione: cosa fai in un backtest

La pratica di backtesting in genere ha cinque input:

  1. Una regola decisionale: esattamente quando entreresti/usciresti (o come calcoleresti una previsione/punteggio).
  2. Un dataset: una serie storica temporale con timestamp coerenti.
  3. Un modello di trading: come si riempiono gli ordini (es., usando l’apertura della barra successiva) e come gestisci gli spread.
  4. Un modello dei costi: commissioni, fee e assunzioni sugli spread.
  5. Una metrica: cosa misuri (es., rendimento cumulato, drawdown, hit rate o rendimento medio per trade).

Meccaniche stabili: il flusso di lavoro (definisci la regola → scegli la finestra di dati → simula i riempimenti → calcola le metriche → documenta) resta lo stesso. Condizioni variabili: il regime di mercato, la qualità dei dati, i dettagli di esecuzione e i costi possono cambiare e possono dominare i risultati.

Esempio guidato (scenario numerico) con assunzioni esplicite

Assumi che l’obiettivo sia valutare una regola semplice a scopo didattico. Non è una raccomandazione e usa semplificazioni “simil-sintetiche” per mantenere le assunzioni esplicite.

Regola (il “se-allora”)

Per ogni giorno, mantieni una posizione per esattamente 1 giorno. La posizione è “long” (assumi esposizione) oppure “flat” (nessuna esposizione). La regola decisionale è:

  • Se la chiusura del giorno precedente è più alta della chiusura di due giorni fa, prendi esposizione long per il giorno successivo.
  • Altrimenti, resta flat per il giorno successivo.

Dataset (osservazioni storiche)

Usa sei osservazioni giornaliere consecutive (Giorno 0 fino a Giorno 5). Assumi che le chiusure sotto siano i prezzi storici “noti” per il backtesting:

  • Chiusura Giorno 0: 100
  • Chiusura Giorno 1: 102
  • Chiusura Giorno 2: 101
  • Chiusura Giorno 3: 103
  • Chiusura Giorno 4: 104
  • Chiusura Giorno 5: 102

Calcoleremo le decisioni per i Giorni 2–5 perché la regola richiede Day t-2.

Assunzioni di esecuzione e costi

Queste assunzioni determinano il rendimento simulato.

  • Prezzo di ingresso: l’apertura del giorno successivo è uguale alla chiusura di quel giorno (semplificazione). Questo elimina l’incertezza intraday.
  • Prezzo di uscita: la chiusura del giorno seguente è uguale alla chiusura del giorno successivo (dato che il periodo di detenzione è di 1 giorno).
  • Spread e commissione: il costo totale di trading è un fisso 0,1% del nozionale in ogni giorno in cui sei long. Se flat, il costo è 0%.
  • Nessun vincolo di leva, nessun interesse sul margine e nessuno slippage oltre quanto previsto dal modello dei costi.

Definizione della metrica

Calcola un “rendimento giornaliero netto” sul nozionale:

  • Se long nel giorno t: rendimento netto = (Close(t) / Close(t-1)) − 1 − 0.001
  • Se flat: rendimento netto = 0

Simulazione passo-passo

Decisioni:

  • Per la decisione del Giorno 2: confronta la chiusura del Giorno 1 (102) con la chiusura del Giorno 0 (100). 102 > 100 → vai long nel Giorno 2.
  • Per la decisione del Giorno 3: confronta la chiusura del Giorno 2 (101) con la chiusura del Giorno 1 (102). 101 > 102 è falso → flat nel Giorno 3.
  • Per la decisione del Giorno 4: confronta la chiusura del Giorno 3 (103) con la chiusura del Giorno 2 (101). 103 > 101 → long nel Giorno 4.
  • Per la decisione del Giorno 5: confronta la chiusura del Giorno 4 (104) con la chiusura del Giorno 3 (103). 104 > 103 → long nel Giorno 5.

Calcola i rendimenti netti:

  • Giorno 2 (long): Close(2)/Close(1) − 1 − 0.001 = 101/102 − 1 − 0.001 ≈ −0.0098039 − 0.001 = −0.0108039 (≈ −1.08%)
  • Giorno 3 (flat): net = 0
  • Giorno 4 (long): 104/101 − 1 − 0.001 = 0.0297029 − 0.001 ≈ 0.0287029 (≈ +2.87%)
  • Giorno 5 (long): 102/104 − 1 − 0.001 = −0.0192308 − 0.001 ≈ −0.0202308 (≈ −2.02%)

Somma semplice cumulativa (dato che questo esempio usa numeri piccoli ed è solo illustrativo): rendimento netto totale ≈ −1.08% + 0% + 2.87% − 2.02% ≈ −0.23% nel periodo valutato.

Cosa insegna l’esempio guidato: l’esito è prodotto in modo meccanico dalla tua regola, dai tuoi dati e dalle tue assunzioni esplicite su esecuzione/costi.

Limitazioni e modalità di fallimento (cosa può andare storto)

  1. Overfitting: se la regola è tarata troppo da vicino sui dati passati (molte manopole, molti test), può sembrare buona storicamente ma fallire altrove. 2) Realismo dell’esecuzione: assumere riempimenti perfetti o prezzi semplificati può esagerare i risultati.

DOCUMENT END

Il trading su forex e CFD comporta rischi significativi. Le informazioni di FoxiForex sono educative e non costituiscono consulenza finanziaria personale. I contenuti sponsorizzati sono chiaramente indicati.