Indicatore di Correlazione con Tradingview

Indicatore di Correlazione con Tradingview

In questo articolo descriviamo come costruire un indicatore di correlazione con Tradingview da applicare alle strategie di trading algoritmico, che può essere utilizzato come alternativa all’indicatore integrato “Coefficiente di correlazione” di Tradingview. Con questo indicatore possiamo correlare fino a 3 diversi strumenti sulla stessa sottotrama. In questo modo, ad esempio, possiamo facilmente vedere la correlazione tra strumenti diversi come azioni, obbligazioni e FX. In alternativa, possiamo vedere la correlazione con il settore, l’industria o qualsiasi altro dato disponibile in Tradingview.

Cos’è la correlazione?

Prima di descrivere il codice, introduciamo i concetti basi della correlazione e come può essere applicata al trading. Il termine correlazione è usato per descrivere una relazione tra due variabili, elementi, oggetti o cose. Le variabili/dati correlati si muovono in modo proporzionale l’uno con l’altro e, quindi, possiamo dedurre/assumere che hanno qualche tipo di relazione tra loro. La relazione potrebbe essere di tipo “causa ed effetto” in cui una variabile guida l’altra o entrambe potrebbero essere influenzate dallo stesso fattore esterno.

I seguenti termini possono essere utilizzati per descrivere il tipo di correlazione tra le variabili:

  • Correlazione postiva: viene usata quando la variable A aumenta e anche la variable B aumenta nello stesso tempo. Ad esempio, possiamo dire che esiste una correlazione tra il numero di Big Mac che una persona mangia a settimana e il suo grasso corporeo.
  • Correlazione negativa : detta anche correlazione inversa, descrive la relazione dove la variable A aumenta mentre  la variable B diminuisce. Facendo un ulteriore passo avanti nell’esempio del Big Mac, si potrebbe dire che esiste una correlazione inversa tra i pasti del Big Mac e l’aspettativa di vita.
  • Correlazione spuria: questa è la correlazione pericolosa. È un termine dato a due elementi o insiemi di dati che sembrano avere un’elevata correlazione ma in realtà non sono correlati. Ciò può facilmente accadere con set di dati che aumentano o diminuiscono di una quantità proporzionale in un dato periodo di misurazione. C’è un ottimo sito Web che elenca alcune divertenti correlazioni spurie e ci permette di capire che non tutti gli elementi correlati hanno una valida relazione tra loro. http://www.tylervigen.com/spurious-correlations.

Coefficiente di correlazione

Dopo aver definito le correlazioni, abbiamo bisogno di un modo per misurarle. È qui che entra in gioco il coefficiente di correlazione. È una formula matematica che si traduce la correlazione in un valore numerico tra -1 e 1. Di seguito vediamo alcuni esempi su come leggere i valori prodotti dal coefficiente di correlazione.

Casi d’uso

Avere una comprensione della correlazione può aiutare un trader ad anticipare i movimenti dei prezzi e comprendere la relazione tra diversi strumenti o classi di asset. Se esiste una correlazione nota, il trader può esaminare l’altro asset per vedere se sta confermando una configurazione o forse ottenere una migliore comprensione di ciò che sta guidando l’attuale movimento dei prezzi.

La correlazione è essenziale anche per un tipo di strategia nota come pairs trading. In questa strategia, un trader monitora una coppia di titoli altamente correlati nel lungo termine. Ad esempio Coca-Cola e Pepsi o Ford e GM. Se per qualche motivo diventano non correlati nel breve termine, il trader può contemporaneamente andare long su un titolo e  short sull’altro fino a quando non saranno nuovamente correlati. La speranza è che uno dei titoli mossa muoversi  ulteriormente prima che ritornino nuovamente ad essere correlati con un conseguente profitto.

Infine, per gli investitori, comprendere la correlazione può aiutare a garantire che il loro portafoglio sia diversificato e ridurre la volatilità investendo in asset che non siano altamente correlate tra loro.

Indicatore di correlazione con Tradingview

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

p = input(defval=200, title='Correlation Period')
inst1 = input(defval='LSE:VUKE', type=symbol, title='Stocks')
inst2 = input(defval='LSE:VGOV', type=symbol, title='Bonds')
inst3 = input(defval='OANDA:GBPUSD', type=symbol, title='Forex')

inst1_data = security(inst1, period, close)
inst2_data = security(inst2, period, close)
inst3_data = security(inst3, period, close)

inst1_corr = correlation(close, inst1_data, p)
inst2_corr = correlation(close, inst2_data, p)
inst3_corr = correlation(close, inst3_data, p)

h1 = hline(1, linestyle=solid, color=black, linewidth=3)
h2 = hline(-1, linestyle=solid, color=black, linewidth=3)
h3 = hline(0, linestyle=dashed, color=black)
h4 = hline(0.70, linestyle=solid, color=black, linewidth=1)
h5 = hline(-0.70, linestyle=solid, color=black, linewidth=1)
h6 = hline(-0.30, linestyle=solid, color=black, linewidth=1)
h7 = hline(0.30, linestyle=solid, color=black, linewidth=1)
fill(h4,h1, color=green, transp=80)
fill(h5,h2, color=red, transp=80)
fill(h6,h7, color=silver, transp=80)

plot(inst1_corr, style=line, title='Inst 1', linewidth=4)
plot(inst2_corr, style=line, color=lime, title='Inst 2', linewidth=4)
plot(inst3_corr, style=line, color=orange, title='Inst 3', linewidth=4)
				
			

Commenti e note

Tradingview fornisce una comoda funzione correlation() che ha facilitato l’implementazione del codice. Per questo motivo, la maggior parte del codice è incentrata sull’importazione dei dati e sulla loro corretta rappresentazione grafica. Pertanto, questo codice fornisce alcune utili livelli in modo che un trader  può facilmente vedere le aree chiave. I livelli sono stati presi da un bell’articolo di Dummies su come interpretare i livelli dei coefficienti di correlazione.

Fonte: http://www.dummies.com/education/math/statistics/how-to-interpret-a-correlation-coefficient-r/

In statistica, il coefficiente di correlazione  r  misura la forza e la direzione di una relazione lineare tra due variabili su un grafico a dispersione. Il valore di  r  è sempre compreso tra +1 e –1. Per interpretare il suo valore,  possiamo usare i seguenti livelli:

  • Esattamente  – 1.  Una perfetta relazione lineare indiretta (negativa).

  • – 0,70. Una forte relazione lineare indiretta (negativa).

  • – 0,50. Una moderata relazione indiretta (negativa).

  • – 0.30. Una debole relazione lineare indiretta (negativa).

  • 0.  Nessuna relazione lineare

  • +0,30.  Una debole relazione lineare diretta (positiva).

  • +0,50.  Un rapporto in moderata diretta (positivo).

  • +0,70.  Una forte relazione lineare diretta (positiva).

  • Esattamente +1.  Una perfetta relazione lineare diretta (positiva).

Come mostrato dal successivo grafico, le zone chiave sono colorate dal codice dell’indicatore. Sopra 70 abbiamo una forte correlazione positiva e ha uno sfondo verde. Al contrario, qualsiasi valore inferiore a -70 indica una forte correlazione negativa, mostrato con un colore rosso nei grafici. Infine, valori compresi tra 30 e -30 indicano che gli strumenti non sono correlati. Questa è un’informazione altrettanto preziosa ed è quindi evidenziata.

Il codice per creare un indicatore di correlazione con Tradingview consente di correlare tra loro solo 3 strumenti. Ho scoperto che l’aggiunta di più strumenti ha ridotto significativamente la leggibilità dell’indicatore. Tuttavia, se vogliamo aggiungerne altri, è sufficiente un semplice copia e incolla.

Per esaminare le correlazioni a lungo termine o a breve termine, dobbiamo modificare il periodo. L’impostazione predefinita dello script è 200, che come una media mobile di 200 giorni fornisce una visione a lungo termine della correlazione senza troppo rumore.

I grafici

Nel seguente grafico vediamo la correlazione di ENI con il FTSE MIB, i BTP a 10 anni e EURUSD.

Tradingview Grafico ENI

In questo esempio possiamo vedere che c’è stata una correlazione a lungo termine tra ENI e il FTSE MIB maggiore che tra ENI e i titoli di stato italiani.

Correlazione a lungo termine vs a breve termine:

Nel seguente grafico, abbiamo Intesa San Paolo vs Unicredit e i titoli di stato italiani

Tradingview Grafico Intesa

In questo esempio, la correlazione tra Intesa e Unicredit è indicata con la linea blu, inoltre abbiamo sovrapposto il grafico dei prezzi di chiusura di UCG al grafico delle candele di ISPPossiamo vedere che nel lungo periodo Intesa San Paolo e Unicredit sono altamente correlati. Tuttavia, nel breve periodo  ci sono momenti con minore correlazione (sempre positiva).

Codice completo

In questo articolo abbiamo descritto come costruire un indicatore di correlazione con Tradingview da applicare alle strategie di trading algoritmico, Per il codice completo riportato in questo articolo, si può consultare il seguente repository di github:
https://github.com/datatrading-info/TradingView

Scroll to Top