Come si Calcola l’ATR (Average True Range)
Cosa significa ATR prima di calcolarlo
ATR sta per Average True Range. È una misura della volatilità basata sul concetto di True Range (TR), che cerca di catturare quanto il prezzo si muove all’interno di un periodo, inclusi eventuali gap tra un periodo e il successivo.
L’ATR non è una previsione né un segnale direzionale. Riassume la variabilità realizzata di recente. Quando le condizioni cambiano, lo stesso livello di ATR può corrispondere a ambienti diversi.
La formula principale (TR e ATR)
La maggior parte dei calcoli ATR segue questa struttura:
- Calcolare il True Range (TR) per ogni periodo Per un dato periodo t, il TR è il massimo tra tre quantità:
- Range: (High_t - Low_t)
- Gap rispetto alla chiusura precedente (movimento al rialzo): (|High_t - Close_{t-1}|)
- Gap rispetto alla chiusura precedente (movimento al ribasso): (|Low_t - Close_{t-1}|)
Quindi: [ TR_t = \max\big((High_t - Low_t),\ |High_t - Close_{t-1}|,\ |Low_t - Close_{t-1}|\big) ]
- Mediare il TR su una finestra di lookback per ottenere l’ATR Sia N la lunghezza del lookback in periodi. L’ATR su quei periodi può essere calcolato come media: [ ATR_t = \frac{1}{N} \sum_{i=0}^{N-1} TR_{t-i} ]
Alcuni sistemi calcolano l’ATR anche con un metodo di smoothing o ponderazione per recency, ma la dipendenza dai dati chiave rimane la stessa: valori TR basati su high, low e chiusura precedente.
Input e assunzioni necessarie
Per calcolare l’ATR, servono dati OHLC (apertura, massimo, minimo, chiusura) coerenti per intervalli temporali fissi, o almeno high, low e close per periodi consecutivi.
Parametri richiesti:
- Timeframe / definizione del periodo (es. barre giornaliere, barre da 1 ora). L’ATR dipende da cosa significa “un periodo”.
- Lunghezza del lookback N (es. 14 periodi è comune in pratica, ma il calcolo richiede solo che si scelga un N).
- Un modo per allineare Close_{t-1} con High_t e Low_t del periodo corrente. La chiusura precedente deve provenire dal periodo immediatamente precedente nel dataset.
Assunzioni da dichiarare quando si effettua il calcolo:
- I prezzi OHLC si riferiscono allo stesso strumento e alle stesse regole di sessione di trading.
- Si usano le stesse regole di arrotondamento/precisione del sistema con cui si confronta.
- Si gestisce con attenzione il primo periodo: il TR per il primo periodo calcolabile richiede Close_{t-1}, quindi non si può calcolare TR senza una chiusura precedente.
Piccolo esempio pratico (con assunzioni esplicite)
Supponiamo di calcolare il TR per un periodo t usando il periodo precedente t−1.
Assumiamo:
- Chiusura precedente (Close_{t-1} = 1.1000)
- Massimo corrente (High_t = 1.1080)
- Minimo corrente (Low_t = 1.1020)
Calcoliamo i tre candidati:
- (High_t - Low_t = 1.1080 - 1.1020 = 0.0060)
- (|High_t - Close_{t-1}| = |1.1080 - 1.1000| = 0.0080)
- (|Low_t - Close_{t-1}| = |1.1020 - 1.1000| = 0.0020)
Quindi: [ TR_t = \max(0.0060, 0.0080, 0.0020) = 0.0080 ]
Se il lookback è N = 3, allora si farebbe la media di (TR_t), (TR_{t-1}) e (TR_{t-2}) per ottenere l’ATR al tempo t.
Limitazioni e errori comuni
-
L’ATR misura l’ampiezza, non la direzione L’ATR non indica se il prezzo si sta muovendo al rialzo o al ribasso. Due periodi possono avere lo stesso ATR pur avendo direzione e struttura diverse.
-
L’ATR dipende fortemente dal timeframe scelto Cambiare la lunghezza del periodo (es. usare barre da 1 ora invece di barre giornaliere) cambia la sequenza TR e quindi l’ATR. Non è possibile confrontare valori ATR tra timeframe diversi senza adeguare questa differenza.
-
La lunghezza del lookback cambia la “reattività” Un N più breve reagisce più velocemente ai cambiamenti recenti nel TR, mentre un N più lungo li smussa. Se si usa l’ATR per confronti, bisogna confrontare situazioni equivalenti: stesso timeframe, stesso N, stessa definizione di TR.
-
Qualità dei dati e allineamento delle sessioni possono distorcere il TR Poiché il TR usa High, Low e la chiusura precedente, inconsistenze nella costruzione delle barre (periodi mancanti, gap per festività o diversi orari di sessione) possono creare gap artificiali e gonfiare il TR.
-
I livelli storici di ATR non garantiscono il comportamento futuro Anche se l’ATR è aumentato o diminuito in passato, tale schema non assicura cambiamenti futuri simili. L’ATR riflette la variabilità realizzata di recente, non una regola strutturale.
Come verificare autonomamente l’ATR
Per verificare il calcolo dell’ATR, puoi riprodurlo autonomamente dagli stessi input OHLC:
- Scegli un timeframe specifico e una lunghezza di lookback N.
- Per ogni periodo, calcola (TR_t) esattamente come massimo dei tre candidati.
- Fai la media degli ultimi N valori TR (o applica lo stesso metodo di smoothing usato dalla piattaforma di riferimento).
- Verifica la gestione dei bordi: i primi valori TR richiedono Close_{t-1} e i primi valori ATR richiedono abbastanza osservazioni TR.
Se il tuo ATR calcolato differisce da uno strumento di riferimento, le cause più comuni sono timeframe diversi, N diverso, varianti nella definizione del TR (raro ma possibile), o scelte diverse di smoothing/inizializzazione.
Una domanda successiva da considerare
Quando confronti l’ATR tra fonti diverse, chiediti: Entrambi i calcoli usano lo stesso timeframe, la stessa lunghezza di lookback e lo stesso metodo di smoothing (se presente)?