Cos’è un esempio pratico della Fisher Transform?
Definizione della Fisher Transform (cos’è)
La Fisher Transform è una trasformazione matematica utilizzata nell’analisi tecnica per convertire una serie di input (spesso derivata dal prezzo) in una serie di output che tende ad accentuare i punti di inversione. In termini semplici: ricalcola un valore “dove mi trovo rispetto al range recente?” in una scala con maggiore separazione vicino agli estremi.
Poiché si tratta di una trasformazione, l’output non è automaticamente un segnale di trading autonomo. È meglio comprenderla come un valore calcolato il cui comportamento dipende da come si definiscono input, finestra e scala.
Meccanica (come costruire un esempio pratico)
Un esempio pratico richiede assunzioni che non sono garantite esclusivamente dalla “realtà di mercato”. Ecco un modo autosufficiente per calcolarla numericamente.
Assunzioni per l’esempio
- Abbiamo una breve serie di cinque prezzi di chiusura: 100, 102, 101, 103, 104.
- Utilizziamo una lunghezza della finestra di 5 (quindi ogni passo considera lo stesso minimo e massimo sull’intero campione). Questa è un’assunzione semplificata per facilitare la verifica.
- Per ogni istante t, definiamo una posizione normalizzata x all’interno del range della finestra:
- Sia min = 100 e max = 104.
- Range = max − min = 4.
- x = (prezzo − min) / range, quindi x è in [0, 1].
- Quindi mappiamo x in un valore simmetrico limitato in (−1, 1) usando:
- p = 2x − 1.
- Quindi p è −1 quando prezzo = min e +1 quando prezzo = max.
- Per evitare valori indefiniti a ±1, limitiamo p a (−0.999, 0.999). Questa è una scelta implementativa; diversi software possono gestirlo in modo diverso.
- Utilizziamo una mappatura semplificata in stile Fisher con la formula base:
- f = 0.5 * ln((1 + p) / (1 − p)) dove ln è il logaritmo naturale.
Con queste assunzioni esplicite, qualsiasi lettore può riprodurre i calcoli aritmetici.
Calcolo passo-passo per l’ultimo punto
Per l’ultimo prezzo 104:
- x = (104 − 100) / 4 = 1
- p = 2(1) − 1 = 1
- limita p a 0.999
- f = 0.5 * ln((1 + 0.999) / (1 − 0.999)) = 0.5 * ln(1.999 / 0.001) = 0.5 * ln(1999)
Poiché ln(1999) ≈ 7.6009, f ≈ 3.8004.
Cosa cambia all’inizio della serie
Per prezzo 100:
- x = 0, p = −1 → limitato a −0.999
- f ≈ −3.8004
Per i prezzi intermedi, p cade tra −0.999 e 0.999, producendo valori compresi tra questi estremi. Questo è l’effetto di “accentuazione” in senso numerico: il logaritmo cresce rapidamente quando p si avvicina a ±1 (vicino al minimo o massimo della finestra).
Limitazioni e rischi (modalità di errore rilevanti)
- Sensibilità ai parametri. L’output dipende fortemente dalla lunghezza della finestra e dai valori esatti di minimo/massimo utilizzati. Cambiare la finestra modifica l’input normalizzato p, che a sua volta modifica f.
- Dettagli di implementazione. Diverse implementazioni possono usare variabili intermedie diverse (ad esempio, massimo/minimo mobile, diversi livelli di smoothing o regole di limitazione diverse). Anche con gli stessi prezzi, f può differire.
- Problemi ai bordi. Se p raggiunge esattamente ±1 e non viene gestito con limitazione o offset, la mappatura logaritmica può diventare indefinita o numericamente instabile.
- Non è una previsione autonoma. L’output della Fisher Transform è un valore trasformato, non una relazione causa-effetto garantita. I modelli storici in un determinato periodo non stabiliscono risultati futuri.
Verifica e una prossima domanda a cui puoi rispondere
Per verificare autonomamente l’esempio, ricalcola ogni passo utilizzando le stesse formule assunte: minimo/massimo, normalizzazione a x, mappatura a p, limitazione, quindi la trasformazione logaritmica. Se il valore calcolato differisce, il primo punto da controllare è la limitazione e la gestione dei bordi.
Una domanda utile successiva è: come definisce il tuo software scelto la serie di input e la finestra? La Fisher Transform è riproducibile solo quando la definizione dell’input e i dettagli della formula corrispondono.