Come si Calcola il TSI (True Strength Index)
Risposta diretta
Il TSI (True Strength Index) viene calcolato partendo da una serie di momentum, applicando due livelli di smoothing esponenziale sia al momentum che al suo valore assoluto, e formando quindi un rapporto. Poiché il risultato dipende dai periodi di smoothing scelti e dalla serie esatta di prezzi utilizzata, puoi verificare un valore del TSI solo utilizzando la stessa formula, gli stessi parametri e i medesimi dati.
Meccanismo: definizione, input e formula principale
Il TSI converte il movimento dei prezzi in un indice scalato in base all’entità del momentum recente. Il calcolo utilizza tipicamente questi elementi:
-
Scegliere una serie di prezzi
Scegli la serie di input utilizzata dall’indicatore (comunemente la serie dei prezzi di chiusura). Utilizza una frequenza coerente (ad esempio, barre giornaliere o orarie). Il valore dell’indicatore che calcoli sarà diverso se cambi la frequenza dei dati o il campo prezzo sottostante. -
Calcolare il momentum
Una definizione comune di momentum per il TSI parte dalla variazione di prezzo su un periodo:
- Sia (P_t) il prezzo scelto al tempo (t).
- Definisci il momentum (m_t = P_t - P_{t-1}).
- Doppio smoothing esponenziale
Il TSI applica medie mobili esponenziali (EMA) due volte:
- Prima, applica uno smoothing EMA veloce di lunghezza (N_1) alla serie del momentum.
- Poi, applica un secondo smoothing con un EMA lento di lunghezza (N_2).
Lo stesso processo a due passi viene applicato al momentum assoluto (|m_t|), poiché il TSI scala il momentum con segno in base all’entità del momentum recente.
Un modo standard per esprimere i componenti è:
- (s_t = EMA_{N_1}(m_t))
- (s’t = EMA{N_2}(s_t))
- (a_t = EMA_{N_1}(|m_t|))
- (a’t = EMA{N_2}(a_t))
- Formare l’indice come rapporto scalato
Infine, il TSI è tipicamente definito come percentuale del momentum doppiamente lisciato diviso per il momentum assoluto doppiamente lisciato:
- (TSI_t = 100 \times \frac{s’_t}{a’_t})
Significato del rapporto
- Il numeratore tiene traccia della direzione (poiché (m_t) può essere positivo o negativo).
- Il denominatore scala il valore in base all’entità del momentum recente (poiché utilizza (|m_t|), che è non negativo).
- La moltiplicazione per 100 è una scelta di scala; alcune implementazioni producono valori vicini a questa scala, altre no.
Parametri da specificare
Per calcolare il TSI, sono necessari almeno:
- (N_1): il periodo EMA veloce per momentum e momentum assoluto
- (N_2): il periodo EMA lento per il secondo smoothing
Esempio o prova: come riprodurre autonomamente un valore TSI
Per verificare autonomamente il calcolo, scegli una finestra temporale breve e calcola passo dopo passo utilizzando gli stessi input e parametri che intendi usare.
Un workflow concreto di verifica:
- Fissa i tuoi dati: scegli i valori (P_t) per un intervallo di date definito a una certa frequenza.
- Scegli (N_1) e (N_2).
- Calcola il momentum (m_t = P_t - P_{t-1}).
- Calcola (|m_t|).
- Calcola (EMA_{N_1}(m_t)) e (EMA_{N_1}(|m_t|)).
- Calcola (EMA_{N_2}) di ciascuna di queste serie intermedie.
- Calcola (TSI_t = 100 \times s’_t / a’_t) all’indice temporale specifico che vuoi verificare.
Assunzioni importanti per la riproducibilità
Diversi software grafici possono differire nei dettagli implementativi, quindi includi queste assunzioni quando riproduci i risultati:
- Inizializzazione EMA: le EMA richiedono un valore iniziale; le implementazioni possono partire dal primo dato, da un SMA iniziale o da altre convenzioni.
- Gestione dei periodi iniziali: prima che esistano abbastanza dati, alcuni output potrebbero essere indefiniti, ritardati o calcolati con inizializzazioni meno affidabili.
- Definizione esatta del momentum: alcune definizioni usano direttamente la variazione di prezzo; altre usano variazioni, ma la struttura chiave è il doppio smoothing di momentum e momentum assoluto.
Limitazioni e modi di errore: cosa può andare storto
-
Divisione per un denominatore piccolo
Poiché il TSI utilizza un rapporto con un denominatore basato sull’(EMA) di (|m_t|), il denominatore può diventare molto piccolo quando il momentum è vicino a zero per un periodo. Questo può rendere l’indice instabile o produrre valori che reagiscono fortemente a piccoli cambiamenti. -
Sensibilità ai parametri
Cambiare (N_1) e (N_2) modifica la reattività effettiva. Un (N_2) più lento (più grande) rende tipicamente l’indicatore più liscio e più lento a reagire. Questo influisce su qualsiasi confronto tra valori TSI calcolati con impostazioni diverse. -
Divergenza nel campo dati e nella frequenza
Il TSI calcolato da un campo prezzo (ad esempio, chiusura rispetto a un altro campo disponibile) o da una frequenza temporale non corrisponderà al TSI calcolato da un campo o frequenza diversi. -
Differenze nell’inizializzazione delle EMA
Anche se la formula sembra identica, modi diversi di inizializzare le EMA possono produrre valori diversi nei primi periodi. Se confronti il tuo TSI calcolato con un valore di una piattaforma, allinea il comportamento di inizializzazione o confronta solo dopo che siano trascorsi abbastanza periodi. -
Natura non predittiva delle trasformazioni
Il TSI è una rappresentazione trasformata del momentum. Un valore di indice calcolato non garantisce alcuna relazione futura con i rendimenti; le relazioni storiche possono cambiare con il regime di mercato, i costi, l’esecuzione e le condizioni dei dati.
Verifica: cosa controllare successivamente
Se il tuo obiettivo è spiegare accuratamente e verificare autonomamente il calcolo del TSI, conferma questi elementi nella tua configurazione:
- Quale serie di prezzi (P_t) viene utilizzata (e a quale frequenza).
- La definizione esatta di momentum usata per formare (m_t).
- Le lunghezze EMA (N_1) e (N_2).
- La convenzione di inizializzazione EMA (come vengono inizializzati i primi valori).
- Come l’indicatore gestisce i periodi iniziali o i casi in cui il denominatore è molto piccolo.
Se condividi i valori specifici dei parametri e la fonte dei dati che stai utilizzando (ad esempio, il campo prezzo e il timeframe), puoi replicare i passaggi con precisione e confrontare il tuo valore calcolato con l’output di riferimento.