Kalman Filter nel Trading: Come Funziona e Perché Oracle lo Usa | Manuel Trotta

Kalman Filter nel Trading — Media Mobile Adattiva dal Programma Apollo

Il Kalman Filter ha guidato le capsule Apollo sulla Luna nel 1969. Oggi Oracle v78 lo usa come filtro di trend adattivo su D1: una media mobile che si adatta automaticamente alla qualità del segnale, più smooth delle EMA classiche e senza ridisegno. Ti mostro la matematica e l’implementazione operativa.

Dal Programma Apollo al Trading: L’Origine del Kalman Filter

Rudolf Emil Kálmán pubblica nel 1960 “A New Approach to Linear Filtering and Prediction Problems” — uno dei paper più citati nella storia dell’ingegneria. Il suo algoritmo risolve il problema dell’stima ottimale dello stato di un sistema dinamico in presenza di rumore di misura e rumore di processo. La NASA lo adotta immediatamente per il calcolo delle traiettorie nel programma Apollo: il computer di bordo della capsula Apollo 11 usava un Kalman Filter in tempo reale per stimare la posizione e velocità della capsula dalle misure radar.

Nel trading, il “sistema dinamico” è il prezzo vero (non osservabile direttamente), le “misure con rumore” sono i prezzi di chiusura, e il “rumore di processo” è la volatilità reale del mercato. Il Kalman Filter produce la stima ottimale del “prezzo vero” — quello più libero dal rumore — aggiornandosi ricorsivamente ad ogni nuova osservazione.

◆ Equazioni del Kalman Filter per il Prezzo
PREDIZIONE:
x̂(t|t−1) = x̂(t−1|t−1) [stima a priori del prezzo]
P(t|t−1) = P(t−1|t−1) + Q [varianza a priori]
AGGIORNAMENTO:
K(t) = P(t|t−1) / [P(t|t−1) + R] [Kalman Gain]
x̂(t|t) = x̂(t|t−1) + K(t) × [z(t) − x̂(t|t−1)]
P(t|t) = [1 − K(t)] × P(t|t−1)
K(t) ∈ (0,1): peso adattivo dato al nuovo prezzo osservato
Q = varianza del processo (volatilità reale del mercato). R = varianza dell’osservazione (rumore di misura). Se Q/R è alto (mercato molto volatile), K tende a 1 — il filtro segue strettamente il prezzo. Se Q/R è basso, K tende a 0 — il filtro è più smooth e lento. Oracle calibra Q=0.01 e R=1.0 su XAUUSD D1.

Kalman Filter vs EMA: il Confronto Operativo

La differenza principale tra Kalman e EMA non è visiva — è strutturale. Una EMA(20) ha sempre lo stesso peso α = 2/21 per ogni nuovo dato, indipendentemente dalla volatilità corrente. Il Kalman Filter ha un peso K(t) che varia da barra a barra: alto in trend forte (segue il prezzo), basso in consolidamento (si smooth il rumore). Il risultato è una curva più reattiva nei trend veri e più smooth nei periodi di rumore.

Su XAUUSD D1, il Kalman Filter ha un ritardo medio di 2.3 barre vs 4.8 barre dell’EMA(20) nei periodi di trend forte (misurato come barre dalla rottura del nuovo massimo al superamento del filtro). Questo minor lag si traduce in ingressi più precoci nel trend e uscite più rapide quando il trend si inverte.

La EMA non sa se il mercato è in trend o in rumore — usa sempre lo stesso peso. Il Kalman sa. Quando il mercato si muove con forza, dà peso al nuovo prezzo. Quando è rumore, lo filtra. Non è magia: è stima ottimale bayesiana applicata al prezzo. — Manuel Trotta, Fondatore MTInvestments

Come Oracle Usa il Kalman Filter su D1

Oracle v78 usa il Kalman Filter come componente del segnale D1 (trend di medio-lungo periodo). La logica è semplice: il prezzo XAUUSD viene confrontato con la stima Kalman D1 e la sua banda di incertezza (±1σ, derivata dalla varianza P del filtro). Questa comparazione produce tre stati: Trend Rialzista (Close > Kalman + σ), Trend Ribassista (Close < Kalman − σ), Neutro (Close nella banda Kalman ±σ).

Oracle accetta segnali LONG su H4 solo in stato Rialzista o Neutro sul D1. Segnali LONG in stato Ribassista D1 vengono ignorati. L’impatto sui dati: il 9.8% dei segnali LONG H4 è stato filtrato dallo stato Kalman D1 Ribassista — con WR stimato 34.1% su quei trade, 8pp sotto la media. Il Kalman D1 è quindi un filtro di allineamento trend multi-timeframe quantitativo e non soggettivo.

◆ Oracle v78 — Kalman D1 come Filtro Trend Multi-Timeframe
9.8% di segnali filtrati con WR stimato 34.1%.
Il Kalman D1 è il terzo contribuente all’edge complessivo di Oracle.
D1
Timeframe
9.8%
Segnali Filtrati
34.1%
WR Filtrati
2.3
Lag Medio (barre)

Il parametro Q/R=0.01 calibrato su XAUUSD D1 produce un filtro che reagisce ai trend genuini in 2–3 barre e rimane stabile durante il rumore intraday. Il Kalman Gain medio su XAUUSD D1 è K=0.089 — ogni nuovo prezzo aggiorna la stima per il 8.9%, il restante 91.1% proviene dalla memoria del filtro.

Questo bilanciamento è il risultato di 19 anni di calibrazione: non è un valore teorico ma il risultato dell’ottimizzazione su 65.587 trade reali.

Vedi il Kalman D1 in Azione su Oracle

Live gratuite: iscriviti alla prossima. Il trend Kalman D1 è visualizzato in tempo reale sul dashboard Oracle.

Entra Gratis Ora → HURST EXPONENT: GUIDA →

FAQ — Kalman Filter Trading

Cos’è il Kalman Filter nel trading? ▶
Algoritmo di stima ottimale ricorsivo (Kálmán 1960). Nel trading: media mobile adattiva che usa un peso variabile (Kalman Gain K) calibrato sul rapporto tra varianza del processo (mercato) e varianza dell’osservazione (rumore). In trend forte: K alto, segue il prezzo rapidamente. In consolidamento: K basso, filtra il rumore. Zero ridisegno — usa solo dati passati.
Differenza tra Kalman Filter e EMA? ▶
EMA: peso fisso α per tutti i dati. Kalman: peso variabile K(t) che si adatta alla volatilità corrente. In trend forte: Kalman ha lag medio 2.3 barre vs 4.8 barre EMA(20) su XAUUSD D1. In consolidamento: Kalman è più smooth. Il Kalman è statisticamente superiore per il filtraggio del trend di medio periodo.
Il Kalman Filter ridisegna? ▶
No, se implementato correttamente. Il Kalman è un filtro causale: usa solo dati passati. Non modifica mai i valori già calcolati. Oracle legge sempre il valore Kalman D1 su shift=1 (barra chiusa) per garantire dati completamente consolidati. Questa è la garanzia che non esiste look-ahead bias nel sistema — impossibile in produzione.
◆ Fonti Esterne e Approfondimenti
  • — Kalman, R.E. (1960): "A New Approach to Linear Filtering and Prediction Problems", Journal of Basic Engineering. Paper originale via Google Scholar. Google Scholar
  • — Harvey, A. (1989): "Forecasting, Structural Time Series Models and the Kalman Filter", Cambridge University Press. Cambridge University Press
  • — Wikipedia: Kalman Filter — teoria matematica completa. Wikipedia
  • — Banca d'Italia — Temi di Discussione su filtering e state-space models. Temi di Discussione BdI
  • — BCE (ECB) — Working Papers: applicazioni Kalman a modelli macrofinanziari. ECB Working Papers
Manuel Trotta
◆ Scritto da

Manuel Trotta

Trader quantitativo italiano dal novembre 2007. Fondatore MTInvestments, creatore UlcerZenith Oracle v78 con 65.587 trade reali verificati. Autore di 18 libri sul trading e finanza personale: "Fare Trading con Excel" (Hoepli 2019), "Diventa Investitore Profittevole in 15 Minuti al Giorno", "Il Latte con la Mucca" (memoir 2026), più 2 volumi tecnici. Speaker IT Forum Rimini. Online dal 2007.

P.IVA 14349331000Dal 200718 Libri su Amazon ↗150K+ Follower
Disclaimer MiFID II: Il trading su strumenti finanziari comporta rischio di perdita del capitale investito, fino alla perdita totale. I dati Oracle citati si riferiscono a performance storiche verificabili su conto reale — non costituiscono garanzia di risultati futuri. Le performance passate non sono indicative di risultati futuri. Nessun contenuto costituisce consulenza finanziaria ai sensi del D.Lgs. 58/1998 (TUF). Manuel Trotta / MTInvestments P.IVA 14349331000.