come usare un Jupyter QuantBook

Come usare un Jupyter QuantBook con QuantConnect

QuantConnect offre un’ottima funzionalità che permette agli utenti di effettuare ricerche e generare idee di backtest. Questa funzionalità è l’integrazione con i notebook Jupyter, noti come “QuantBooks”, e possono essere usati per esplorare i dati in modo interattivo. Questo articolo  descrivere come usare un Jupyter “QuantBook” con Quantconnect per il trading algoritmico e iniziare ad analizzare alcuni dati OHLC.

Cos’è un QuantBook

È semplicemente un notebook Jupyter che può accedere all’API e ai dati di QuantConnect. E’ quindi un ottimo strumento per esplorare l’API ed eseguire alcune analisi sui dati storici senza dover eseguire backtest. Per ulteriori informazioni sui notebook Jupyter, si può leggere la documentazione su jupyter.org

Come usare un Jupyter QuantBook

La documentazione ufficiale non descrive come avviare un QuantBook. Fortunatamente è abbastanza facile una volta capito come fare.

Dichiarazione di non responsabilità: QuantConnect sviluppa attivamente e migliora molto spesso la propria applicazione web. Per questo motivo gli articoli su DataTrading.info, possono  diventare obsoleti con il passare del tempo. Questo è positivo perchè significa che Quantconnect è migliorato e mantenuto aggiornato in modo costante ed attivo. Tenendo presente quanto sopra le seguenti istruzioni sono corrette al momento della scrittura. 

Ogni algoritmo può contenere al suo interno uno o più QuantBook. In questo modo possiamo eseguire ricerche dedicate  per una specifica strategia. Possiamo quindi trovare il QuantBook all’interno dell’ambiente di sviluppo dell’algoritmo! 

Passaggi operativi

Innanzitutto, apriamo “Algorithm Lab” dal menu di livello superiore e quindi selezioniamo “Crea algoritmo”

come usare un Jupyter QuantBook
Successivamente, possiamo creare un modello per l’algoritmo usando alcuni blocchi di codice predefiniti. Tuttavia, per gli scopo di questo articolo creiamo semplicemente un “algoritmo modello di base”.
come usare un Jupyter QuantBook
Abbiamo ora un ambiente di sviluppo simile all’immagine seguente. Da notare che è presente una sezione Files nel riquadro di sinistra. All’interno di questo riquadro c’è  la sezione research.ipynb. Premendo il mouse su research.ipynb si avvia un notebook Jupyter contenente un esempio di base che mostra come tracciare le bande di Bollinger sullo SPY.
Quantconnect-Jupyter-Research-Section
Possiamo inoltre creare notebook aggiuntivi per il progetto facendo clic su “Aggiungi nuovo notebook”.

Analizzare i dati

Un QuantBook permette di esplorare i dati e il framework senza dover costantemente eseguire backtest. Questo è molto utile se stiamo sviluppando un alfa e non vogliamo aumentare il numero di backtest, è sufficiente guardare i dati o eseguire dir() su un oggetto. L’esempio predefinito mostra come acquisire alcuni dati.
				
					
QuantConnect Logo
# QuantBook Analysis Tool 
# For more information see [https://www.quantconnect.com/docs/research/overview]
qb = QuantBook()
spy = qb.AddEquity("SPY")
history = qb.History(qb.Securities.Keys, 360, Resolution.Daily)
 
# Indicator Analysis
bbdf = qb.Indicator(BollingerBands(30, 2), spy.Symbol, 360, Resolution.Daily)
bbdf.drop('standarddeviation', 1).plot()
				
			
Iniziamo a costruire il nostro codice partendo da questo esempio e usiamo i dati storici per tracciare un grafico a candele. Innanzitutto, import mplfinance, un modulo che permette di tracciare facilmente i dati finanziari.
				
						
import mplfinance as mpf
				
			
Successivamente, riduciamo la quantità di dati storici a 30 giorni. Ridurre la quantità di candele permette di visualizzare più chiaramente il grafico delle candele.
				
						
history = qb.History(qb.Securities.Keys, 30, Resolution.Daily)
				
			

Tutti i dati sono restituiti come un dataframe pandas. Pandas è una libreria di analisi dei dati molto popolare e ampiamente usata nel datascience. Ha molte funzioni utili per lavorare con set di dati di grandi dimensioni. Per ulteriori informazioni, si può leggere la  documentazione presente su pandas.pydata.org

Dopo aver acquisti i dati, dobbiamo estrarre i dati OHLC per SPY dal dataframe. All’inizio potrebbe sembrare poco intuitivo. Dato che possiamo richiedere contemporaneamente i dati per più strumenti, il dataframe può contenere al suo interno più di uno strumento.

				
						
ohlc = history.loc["SPY"]
				
			
Infine, dobbiamo rinominare e riorganizzare l’ordine delle colonne poiché QuantConnect fornisce i dati nell’ordine closehighlowopenvolume ma matplotlib prevede l’ordine OpenHigh, Low, Close e Volume.
				
						
ohlc = ohlc[['open', 'high', 'low', 'close', 'volume']]
ohlc.columns = ['Open', 'High', 'Low', 'Close', 'Volume']
				
			
Possiamo quindi visualizzare il grafico con:
				
					
mpf.plot(ohlc, type='candlestick')
				
			

Otteniamo un grafico simile al seguente.

Quantconnect-Jupyter-Final-Plot

Codice completo

In questo articolo abbiamo descritto come usare un Jupyter “QuantBook” con Quantconnect 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/QuantConnect

Gli altri articoli di questa serie

Benvenuto su DataTrading!

Sono Gianluca, ingegnere software e data scientist. Sono appassionato di coding, finanza e trading. Leggi la mia storia.

Ho creato DataTrading per aiutare le altre persone ad utilizzare nuovi approcci e nuovi strumenti, ed applicarli correttamente al mondo del trading.

DataTrading vuole essere un punto di ritrovo per scambiare esperienze, opinioni ed idee.

SCRIVIMI SU TELEGRAM

Per informazioni, suggerimenti, collaborazioni...

Scroll to Top