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”
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. 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 eseguiredir()
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()
mplfinance
, un modulo che permette di tracciare facilmente i dati finanziari.
import mplfinance as mpf
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"]
close
, high
, low
, open
, volume
ma matplotlib prevede l’ordine Open
, High
, Low
, Close
e Volume
.
ohlc = ohlc[['open', 'high', 'low', 'close', 'volume']]
ohlc.columns = ['Open', 'High', 'Low', 'Close', 'Volume']
mpf.plot(ohlc, type='candlestick')
Otteniamo un grafico simile al seguente.
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