Introduzione a QuantConnect

Il contenuto di questo sito è stato inizialmente focalizzato su due piattaforme. Per essere più specifici, tali piattaforme sono Backtrader e Tradingview. Il motivo è semplicemente che queste si sono rivelate per me le soluzioni migliori quando ho iniziato questo viaggio. Come la maggior parte delle persone, prima di decidere di investire il mio tempo in queste piattaforme, ho dato un’occhiata a diverse altre opzioni. QuantConnect era solo una delle tante altre piattaforme disponibili. Tuttavia, dopo aver trascorso un po’ di tempo a frugare nel sito, in quel momento ho deciso che QuantConnect non faceva per me. Di recente, ho capito che era tempo di dare un’altra occhiata. Dopotutto, la tecnologia si muove a un ritmo rapidissimo ed immaginavo che la piattaforma avrebbe potuto fare molta strada dopo la mia prima visita. Inoltre, dopo aver dedicato molto tempo allo sviluppo nelle altre piattaforme, ora ho una nuova prospettiva e una visione diversa di ciò che è importante per me. Quindi iniziamo un nuovo viaggio come principianti di questa piattaforma. Vediamo se l’erba è davvero più verde da quelli parti.

QuantConnect

Per quelli di voi che non ne hanno mai sentito parlare, QuantConnect è una piattaforma online che consente agli utenti di scrivere, collaborare e persino ottenere finanziamenti per algoritmi di trading. Il codice viene generalmente scritto nel browser e backtestato online utilizzando i dati e la potenza di calcolo di QuantConnects.

Link: https://www.quantconnect.com/

Introduzione

Prima di sviluppare il nostro primo script, fornirò alcune considerazioni iniziali (sia positive che negative) sulle caratteristiche generali della piattaforma. Ciò può aiutare i lettori a valutare rapidamente se continuare o meno questo viaggio. Innanzitutto, parliamo delle cose buone! Ci sono alcuni aspetti di QuantConnect davvero interessanti e verranno evidenziati man mano lungo questa serie di articoli. Ma quello che è veramente unico la grande quantità di dati storici che sono disponibili per gli utenti. È di facile accesso e quindi non c’è bisogno di lunghe, fatiche e costose ricerche per reperire e conservare i dati di cui abbiamo bisogno. Chiunque abbia mai provato, saprà bene che è un dispendio di tempo e di denaro! QuantConnect supporta anche numerosi linguaggi di programmazione (Python, C # e F). Questo è ottimo per una piattaforma online con perimetro semi-murato. Puoi programmare nel linguaggio che conosci, invece di dover imparare un linguaggio di scripting come Pine-Script di Tradingview.

Integrazione con il Broker

Un altro enorme vantaggio è la stretta integrazione con i maggiori broker per i trader retail. Ovviamente, anche Backtrader supporta l’integrazione con i broker, ma QuantConnect ha creato partnership ufficiali. Inoltre, forniscono macchine virtuali per facilitare la distribuzione di un algoritmo e garantire un solido tempo di attività. L’implementazione di un algoritmo live è semplice, basta premere un pulsante nella parte superiore dell’interfaccia utente e selezionare il proprio broker. Non sono necessarie modifiche al codice.
Se sei interessato al live trading, QuantConnect offre diversi tipi di abbonamenti per i server e gli account (il Backtesting è gratuito). Il prezzo per aprire un server di live trading è abbastanza ragionevole, solo $20 al mese. Questo ti dà pieno accesso all’infrastruttura e agli strumenti che impiegherebbero molto tempo per essere sviluppati in altri framework come Backtrader. Inoltre, se sei un cliente di Oanda, in realtà ti sovvenzionano il costo del server, rendendolo GRATUITO!

Una Visione Oggettiva

Se vogliamo dare un giudizio oggettivo, dobbiamo essere critici e onesti riguardo alle carenze della piattaforma (e ce ne sono alcune).

  • Lo sviluppo, il debug e il testing è un processo lungo e lento nel caso si utilizza la piattaforma online. L’esecuzione del codice, ogni volta, può richiedere fino a 30 secondi per compilare, analizzare ed eseguire il codice. L’analisi da sola richiede in media 15 secondi e questo deve essere fatto prima di vedere qualsiasi tipo di errore. Quindi, se stai esplorando o eseguendo il debug e provando cose diverse, preparati a lenti progressi. Ad essere onesti, sembra esserci un’opzione per lo sviluppo locale. Gli utenti possono scaricare il motore “lean” ed eseguirlo localmente. Tuttavia, credo che la maggior parte degli utenti occasionali / al dettaglio non seguirà questa strada.
  • Documentazione, anche se ce n’è molta, personalmente ho trovato difficile trovare quello che mi interessava. I programmatori C# hanno un’eccellente funzione di copilota che fornisce suggerimenti sulla documentazione e fornisce frammenti ci codice delle varie risorse online. Sfortunatamente, il copilota non è disponibile in Python, il mio linguaggio preferito.
  • USA – Centrico: i dati disponibili sono davvero spettacolari ma sono molto focalizzati sui mercati statunitensi. Se si desidera eseguire il backtest delle azioni nel resto del mondo, è comunque necessario procurarsi altri fornitori di dati. Detto questo, i dati del Forex, Crypto e CFD sono disponibili per le persone che non sono interessate alle azioni statunitensi.

Risorse Limitate

Poiché si sta usando le risorse di altre persone, ci sono alcune sensibili limitazioni. Ovviamente, QuantConnect non vuole che un utente blocchi accidentalmente il sistema o prosciughi tutte le risorse. Pertanto, sono state previste le seguenti limitazioni:

  • Limiti di stampa: ogni grafico è limitato a un certo numero di punti. Se si supera il numero massimo di punti, la stampa viene interrotta. Pertanto, se si desidera eseguire un backtest con molti dati, non sarà possibile tracciare completamente tutti i dati. Pertanto, la stampa deve essere eseguita durante periodi di test più brevi per verificare che l’algoritmo funzioni come previsto.
  • Limite di logging giornaliero. Ogni utente può creare solo x Kb nei file di log. Ciò significa che devi essere un po’ attento ai dati che decidi di stampare nei log e chiederti se sono veramente utili.
  • Pacchetti: poiché siamo in esecuzione in un sistema con un perimetro ben limitato, solo una manciata di pacchetti sono ufficialmente disponibili per l’importazione. Fortunatamente, i pacchetti che possiamo importare sono quelli più utilizzati e che probabilmente sono esenziali,  come Panda, Numpy, Sci-kit learn, statsmodels ecc.

Iniziamo

Il prossimo post relativo a QuantConnect riguarderà un’introduzione di base per iniziare a utilizzare Python su QuantConnect. Segue un formato simile (ove possibile) agli articoli introduttivi delle altre piattaforme descritte su DataTrading.info