Come Viene Calcolato l’Adx Trend
Risposta diretta
“ADX Trend” non è una formula fissa univoca; nella maggior parte dei casi, ci si riferisce all’Average Directional Index (ADX) e alla sua costruzione a partire dai componenti del movimento direzionale (DI). Nella sua forma comune, il calcolo parte dai cambiamenti di prezzo, ricava i valori di movimento direzionale (+DM e −DM), li normalizza con il true range (TR), applica uno smoothing ai risultati e infine converte gli indicatori direzionali lisciati nel valore ADX (forza del trend).
Meccanismo e definizione (i blocchi costitutivi del calcolo)
Di seguito è riportato un flusso di lavoro standard e autonomo in stile ADX. L’obiettivo è calcolare un numero che rappresenti la forza del trend a partire dai dati OHLC dei prezzi. Il calcolo richiede una serie temporale di prezzi (al minimo: High e Low; Close viene utilizzato per calcolare variazioni e varianti del TR).
1) Input e notazione
Si supponga di disporre di barre/candele indicizzate nel tempo t con almeno:
- High[t]
- Low[t]
- Close[t]
Scegliere una lunghezza di lookback n (spesso chiamata “periodo”). Questa scelta influenza la forza dello smoothing e la sensibilità.
2) Movimento direzionale: +DM e −DM
Per ogni passo t (a partire dal momento in cui si dispone della barra precedente t−1), calcolare il movimento direzionale dalle variazioni di massimi e minimi:
- UpMove = High[t] − High[t−1]
- DownMove = Low[t−1] − Low[t]
Una regola comune assegna:
- +DM = UpMove se UpMove > DownMove e UpMove > 0, altrimenti 0
- −DM = DownMove se DownMove > UpMove e DownMove > 0, altrimenti 0
Interpretazione: per ogni barra, solo la direzione dominante “vince”, e il movimento negativo in quella direzione viene scartato.
3) True range: TR
Il true range misura quanto si è mosso il prezzo, tenendo conto dei gap tra chiusure. Una definizione comune è:
- TR = max( High[t] − Low[t], abs(High[t] − Close[t−1]), abs(Low[t] − Close[t−1]) )
Interpretazione: TR è il denominatore di normalizzazione per il movimento direzionale.
4) Lisciare i componenti
Il movimento direzionale e il TR vengono tipicamente lisciati su n barre prima di essere trasformati in rapporti. Un approccio ampiamente utilizzato è lo smoothing di tipo Wilder, definito ricorsivamente come:
- SmoothedX[t] = SmoothedX[t−1] − (SmoothedX[t−1] / n) + X[t]
Dove X[t] è uno tra +DM[t], −DM[t] o TR[t], a seconda della serie che si sta lisciando.
Dettaglio importante: è necessario definire il valore iniziale di SmoothedX per la prima finestra di calcolo (spesso la somma delle prime n osservazioni, a seconda dell’esatta implementazione della piattaforma).
5) Convertire in indicatori direzionali (+DI e −DI)
Dopo lo smoothing, calcolare:
- +DI[t] = 100 × (Smoothed(+DM)[t] / Smoothed(TR)[t])
- −DI[t] = 100 × (Smoothed(−DM)[t] / Smoothed(TR)[t])
Gli indicatori direzionali traducono il movimento in una “forza direzionale” normalizzata e comparabile.
6) Creare DX e poi ADX
Calcolare l’indice direzionale (DX):
- DX[t] = 100 × abs(+DI[t] − −DI[t]) / (+DI[t] + −DI[t])
Quindi calcolare ADX utilizzando un ulteriore passaggio di smoothing su n barre:
- ADX[t] = media lisciata di DX sul periodo scelto n
In molte implementazioni, l’ADX iniziale è la media dei primi valori disponibili di DX, seguita da smoothing di tipo Wilder o da un metodo equivalente.
Riepilogo di ciò che misura “ADX Trend”
Il numero risultante ADX è pensato per rappresentare la “forza del trend” piuttosto che la direzione. Gli indicatori direzionali (+DI e −DI) sono separati e indicano la direzione; ADX riassume quanto è forte il dominio direzionale.
Evidenza o esempio (un mini-flusso verificabile)
Poiché i calcoli dipendono da regole esatte e condizioni iniziali, è utile verificare il metodo con un piccolo dataset coerente.
Ipotesi per questo esempio (in modo da poterlo replicare):
- Utilizzare le regole standard +DM/−DM descritte sopra.
- Utilizzare la definizione standard di TR basata su High, Low e Close[t−1].
- Utilizzare il periodo n = 14.
- Utilizzare lo smoothing di tipo Wilder.
Un modo pratico per verificare in modo indipendente:
- Creare un foglio di calcolo con colonne per UpMove, DownMove, +DM, −DM, TR.
- Per la prima finestra di smoothing, calcolare i valori iniziali di Smoothed(+DM), Smoothed(−DM) e Smoothed(TR) secondo il metodo scelto (comunemente la somma dei primi n valori).
- Applicare lo smoothing di Wilder in avanti, una barra alla volta.
- Calcolare +DI e −DI dai valori lisciati.
- Calcolare DX dalla differenza e dalla somma di +DI e −DI.
- Lisciare DX per ottenere ADX.
Se gli output del foglio di calcolo corrispondono alla linea ADX di uno strumento (entro le differenze di arrotondamento), si può essere certi di utilizzare le stesse regole di base e lo stesso metodo di inizializzazione.
Verifica opzionale: verificare se +DM e −DM si comportano in modo sensato su barre in cui i massimi salgono mentre i minimi scendono (o viceversa). Se un lato domina costantemente, gli indicatori direzionali dovrebbero rifletterlo.
Limitazioni, rischi e modalità di errore
1) Differenze di implementazione
Gli indicatori simili all’ADX possono differire a causa di:
- Come vengono inizializzati i valori lisciati iniziali.
- La definizione esatta di TR (alcune piattaforme gestiscono i gap o anomalie nei dati in modo leggermente diverso).
- Se lo smoothing è di tipo Wilder o utilizza un altro metodo di media.
- Se una piattaforma etichetta una variante come “ADX Trend”.
Anche piccole differenze possono causare divergenze evidenti.
2) Sensibilità al periodo n
Un valore n più lungo di solito produce uno smoothing più forte, generando un ADX più lento. Un valore n più breve può reagire rapidamente alla volatilità a breve termine, potenzialmente creando letture instabili. Questo non è un problema di “meglio” o “peggio”; cambia ciò che il numero rappresenta.
3) Divisione per zero o per denominatori quasi nulli
DX utilizza (+DI + −DI) come denominatore. Se entrambi gli indicatori direzionali sono vicini a zero (ad esempio, in dati molto piatti o a bassa volatilità), DX può risultare instabile o indefinito, a seconda di come il software gestisce gli zeri. Una gestione corretta richiede regole esplicite.
4) Qualità dei dati e barre mancanti
Se i dati OHLC presentano intervalli mancanti, valori obsoleti o costruzione incoerente delle candele, +DM, −DM e TR possono essere calcolati con ipotesi errate di adiacenza (relazioni t−1). Ciò può produrre valori ADX fuorvianti.
5) Il comportamento del mercato non è costante
Anche con calcoli corretti, il significato statistico di ADX dipende dal regime di mercato. I calcoli storici non garantiscono somiglianze future; ADX è una trasformazione del movimento osservato dei prezzi, non una certezza su ciò che accadrà in seguito.
Verifica o prossima domanda
Per verificare in modo indipendente qualsiasi calcolo “ADX Trend” che si osserva:
- Confermare quale variante esatta di ADX viene utilizzata (periodo n, metodo di smoothing, definizione di TR, inizializzazione iniziale).
- Ricalcolare almeno alcuni punti a partire dai dati OHLC grezzi.
- Verificare se le serie intermedie (+DM, −DM, TR, valori lisciati, +DI/−DI) corrispondono agli output del proprio strumento.
Se lo si desidera, indicare quale piattaforma o convenzione di formula si sta utilizzando (ad esempio, il periodo esatto e se lo smoothing è di tipo Wilder). In tal modo, i passaggi di calcolo sopra riportati possono essere mappati con precisione a quella convenzione, senza fare assunzioni sul comportamento attuale dei dati o del fornitore.