Kalman Trend Filter
- Indicatori
- Versione: 1.0
- Attivazioni: 5
# Kalman Trend Filter - Filtro di Kalman a livello e velocita
*Categoria: Trend | Difficolta: avanzato | Finestra: finestra del grafico (sovrapposto ai prezzi) | Mercati: Universale (Forex, indici, materie prime, crypto, azioni) | Timeframe consigliati: M15, M30, H1, H4, D1*
## Descrizione breve
> Filtro di Kalman a due stati che stima simultaneamente il livello e la velocita del prezzo. Il guadagno si autoregola: si fida del modello quando i dati sono coerenti e si riadatta subito agli shock.
### Panoramica
Il filtro di Kalman e lo strumento standard per stimare lo stato di un sistema osservato attraverso misure rumorose, ed e esattamente la situazione di chi guarda un grafico. Questa implementazione modella il prezzo con due stati: un livello e una velocita che cambia lentamente. Ad ogni barra il filtro prima predice dove dovrebbe trovarsi il prezzo estendendo la velocita stimata, poi confronta la previsione con la chiusura reale e corregge entrambi gli stati in proporzione alla propria incertezza. La conseguenza pratica e che il ritardo non e fisso come in una media mobile: quando le osservazioni confermano il modello il filtro si fida e resta liscio, quando arriva un movimento inatteso l'errore di previsione e grande e la correzione e immediata.
### Come funziona il calcolo
1. Lo stato e composto da livello e velocita, con una matrice di covarianza tre per tre simmetrica che ne rappresenta l'incertezza.
2. Nella fase di predizione il livello avanza della velocita corrente e l'incertezza cresce del rumore di processo.
3. Il rumore di misura e il rumore di processo non sono espressi in punti ma in multipli di ATR, quindi la taratura resta valida cambiando strumento o timeframe.
4. Il guadagno di Kalman viene ricalcolato ad ogni barra dal rapporto fra incertezza del modello e rumore di misura: e la parte che si autoregola.
5. L'innovazione, cioe la differenza fra prezzo osservato e prezzo previsto, corregge livello e velocita e riduce l'incertezza.
6. La linea tratteggiata di proiezione mostra dove finirebbe il livello alla barra successiva se la velocita stimata restasse invariata.
### Come si usa
- Leggere la linea principale come stima del prezzo depurato dal rumore: il colore ne indica il segno della velocita, quindi la direzione strutturale.
- La distanza fra prezzo e linea e l'innovazione recente: una distanza anomala indica che il mercato sta facendo qualcosa che il modello non aveva previsto.
- La linea di proiezione affiancata al prezzo aiuta a valutare se la barra in formazione sta confermando o contraddicendo la velocita stimata.
- Aumentare InpMeasureNoise per una linea molto liscia da usare come filtro di fondo; ridurlo per una linea reattiva da usare come trailing.
- Il cambio di colore, che corrisponde all'inversione della velocita stimata, e piu affidabile di un incrocio prezzo-media ma comunque in ritardo sul minimo o massimo assoluto.
### A chi e rivolto e su quali timeframe
E rivolto a trader con una preparazione quantitativa e a sviluppatori di sistemi che vogliono una baseline di qualita superiore a una media mobile e sono disposti a tarare due parametri di rumore invece di un periodo. Funziona su qualsiasi timeframe da M15 in su. Chi cerca uno strumento da applicare senza capire cosa fa trovera i valori di default gia sensati, ma il vero vantaggio emerge quando si comprende il significato del rapporto fra i due rumori, che e l'unica cosa che conta davvero nella taratura.
### Esempio pratico di lettura del segnale
Su XAUUSD H1 il prezzo sale in modo ordinato: la linea di Kalman e azzurra e resta a ridosso delle chiusure, con la proiezione poco sopra. Esce un dato macro e il prezzo perde in una barra l'equivalente di quattro ATR. L'innovazione e enorme, il guadagno del filtro si alza e la linea si piega verso il basso gia sulla barra successiva, mentre una EMA a 50 periodi resterebbe orientata al rialzo per altre dieci barre. La velocita stimata diventa negativa, la linea passa ad arancione e la proiezione si sposta sotto il prezzo: il modello ha accettato il nuovo regime invece di continuare a mediare quello vecchio.
## Elenco parametri di input
| Parametro | Default | Descrizione |
|---|---|---|
| `InpMeasureNoise` | 1.00 | Quanto rumore attribuiamo al prezzo osservato, in multipli di ATR. Alzandolo il filtro si fida meno delle singole barre e la linea diventa piu liscia e piu lenta. |
| `InpProcessNoise` | 0.06 | Quanto rapidamente ammettiamo che la tendenza vera possa cambiare, in multipli di ATR. Alzandolo il filtro diventa piu reattivo agli shock ma anche piu nervoso. |
| `InpAtrPeriod` | 50 | Finestra dell'ATR che fissa la scala dei due rumori. Va tenuta ampia perche una scala instabile renderebbe instabile anche il guadagno. |
| `InpFlatFilter` | 0.02 | Velocita minima in ATR per barra sotto la quale la linea viene disegnata grigia invece che direzionale. |
| `InpAppliedPrice` | PRICE_CLOSE | Prezzo osservato dal filtro. PRICE_MEDIAN riduce l'effetto delle ombre lunghe sulle stime. |
## Vantaggi / punti di forza
- Il ritardo non e costante: si riduce automaticamente quando il mercato fa qualcosa di inatteso, che e esattamente quando serve.
- Stima esplicitamente la velocita, informazione che nessuna media mobile fornisce e che rende possibile la proiezione a una barra.
- I parametri sono espressi in unita di ATR, quindi una taratura trovata su un mercato resta ragionevole su un altro.
- Nessun repaint: la stima su barra chiusa e definitiva e non viene rivista dalle barre successive.
## Limitazioni e avvertenze
- Ha due parametri poco intuitivi: chi e abituato a ragionare per periodi deve fare uno sforzo di comprensione iniziale.
- Essendo ricorsivo il valore dipende da tutto lo storico caricato, quindi le prime barre dopo un cambio di profondita del grafico possono differire leggermente.
- Il modello assume velocita lentamente variabile: nei mercati che alternano scatti e pause improvvise, come le crypto nei fine settimana, la stima resta indietro.
- La proiezione a una barra e una estrapolazione lineare, non una previsione: non va interpretata come indicazione del prezzo futuro.
**Nessun repaint:** i valori pubblicati su una barra chiusa non vengono piu modificati.
**Disclaimer.** Questo prodotto e uno strumento di analisi tecnica, non un sistema di trading automatico, e non fornisce alcuna garanzia di profitto. I mercati finanziari comportano il rischio di perdita totale del capitale investito. Le performance passate non sono indicative dei risultati futuri. Ogni segnale prodotto va sempre confermato con la propria analisi, un piano di money management e un test preventivo su conto demo. L'autore non e responsabile di decisioni operative prese sulla base di questo indicatore.
## Tag / parole chiave suggerite per MQL5
`kalman`, `filter`, `trend`, `state space`, `smoothing`, `velocity`, `no repaint`, `quantitative`
