Tutti i vantaggi e le opportunità dei sistemi di trading automatizzato: alla scoperta di Pyton. Parte 1
I sistemi di trading automatizzati sono sempre più in aumento, consentendo profitti negati ad altri trader.
Vorremmo darvi una panoramica sul mondo dei sistemi di trading automatizzati. Questo articolo segna l’inizio di una serie in più parti che usa il linguaggio di programmazione Python. Non serve altro che un computer, una connessione Internet e la curiosità per i sistemi di trading auto-programmati.
L’approfondimento è a cura di TRADERS’ Magazine Italia
I vantaggi di un sistema di trading automatizzato sono ovvi: il codice elabora i comandi senza emozione e senza bisogno di disciplina. In frazioni di secondo, possono essere eseguiti calcoli costosi che decidono se una nuova condizione di mercato è redditizia.
Un trader che scopre una tale opportunità senza il supporto di un software è una cosa che appartiene ormai al passato. Uno dei principali vantaggi dell’intera automazione è il backtesting. Immaginate una strategia che non sapete se è redditizia. Per verificarlo, dovreste lavorare con la strategia ed elaborarla a sufficienza. Questo vi verrà risparmiato nel backtesting.
Implementate questa strategia in un algoritmo di trading e potete utilizzare i dati storici per verificare come l’algoritmo ha agito nel passato. In questo modo, avrete la possibilità di escludere o adattare le strategie in perdita sin dall’inizio in modo che diventino redditizie. Per i trader professionisti, il backtesting è una parte cruciale del loro lavoro.
I fondamenti di un linguaggio di programmazione
Naturalmente, per programmare un algoritmo di trading è necessario un linguaggio di programmazione. Essi sono disponibili in diversi design e complessità. Una volta imparato questo, gli altri linguaggi di programmazione sono relativamente facili da apprendere. Traders’ ha già trattato in modo più dettagliato alcuni linguaggi di pro
grammazione negli ultimi anni.
Per riconoscere il significato di un linguaggio di programmazione, immaginate un computer. Ogni computer ha un processore (CPu) in grado di ricevere comandi e infine di eseguirli. Come programmatori potete scrivere tali comandi. Tuttavia, c’è un problema: il processore riconosce i comandi solo in versione codice macchina.
Queste sono sequenze criptiche di caratteri che sono appena leggibili da un essere umano. Questo problema è stato risolto programmando linguaggi comprensibili per l’uomo. I programmatori usano un editor per scrivere un codice sorgente in un modo facile da leggere (figura 1). Un codice sorgente è la raccolta di comandi in un linguaggio a voi comprensibile. Quando vengono eseguite, queste istruzioni vengono tradotte in un codice macchina e infine lette ed eseguite dal processore.
Python e il vostro broker
In questa serie vorremmo dare un’occhiata più da vicino al linguaggio di programmazione Python. Non solo è utilizzato dalla maggior parte dei ricercatori di dati e programmatori di intelligenza artificiale, ma può anche essere utilizzato per automatizzare una strategia e il backtest.
Il vantaggio di Python è che è molto facile da imparare e la funzionalità può essere notevolmente aumentata dalle librerie interne. Con l’utilizzo di API (Application Programming Interfaces, in termini semplici le interfacce) possono comunicare con la maggior parte dei broker e persino utilizzare le loro funzionalità integrate. Ad esempio, un broker ha predefinito la funzione “acquista titolo”, che consente di acquistare un titolo con un minimo sforzo di programmazione.
La funzione consente di specificare esattamente in quali condizioni e in quale quantità il titolo dovrebbe essere acquistato. Per garantire la comunicazione tra il server del broker e il vostro codice Python, è necessario chiedere l’attivazione dell’account API, a seconda del broker.
Riceverete quindi i dati di accesso per il server del broker e potrete quindi accedervi immediatamente utilizzando Python. Nient’altro che del vostro broker l’interfaccia grafica che già conoscete. Se avete effettuato l’accesso al vostro account, potete acquistare titoli premendo un pulsante specifico.
Dietro a questo pulsante si nascondono comandi simili che devono essere inseriti in Python per eseguire un’azione. Vorremmo tralasciare le varie API dei broker. Per fare questo, ci occupiamo delle nozioni di base, in modo che in seguito sia possibile lavorare con qualsiasi broker.
Iniziare con Python
La corretta installazione di Python è cruciale per un sistema di trading che si basa su di esso. In caso contrario, in seguito potrebbero verificarsi problemi con l’esecuzione dell’algoritmo. La risoluzione dei problemi è sempre difficile a posteriori.
Fortunatamente, Python aiuta con messaggi di errore concreti per trovare una soluzione al vostro problema. Per installare Python, scaricare la distribuzione gratuita di Anaconda contenente lo stesso Python, e le estensioni e gli strumenti importanti che sono di particolare rilevanza per voi come sviluppatori di algoritmi: essi possono svolgere molto lavoro per voi.
L’Anaconda Distribution è un distributore accessibile gratuitamente che consente agli utenti di installare in modo semplice e comodo il linguaggio di programmazione e altri strumenti utili. È possibile scaricare e installare l’ultima versione di Python su anaconda.com/download. Al momento la versione 3.6 è aggiornata e quindi raccomandata come introduzione.
Durante l’installazione, Python deve essere definito come variabile di ambiente e Python 3.x selezionato come predefinito. Le variabili di ambiente specificano il percorso concreto di un programma. Questo è importante per il sistema operativo per sapere dove si trova Python. Solo allora si potranno eseguire correttamente i programmi Python. All’interno dell’installazione nel sottomenu “Opzioni Avanzate” dovreste selezionare le seguenti due opzioni (figura 2): “aggiungi Anaconda alla mia variabile di ambiente PATH “e” registra Anaconda come il mio Python 3.x predefinito”.
La prima opzione aggiunge Python e la distribuzione Anaconda alle suddette variabili d’ambiente. La seconda opzione assicura che il Python installato dalla distribuzione Anaconda sia il vostro Python predefinito e che volete usarlo, ad esempio, quando eseguite programmi Python. È importante perché potrete gestire diverse varianti Python in parallelo.
Dopo l’installazione, il Navigatore Anaconda sarà disponibile per visualizzare i programmi precedentemente installati. In caso di difficoltà, potrete sempre accedere alla documentazione di Anaconda. Lì, il processo di installazione e altri dettagli della distribuzione sono spiegati in dettaglio. Questi possono essere trovati su docs.anaconda.
Se per qualche motivo non volete o non potete usare la distribuzione di Anaconda, troverete l’ultima versione di Python sul sito web python.org/downloads. Comunque, avete un editor per modificare i programmi Python assieme ad altri utili strumenti.
Conclusioni
Questa serie sarà composta da diverse parti, in modo che possa essere prodotto un vero e proprio riferimento pratico. Nella prima parte vi è stata presentata l’installazione. Nel prossimo articolo verrà spiegato il desktop e le funzioni di base. Le parti restanti, che trattano delle librerie in Python, riguardano la successiva implementazione di una strategia.
Nella parte finale leggerete tutto ciò che è importante sul backtesting. Se sentite già l’impulso di provare Python, vi consigliamo di dare un’occhiata al tutorial gratuito e dettagliato di Michael Markert.
© RIPRODUZIONE RISERVATA