Come vengono calcolati i Canali di Donchian
Risposta diretta
I Canali di Donchian si calcolano prendendo il prezzo più alto e il prezzo più basso in una finestra fissa di riferimento, quindi tracciando questi due estremi mobili come confini del canale. Una terza linea comune è il punto medio, solitamente la media tra i confini superiore e inferiore.
Un punto chiave per la verifica è che il calcolo dipende da cosa si intende per “prezzo” nel tuo dataset (ad esempio, massimi/minimi delle candele) e dalla lunghezza esatta della finestra di riferimento (spesso chiamata periodo). Se riesci a riprodurre questi input in modo coerente, puoi verificare autonomamente i valori dell’indicatore.
Meccanismo: definizioni e input
Idea principale
Per ogni istante (spesso ogni candela/barra), i Canali di Donchian utilizzano due funzioni mobili sugli ultimi N bar:
- Banda superiore = il massimo dei massimi negli ultimi N bar.
- Banda inferiore = il minimo dei minimi negli ultimi N bar.
Facoltativamente, molte implementazioni tracciano anche:
- Banda centrale = (Banda superiore + Banda inferiore) / 2.
Input da definire
Per calcolare i Canali di Donchian, servono:
- Una serie temporale di candele o barre (intervalli regolari) o un dataset equivalente con timestamp.
- Valori di massimo e minimo per ogni barra. L’uso di massimi e minimi è l’approccio più standard; usare i prezzi di chiusura porterebbe a un indicatore diverso, anche se talvolta chiamato impropriamente “Donchian”.
- Un periodo di riferimento N (ad esempio, 20 barre è comune in molti contesti, ma si può usare qualsiasi intero N).
- Una regola di allineamento: il valore al tempo t si calcola con le barre nella finestra che termina a t (o talvolta alla barra precedente, a seconda dell’implementazione). Nella verifica, segui la convenzione usata dall’implementazione.
Assunzioni per un’autoverifica
Quando verifichi i calcoli sui tuoi dati, assumi che:
- Le barre siano ordinate cronologicamente.
- Ogni barra abbia un massimo e un minimo.
- La finestra di riferimento comprenda esattamente gli N bar più recenti scelti.
- Non ci sia anticipazione: i valori superiore e inferiore al tempo t devono usare solo informazioni disponibili fino a t.
Formula: come si calcolano le bande
Sia:
- t l’indice della barra corrente.
- N il periodo di riferimento.
- High[i] il massimo della barra i.
- Low[i] il minimo della barra i.
Allora i Canali di Donchian sono tipicamente definiti come:
- Upper(t) = max(High[t−N+1], … , High[t])
- Lower(t) = min(Low[t−N+1], … , Low[t])
- Mid(t) = (Upper(t) + Lower(t)) / 2 (opzionale, ma comune)
Cosa significa “mobile”
“Mobile” significa che il massimo e il minimo vengono ricalcolati a ogni nuova barra:
- Passando da t a t+1, la finestra avanza di una barra.
- La barra più vecchia esce dalla finestra, e ne entra una nuova.
Per questo motivo le bande possono subire salti improvvisi: il massimo o il minimo possono cambiare all’improvviso quando un valore estremo entra o esce dalla finestra.
Esempio o verifica: calcolo manuale passo dopo passo
Supponiamo un dataset semplificato con periodo di riferimento N = 3. Per una data barra t, gli ultimi tre bar abbiano:
- High[t−2] = 1.1000, High[t−1] = 1.1030, High[t] = 1.1010
- Low[t−2] = 1.0950, Low[t−1] = 1.0960, Low[t] = 1.0970
Allora:
- Upper(t) = max(1.1000, 1.1030, 1.1010) = 1.1030
- Lower(t) = min(1.0950, 1.0960, 1.0970) = 1.0950
- Mid(t) = (1.1030 + 1.0950) / 2 = 1.0990
Ripetendo il calcolo per la barra successiva t+1, si elimina la barra più vecchia della finestra e si include il nuovo massimo e minimo. Se i tuoi risultati differiscono da un’implementazione, la causa è spesso una discrepanza negli input (massimi/minimi vs chiusure) o nell’allineamento della finestra (inclusione o esclusione della barra corrente).
Limitazioni e casi di errore comuni
1) Differenze nella definizione dei dati
Una causa frequente di errori è l’incoerenza tra le definizioni usate dai diversi fornitori di dati:
- Alcune fonti possono aggiustare i prezzi (più rilevante per serie storiche lunghe o certi mercati).
- La costruzione delle candele dipende dal feed, dal fuso orario e dal modo in cui la piattaforma aggrega i tick in barre.
- Periodi mancanti o con scarsa liquidità possono produrre valori anomali di massimo/minimo.
Anche con la formula corretta, due dataset possono generare canali diversi.
2) Confusione su “anticipazione” e allineamento
Se un’implementazione usa una finestra che termina alla barra successiva (volontariamente o per errore), potrebbe usare informazioni non disponibili al tempo t. Nella verifica, assicurati che:
- Il massimo/minimo al tempo t usi solo barre fino a t.
- Tu applichi la stessa convenzione di indicizzazione (finestra che termina a t vs a t−1).
3) Comportamento ai bordi della finestra
Nei primi bar, non è possibile calcolare le bande finché non sono disponibili almeno N bar. Alcune piattaforme mostrano valori vuoti o parziali. Questo influisce sui segmenti iniziali e su qualsiasi backtest che inizi troppo vicino all’inizio.
4) Gli estremi mobili sono sensibili ai picchi
Poiché la banda superiore è un massimo mobile e quella inferiore un minimo mobile, un singolo picco breve nel massimo o minimo può spostare un confine verso l’esterno per fino a N bar. In pratica, ciò significa che il canale può riflettere valori anomali piuttosto che movimenti sostenuti.
5) Il legame con le “implicazioni” non è automatico
Anche quando calcolato correttamente, il canale è solo una funzione descrittiva dei massimi e minimi passati. L’interpretazione dipende dal contesto e da regole aggiuntive. L’indicatore stesso non fornisce di per sé un segnale autonomo.
Verifica e domanda successiva
Per verificare autonomamente i Canali di Donchian:
- Scegli un periodo di riferimento N.
- Usa un singolo dataset coerente con massimo e minimo per ogni barra.
- Per alcuni timestamp selezionati, calcola Upper(t) come massimo mobile dei massimi e Lower(t) come minimo mobile dei minimi.
- Verifica se il punto medio corrisponde a (Upper + Lower)/2, se previsto.
- Controlla l’allineamento: conferma se la finestra include la barra corrente.
Se vuoi anche capire quando i Canali di Donchian si comportano diversamente da altri strumenti basati sulla volatilità o sull’intervallo, una domanda utile successiva è come cambia la definizione tra concetti correlati, in particolare se usano massimi/minimi, chiusure o intervalli medi.