gli Indicatori per l'Analisi della Correlazione dell'Oro con Tradingview

Indicatori per analisi della correlazione dell’oro con Tradingview

In questo articolo descriviamo come costruire ed usare gli Indicatori per l’analisi della correlazione dell’oro con gli altri mercati tramite gli strumenti di Tradingview per il trading algoritmico. Nell’articolo relativo all’introduzione alla correlazione dell’oro con gli altri mercarti abbiamo scoperto che esiste una significativa correlazione negativa tra l’oro e l’indice del dollaro statunitense.

E’ quindi interessante fare ulteriori approfondimenti e confrontare candela per candela l’oro con l’indice del dollaro USA. In particolare vogliamo analizzare la frequenza con cui i due asset si muovono in senso inverso ed eventualmente individuare altri movimenti interessanti tra i due asset. Per raggiungere questo obiettivo, creiamo un indicatore personalizzato su Tradingview. Innanzitutto, analizziamo i risultati dell’indicatore tramite i grafici, quindi creiamo un secondo indicatore per confermare o smentire le nostre osservazioni e fornire statistiche concrete.

Indicatori per analisi della correlazione dell’oro

Il primo indicatore misura la variazione percentuale tra il prezzo open e il prezzo close per ogni candela e la confronta con la stessa variazione percentuale di un’asset alternativo. Nel nostro caso, l’asset alternativo sarà l’indice del dollaro statunitense. Inoltre, prevediamo di colorare lo sfondo quando i due asset si muovono nella stessa direzione in modo da vedere più facilmente quando i due asset si muovono insieme e individuare i trend al momento giusto.

Codice

				
					//@version=3
study("Synergy")

// Select del secondo asset
alt_sym = input("FX:USDOLLAR", type=symbol, title='Comparison Symbol')

// Ottenere OHLC del secondo asset
alt_o = security(alt_sym, period, open)
alt_h = security(alt_sym, period, high)
alt_l = security(alt_sym, period, low)
alt_c = security(alt_sym, period, close)

change = ((close - open) / open) * 100
alt_change = ((alt_c - alt_o) / alt_o ) *100

// Impostazione colore dello sfondo se entrambi gli strumenti si muovono nella stessa direzione
bg_col = (change > 0 and alt_change < 0) or (change < 0 and alt_change > 0) ? na :
  (change != 0 and alt_change == 0) or (change == 0 and alt_change != 0) ? na : black
bgcolor(bg_col, transp=90)

// Grafico
plot(alt_change, style=columns, color=blue)
plot(change, style=columns, color=orange)
				
			

Il grafico

Caricando l’indicatore su “XAUUSD”, otteniamo il seguente grafico:

gli Indicatori per l'Analisi della Correlazione dell'Oro con Tradingview

Le barre gialle mostrano la variazione percentuale del prezzo dell’oro. Le barre blu mostrano la variazione percentuale del prezzo dell’indice del dollaro USA. Se la barra è sopra lo zero, significa che l’asset ha chiuso al rialzo, mentre se è inferiore a zero l’asset ha chiuso al ribasso. Infine, le barre grigie mostrano le barre dove i due asset chiudono nella stessa direzione.

Analisi 

Per prima cosa, selezioniamo alcuni timeframe e descriviamo alcune osservazioni. Per cercare di avere una certa uniformità tra i confronti, esaminiamo le ultime 300 barre per ogni timeframe. Sottolineiamo che questi confronti sono un po’ imperfetti in quanto stiamo osservando solamente un singolo periodo di tempo/ciclo di mercato. In un mondo ideale, dovremmo ripetere questa analisi per altri periodi di tempo/cicli di mercato. Su Tradingiview possiamo lavorare solo con i dati che abbiamo e per i timeframe inferiori possono essere solamente di un paio di settimane. Possiamo comunque ripetera parte di questi test su timeframe superiori.

gli Indicatori per l'Analisi della Correlazione dell'Oro con Tradingview
TF a 1 minuto
gli Indicatori per l'Analisi della Correlazione dell'Oro con Tradingview
TF a 15 minuti
gli Indicatori per l'Analisi della Correlazione dell'Oro con Tradingview
TF a 1 ora
gli Indicatori per l'Analisi della Correlazione dell'Oro con Tradingview
TF a 4 ore
gli Indicatori per l'Analisi della Correlazione dell'Oro con Tradingview
TF a 1 giorno
gli Indicatori per l'Analisi della Correlazione dell'Oro con Tradingview
TF a 1 settimana

Osservazioni

  • In tutti i timeframe, gli strumenti sembrano muoversi in direzioni opposte più frequentemente rispetto ai movimenti nella stessa direzione.
  • Il timeframe a 1 minuto ha il maggior numero di barre dove i due strumenti hanno movimenti in direzioni opposte (ma dovremmo essere scettici per i motivi descritti precedentemente)
  • I trend in cui i due strumenti si muovono nella stessa direzione raramente durano più di 4  barre.
  • I grandi movimenti del dollaro USA portano sempre l’oro a muoversi nella direzione opposta
  • Il dollaro USA può muoversi nella stessa direzione di un grande movimento dell’oro, solitamente con un movimento molto piccolo.
  • L’oro sembra essere più volatile dell’indice del dollaro USA.

Conferme Statistiche

Dopo aver descritto alcune osservazioni generali, vediamo se possiamo confermare alcune di queste osservazioni con qualche statistica. A tale scopo modifichiamo ed estendiamo gli indicatori per analisi della correlazione dell’oro per fornire le seguenti statistiche:

  1. Una percentuale che mostra la frequenza con cui i due asset si muovono nella direzione opposta in un determinato intervallo di tempo.
  2. Allo stesso modo, un’altra percentuale  che mostra la frequenza con cui i due asset si muovono nella stessa direzione nello stesso intervallo di tempo.
  3. Contare il numero di volte (occorrenze) dove i due asset si muovono nella stessa direzione per più di 4 barre.
  4. Contare il numero di volte in cui il dollaro USA si muove più del x%.
  5. Contare il numero di volte in cui l’oro si è mosso nella stessa direzione del dollaro USA quando il dollaro USA si è mosso più del x%.

Codice

				
					//@version=3
study("Synergy Stats")

alt_sym = input("FX:USDOLLAR", type=symbol, title='Comparison Symbol')
lkb = input(300, title='Lookback Period For Summing')
bars = input(4, title='Both Instruments in Sync > x bars')
thresh = input(0.1, step=0.1, title='Alt Instrument Change Threshold %')

// Otteniamo i dati per il secondo asset
alt_o = security(alt_sym, period, open)
alt_h = security(alt_sym, period, high)
alt_l = security(alt_sym, period, low)
alt_c = security(alt_sym, period, close)

// Work out the candle sentiment - this will help us later
sent = open < close ? 1 : open > close ? -1 : 0
alt_sent = alt_o < alt_c ? 1 : alt_o > alt_c ? -1 : 0

change = ((close - open) / open) * 100
alt_change = ((alt_c - alt_o) / alt_o ) *100

// Osservazione:
// ------------
// In tutti i timeframe gli asset di muovono in direzioni opposte più frequentemente
// che nella stessa direzione
// -----------------------------------------------------------------------------
in_sync = sent == alt_sent ? 1 : 0
opposite = sent != alt_sent ? 1 : 0

count_in_sync = sum(in_sync, lkb)
count_opposite = sum(opposite, lkb)

perc_in_sync = (count_in_sync / lkb) * 100
perc_opposite = (count_opposite / lkb) * 100

bg_col = (change > 0 and alt_change < 0) or (change < 0 and alt_change > 0) ? na :
  (change != 0 and alt_change == 0) or (change == 0 and alt_change != 0) ? na : black
bgcolor(bg_col, transp=90)


// Osservazione:
// ------------
// A. Trend dove i due asse si muovono nella stessa direzione per più di 4 barre
//
// B. Il timeframe a 1 minuti ha la maggioranza delle barre dove i due asset si muovono in
// direzioni opposte.
// -----------------------------------------------------------------------------
trend_count(bars)=>
    result = 1
    for i = 0 to (bars)
        if sent[i] != alt_sent[i]
            result := 0
            break
    result

in_sync_trend = trend_count(bars)

// Cattura i casi dove il trend continua per 6, 7 o 8 barre. Conteggiamo questi come una sola occorenza
count_in_sync_trend = in_sync_trend[1] == 0 and in_sync_trend[0] == 1 ? 1 : 0
total_in_sync_trend = 0
total_in_sync_trend := count_in_sync_trend == 1 ?  nz(total_in_sync_trend[1]) + 1 : total_in_sync_trend[1]


// Osservazioni:
// ------------
// Grandi movimenti nel dollaro USA provocano movimento dell'oro nella direzione opposta
// -----------------------------------------------------------------------------
above_thresh = alt_change > thresh
count_above_thresh = 0
count_above_thresh := above_thresh ? nz(count_above_thresh[1]) + 1 : count_above_thresh[1]
above_thresh_and_in_sync = 0
above_thresh_and_in_sync := above_thresh and in_sync ? nz(above_thresh_and_in_sync[1]) + 1 : nz(above_thresh_and_in_sync[1])

// GRAFICO
// ---------
plot(perc_in_sync, style=line, color=green, title='Percentage: Instruments Are In Sync')
plot(perc_opposite, style=line, color=red, title='Percentage: Instruments Are Moving Opposite')
plotshape(count_in_sync_trend == 1, style=shape.triangleup, color=purple, location=location.bottom, title='Marker: Trend In Sync > x Input')
plotshape(above_thresh, style=shape.triangledown, color=blue, location=location.bottom, title='Marker: Alt Instrument > x Threshold')
plot(total_in_sync_trend, style=stepline, color=purple, title='Count: Trend In Sync > x Input')
plot(above_thresh_and_in_sync, style=stepline, color=blue, title='Count: Number of times Alt Instrument > x Threshold and In Sync')
plot(count_above_thresh, style=stepline, title='Count: Number of times Alt Instrument > x Threshold')
				
			

Analisi

Iniziamo con le prime due osservazioni, cioè che i due strumenti si muovono direzioni opposte nella maggioranza delle barre e che questo comportamento è prevalente sul grafico a 1 minuto. Se carichiamo il nuovo indicatore sul grafico a 1 minuto, possiamo vedere che, a parte un breve periodo intorno al 14 dicembre, non scendiamo mai sotto l’80% per un intervallo di 300 bar.

gli Indicatori per l'Analisi della Correlazione dell'Oro con Tradingview
gli Indicatori per l'Analisi della Correlazione dell'Oro con Tradingview

Dalle statistiche vediamo che la percentuale approssimativa/media che i due asset si muovono in direzioni opposte sui diversi timeframe si suddivide come segue:

  • 15M: si aggira intorno al 70%
  • 1H: si aggira vicino a circa il 70%
  • 4H: è meno coerente, più frequentemente varia dal 60 all’80%
  • 1D: simile al precedente, con un intervallo dal 60 al 77%
  • 1W: si aggira intorno al 70%

Quindi, con questa analisi, possiamo vedere che esiste una chiara correlazione negativa tra gli strumenti coerente su tutti i timeframe. Questo dimostra la correlazione negativa che abbiamo scoperto nel precedente articolo. Queste statistiche, tuttavia, ci forniscono una nuova prospettiva dato che abbiamo la frequenza dei movimenti inversi. Inoltre, abbiamo scoperto che il grafico 1M conferma la nostra osservazione iniziale.

I trend nella stessa direzione

Passando a un’altra osservazione, usiamo lo stesso indicatore per fornire informazioni relative al numero di volte dove i due strumenti si muovono in sincronia per più di 4 barre. In questo esempio, siamo interessati alla linea viola che mostra quante volte un trend è durato più a lungo di un valore specificato in input:

Tradingview-Sinergy_Stats-Trend-Count

Con i seguenti risultati:

Tradingview-Sinergy_Stats-Trend-Count-Risultati

Vediamo che l’osservazione sembra avere un certo peso. E’ interessante notare che le occorrenze sembrano aumentare man mano che ci  spostiamo su timeframe superiori (fino a un certo punto) con un picco per il timeframe a 4 ore. 

I movimenti dell’oro sono inversi ai movimenti del dollaro USA

Ora passiamo all’ultima osservazione da testare. Per questa statistica, contiamo il numero di occorrenze invece che le percentuali. Dopotutto, non significa molto se l’80% delle volte l’oro è influenzato negativamente da un movimento ampio del dollaro USA se quel movimento si è verificato soltanto 5 volte in totale. Ci concentriamo sulle linee blu dell’indicatore che ci mostrano quante volte il movimento tra l’apertura e la chiusura del dollaro USA è stato maggiore della soglia predefinita, quante volte l’oro si è mosso nella stessa direzione.

Tradingview-Sinergy_Stats-Open-to-Close-Count

Durante questi test, l’input deve essere modificato a seconda del timeframe. Abbiamo provato ad usare un valore su ogni timeframe che ha prodotto tra 100 e 200 occorrenze. In altre parole, un movimento più ampio per quel timeframe, ma non eccessivamente raro in modo che le statistiche siano prive di significato.

Tradingview-Sinergy_Stats-Open-to-Close-Count-Risultati

Da notare che i timeframe a 1 minuto e a 1 settimana sono stati omessi dal test perchè è stato difficile ottenere un buon numero di occorrenze. Il settimanale non disponeva di dati sufficienti e i dati ad 1 minuto sembravano troppo sensibili a piccole modifiche dell’input. Una modifica del 0.001 ha causato una variazione da 79 a oltre 350  di occorrenze! I risultati sono di nuovo piuttosto  interessanti e inaspettati. Per prima cosa notiamo che l’osservazione iniziale  relativa ad un movimento  dell’oro in direzione opposta ad un movimento ampio del dollaro USA non è verificata! Inoltre, sembra che l’oro sia meno influenzato dalla forza del dollaro, all’aumentare del timeframe. Dobbiamo comunque segnalare che sul timeframe giornaliero, l’oro si muove in sincronia con il dollaro USA solo il 24% delle volte (da 137 movimenti forti a 33 movimenti sincronizzati)!

Nota sulla visibilità

Poiché l’indicatore traccia sia i conteggi che le percentuali, a seconda delle impostazioni, la scala a volte può diventare un po’ confusa. Questo può rendere difficile la lettura delle linee percentuali se i conteggi sono molto alti. In questi casi vale la pena ricordare che le linee che non ci interessano possono essere disattivate nella scheda stile in questo modo:

radingview-Sinergy_Stats-Style-Tab

Punti di attenzione e miglioramenti

L’indicatore non è perfetto. Può fornire risultati errati se osserviamo periodi in cui i due set di dati hanno una lunghezza diversa. In altre parole, i dati di un asset iniziano dopo i dati dell’altro. Vediamo il grafico settimanale, ad esempio:

gli Indicatori per l'Analisi della Correlazione dell'Oro con Tradingview

i dati sono effettivamente validi solo dopo che abbiamo abbastanza candele su ENTRAMBI i dataset per coprire il periodo di ricerca (nel nostro caso 300) perché abbiamo bisogno di molte candele di dati per calcolare il valore. Dato che il dataset per il dollaro USA inizia dopo l’oro, le candele precedenti dell’oro forniscono risultati  inutili. Ovviamente solo i calcoli che utilizzano un periodo di ricerca, come i calcoli percentuali sono influenzati dalla mancanza di dati. Come miglioramento possiamo aggiungere una data di inizio per evitare di eseguire calcoli fino a quando non avremo 300 barre di dati su entrambe gli asset.

Codice completo

In questo articolo abbiamo descritto come costruire ed usare gli indicatori per l’analisi della correlazione dell’oro con Tradingview per il trading algoritmico. Per il codice completo riportato in questo articolo, si può consultare il seguente repository di github:
https://github.com/datatrading-info/TradingView

Torna in alto
Scroll to Top