Python è un linguaggio di programmazione ad alto livello con strutture di dati combinate con la digitazione e associazione dinamica.
Questo lo rende utile per lo sviluppo rapido di applicazioni, di linguaggi di script e per collegare componenti di scrittura già preesistenti.
Si rivolge sia a sviluppatori esperti che a sviluppatori “occasionali”.
Grazie alla sua sintassi semplice e i costi di manutenzione bassi ne aumentano la facilità d’uso.
L’utilizzo di pacchetti enfatizza poi il riutilizzo del suo codice anche grazie alla presenza delle librerie gratuite disponibili.
Le caratteristiche principali di Python possono essere riassunte in questi punti:
- Open source, fornito senza licenza;
- Interpretato, si serve di un software chiamato interprete che interpreta il codice e lo esegue successivamente, legge ed esegue il codice sorgente del programma senza creare un file oggetto eseguibile.
- Multiparadigma, supporta diversi paradigmi di programmazione come quella imperativa, funzionale e procedurale;
- Multiuso, può essere utilizzato per la scrittura di codice semplice ed immediato o per applicazioni di grandi dimensioni;
- Multipiattaforma, disponibile per tutti i sistemi operativi.
Quindi l’ecosistema Python mette a disposizione un gran numero di librerie che generalmente devono essere importate o avviate come processo di sistema separato (ad esempio con l’ambiente di sviluppo Python).
Ma sono presenti diverse librerie già di default.
Python nel trading algoritmico e nel High Frequency Trading
Negli ultimi decenni sempre più istituzioni finanziarie come banche ed hedge funds si sono evolute in istituzioni tecnologiche, spinte dall’innovazione e dalla regolamentazione, traendone grossi vantaggi in merito.
Dal 2020 infatti le istituzioni finanziarie spenderanno circa, ogni anno, 500 miliardi di dollari per lo sviluppo, l’aggiornamento e l’implementazione delle loro reti e dell’ambiente tecnologico in cui operano.
Come risultato questo porterà ad aumento della velocità, della frequenza e dei volumi di dati in ingresso che verranno costantemente sottoposti ad analisi per effettuare previsioni e correlazioni economiche.
Elaborazione di dati, velocità di analisi e fondamenti teorici (basate appunto sulle “vecchie” teorie economiche) verranno sempre aggiornate con lo sviluppo degli ambienti di scrittura informatici.
In questo Python giocherà un ruolo fondamentale.
Anche perché grazie ad esso è possibile analizzare i dati in tempo reale, cosa non possibile fino a qualche decennio fa.

Disegnare un grafico in 5 step
Per disegnare un grafico su Python prenderemo in esempio nuovamente il titolo di Starbucks (SBUX), come fatto nello scorso articolo del blog.
Successivamente utilizzeremo un API finanziaria, come Yahoo Finance, per importare i dati giornalieri dell’azione come i prezzi e i volumi.
I passaggi sono i seguenti:
Installo, importo ed elaboro la libreria di yfinance e Matplotlib
pip install yfinance pip install matplotlib import yfinance as yf import matplotlib.pyplot as plt
Scarico i dati di SBUX Starbucks prendendo in esame il periodo dal 01 gennaio 2020 ad oggi
datiFinanziariStarbucks = yf.download('SBUX','2020-01-01','2021-09-16')
Stampo di dati di Starbucks necessari per andare poi successivamente a creare il grafico con Matplotlib
datiFinanziariStarbucks
Andiamo ora a disegnare il grafico tenendo conto delle adjusted close, ovvero le chiusure giornaliere ponderate per i dividendi, frazionamenti e nuove emissioni di azioni.
datiFinanziariStarbucks['Adj Close'].plot()

Ora un esempio più avanzato. Stampiamo sul grafico tutti i valori assieme (apertura, chiusura, massimo e minimo), inserendo il “figsize” di input 20 e 16, ovvero rispettivamente larghezza ed altezza espressa in pollici.
Le 4 linee disegnate ci permettono di tracciare ognuna singolarmente l’input che gli abbiamo inserito, differenziandole per colore. Abbiamo adottato un periodo di tempo di riferimento relativamente breve (dal 01/01/2020) in modo tale che le linee fossero ben distinte fra di loro.
La linea gialla rappresenta i prezzi di apertura giornalieri, la linea blu i prezzi di massimo, la linea verde i prezzi minimi e la liea rossa i prezzi di chiusura.
plt.figure(figsize=(20, 16)) plt.plot(datiFinanziariStarbucks['Open'], color='yellow', label="Prezzo apertura") plt.plot(datiFinanziariStarbucks['High'], color='blue', label="Prezzo massimo") plt.plot(datiFinanziariStarbucks['Low'], color='green', label="Prezzo minimo") plt.plot(datiFinanziariStarbucks['Close'], color='red', label="Prezzo chiusura")

Iscriviti alla nostra newsletter per rimanere sempre aggiornato/a e per ricevere il PDF con la lista dei data feed.