Trading, dati finanziari e Python

Scopri l'importanza dei dati finanziari e come importarli in 3 step con Python
il linguaggio di programmazione più utilizzato nel mondo fintech .

Condividi questo post

Condividi su linkedin
Condividi su facebook
Condividi su email
Condividi su twitter
Condividi su whatsapp
Condividi su telegram

Cosa sono i dati finanziari?

Sono sequenze di contenuti di dati finanziari che vengono presentate sotto forma di liste e riportano serie di informazioni utili e di diverse tematiche a chi dovrà in seguito elaborarle ed utilizzarle come base dati per lo sviluppo di trading system o di analisi di dati.


Importare i dati finanziari permette agli utenti di ricevere dati aggiornati dalle loro fonti e dalle origini dei dati stessi e possono essere importati direttamente dai database borsistici oppure da servizi di provider e broker specializzati.

In finanza sono di fondamentale importanza in quanto vengono utilizzati da grandi investitori, hedge fund o semplicemente trader retail per raccogliere i dati ed applicarli ai trading system per effettuare backtesting di strategie o per elaborare complessi studi di correlazioni tra asset e tra diversi mercati.

Possono essere elaborati con vari linguaggi di programmazione come Python, R, Pinescript di Tradingview e diversi altri.

I 3 qui citati sono i linguaggi più utilizzati nella creazione di trading system automatici.

Come vengono utilizzati in campo finanziario

I dati finanziari più utilizzati vengono importati da istituzioni finanziarie attraverso l’HFT (High Frequency Trading) per analizzare i movimenti dei sottostati finanziari come azioni, obbligazioni, commodities e valute in tempo reale.

Ad oggi gli investimenti effettuati in ampliamento, sviluppo e implementazione dell’intelligenza dei data feed ammontano a diversi miliardi di dollari ogni anno.

Istituzioni finanziarie come JP Morgan, Morgan Stanley e Moody’s Analytics sono le più avanzate attualmente nella loro raccolta, elaborazione e condivisione attraverso i provider più conosciuti.

Importare con Python dai provider di dati finanziari

Gli operatori a mercato importano i dati che contengono i dati come prezzo, volumi e open interest. Per importarli si possono utilizzare i provider più conosciuti come Yahoo Finance, Quandl, Interactive Brokers o Oanda, per esempio.

Più in basso abbiamo utilizzato proprio la libreria dati di Yahoo Finance per importare i data feed del titolo Starbucks (SBUX), e li abbiamo elaborati con Python.

Python è sicuramente uno dei linguaggi di scrittura ad alto livello più famosi e uno dei più utilizzati in campo fintech. Supporta diversi paradigmi di programmazione come quello object-oriented, quello imperativo e il funzionale.

E’ fornito di una libreria built-it molto ricca che gli permette di essere uno dei linguaggi più solidi in ambito tecnologico e, come detto, finanziario.

Cosa non meno importante è free software, gratuito, liberamente scaricabile e implementabile da tutta la community.

3 tipi di data feed a livello temporale

In finanza, nel High Frequency Trading e nel trading algoritmico esistono 3 tipi di dati finanziari, suddivisi per livello temporale, ovvero il tempo trascorso tra movimento del sottostante analizzato e importazione dei suoi dati.

Essi si dividono così:

  • In tempo reale, utilizzati spesso dai trader algoritmici che cercano di sfruttare lievi cambiamenti di prezzo. Solitamente sono molto costosi ed impegnativi ma perfetti per strategie di trading a bassi timeframe;
  • Feed ritardati, che si aggiornano in media ogni 15 minuti. Utilizzati da società e traders che investono a lungo termine e preferiscono un approccio meno speculativo;
  • Dati storici, permettono agli investitori di accedere a informazioni anche molto lontane nel tempo. Sono utili per testare le strategie nei trading system e per il backtesting.

Esempio di data feed da Yahoo Finance con Python in 3 step

E’ possibile importare ed elaborare dati finanziari in Python con dei “pezzi” di programma già pronti, comunemente chiamate librerie.

In questo modo possiamo sfruttare codice scritto da altri per ottenere quello che desideriamo in poche righe di codice personalizzando dei parametri che rendono dinamico il risultato.


Vediamo un esempio pratico e veloce con una libreria famosa chiamata “yfinance”.

Installo, importo ed elaboro la libreria di yfinance

pip install yfinance
import yfinance as yf

Scarico i dati di SBUX Starbucks prendendo in esame il periodo dal 01 gennaio 2010 ad oggi

datiFinanziariStarbucks = yf.download('SBUX','2010-01-01','2021-09-16')

Stampo i dati finanziari recuperati a schermo importando nella prima colonna la data di rilevazione e nella seconda il prezzo di apertura giornaliero.

Nella terza, quarta e quinta colonna rispettivamente il massimo, il minimo e la chiusura giornaliera del prezzo di Starbucks.

Nelle ultime due colonne ho stampato i dati relativi al Adjusted Close Price, ovvero il prezzo di chiusura aggiustato ai dividendi, ai frazionamenti e all’emissione di nuove azioni.

Infine nell’ultima colonna è riportato il volume delle transazioni, espresso in dollari, per ogni giornata di borsa.

datiFinanziariStarbucks

Qui il link per la documentazione ufficiale alla libreria Yfinance: https://pypi.org/project/yfinance/


Iscriviti alla nostra newsletter gratuita per ricevere il PDF con la lista dei provider di dati finanziari più utilizzati, e per molto altro.

Iscriviti alla nostra newsletter gratuita

Rimani aggiornato e impara sempre 😀

Altri articoli che potresti trovare interessanti

Fintech

La Modern Portfolio Theory

La Modern Portfolio Theory, una delle teorie di asset allocation di portafoglio più famose.
La relazione tra rischio e rendimento.

Fintech

Correlazione e backtesting

L’importanza della correlazione nello sviluppo di trading system e nella fase di backtesting di strategie, attraverso i dati in sample e out of sample.

Scopri la nostra academy

Diventa un Quant Trader e crea i tuoi trading system automatici