BackTrader: Primo Script

Dopo aver creato il nostro ambiente di sviluppo, come descritto in questo articolo, è il tempo di scrivere il nostro primo script.

Obiettivo

Questo articolo ha lo scopo di creare una semplice strategia basata sugli indicatori, mantenendo il codice il più semplice possibile. Cercherò di evitare alcuni concetti più avanzati presenti nella documentazione e in Python in generale. Ad esempio le linee come:
            if __name__ == '__main__': 
        

non saranno inclusi poiché ritengo che per imparare è necessario che i principianti dovrebbero cercare di reperire le informazioni su internet ed inoltre non voglio distrarre il lettore dalle funzionalità strettamente legate alla strategia che si vuole implementare (anche se alcuni programmatori professionisti potrebbero deridere la qualità del codice).

Ambito di backtesting: Per motivi di semplicità, il tutorial non include le commissioni, lo spread o altre considerazioni di backtesting più avanzate come benchmarking, l’ottimizzazione e l’analisi dei trade. Ho anche scelto di escludere la stampa / log per mantenere il codice il più semplicepossibile. (Anche se penso che la stampa / log sia importante per il debug quando aumenta la complessità del codice!)

La Strategia

Al momento della stesura di questo articolo siamo in presenza di un lungo mercato rialzista. Quando si negoziano azioni in un tale mercato, è ragionevolmente pensare di andare long. La ragione di ciò è che si trovano sul lato giusto del momentum long alla base della dinamica ascendente.

Con questo in mente, divertiamoci un po ‘a implementare una strategia “solo long” che andrà long quando un semplice indicatore RSI giornaliero è ipervenduto e si mantiene la posizione fino a quando l’RSI non raggiungerà il livello di ipercomprato.

Entry

  • Quando RSI <30

Exit

  • Quando RSI> 70

Gestione del trade e dimensionamento delle posizioni

  • Non si implementa nessuna gestione del trade. Non è previsto nessun ridimensionamento in / out. Solo semplici acquisti e vendite con un’unica posizione aperta alla volta.
  • Per quanto riguarda le dimensioni della posizione, si semplifica le cose comprando / vendendo 100 azioni alla volta senza fare calcoli per vedere se abbiamo abbastanza liquidità per le dimensioni della posizione (se non abbiamo abbastanza liquidità, backtrader è abbastanza intelligente da rifiutare l’ordine)

Settaggio dell’indicatore

  • Periodo = 21
    Consente di utilizzare una finestra mobile più lunga rispetto ai 14 periodo standard. In teoria ciò dovrebbe tradursi nell’avere meno falsi segnali falsi e il prezzo dovrebbe scendere / aumentare di più prima di essere considerato ipercomprato / ipervenduto.
 

Requisiti

Questo script estrae i dati online da Yahoo. Penso che questo semplifichi le cose per un primo script in quanto non sarà scaricare ed utilizzare i propri dati. Tuttavia, per questo motivo, lo script richiede laa versione backtrader 1.9.49.116 o successiva a causa delle recenti modifiche nell’API di Yahoo.
Per verificare la versione di backtrader che stai utilizzando hai alcune opzioni. Per prima cosa puoi controllare il pip semplicemente digitando:

            pip3 list
        

(Nota per gli utenti di Windows: invece di “pip3” potrebbe essere “pip” se è installata solo una versione di python)

 

Quindi basta cercare la voce “backtrader” nell’output del precedente comando. Gli utenti Linux e Mac possono rendere questo processo un po ‘più veloce eseguendo il piping dell’output su grep.

            pip3 list | grep backtrader
        

Ho notato che su una delle mie macchine Linux, pip3 riportava una versione inferiore rispetto a quella effettivamente installata (non ho ancora capito perché). Quindi, se la versione segnalata non sembra corretta, puoi anche controllarla aprendo una shell python, importando backtrader e stampare la versione.

            import backtrader as bt
print(bt.__version__)
        

Se non si utilizza la versione più recente, avviare un terminale (o il prompt dei comandi) e digitare i seguenti comandi:

            pip3 install --upgrade backtrader
        


I risultati

Per vedere i risultati del test in un grafico bidimensionale, si può usare la libreria Python (esterna all’installazione standard) chiamata “Matplotlib”. Questo modulo è la libreria grafica defacto per molti scienziati, analisti e ricercatori che usano Python.

Assicurati di averlo installato aprendo un terminale o un prompt dei comandi e digitando:

            pip3 install matplotlib
        


Il Codice

Lo script è composto da due parti principali. La prima parte si crea una nuova classe dove implementare tutta la logica della strategia. Nella seconda parte si configura l’ambiente di esecuzione dello script (come aggiungere il framework, prevedere una fonte dati per i test, ecc.). Nota importante: in questo esempio si utilizza i dati disponibili con l’API di Quandl. Con questa API sei limitato al numero di chiamate che puoi effettuare al giorno. Per avere accesso illimitato ai loro dati è sufficiente registrarsi gratuitamente nel loro sito e richiedere una API key ed aggiungi la keyword apikey alla chiamata ai dati di quandl in questo modo (www.quandl.com):
            ​data = bt.feeds.Quandl(
    dataname='F',
    fromdate = datetime(2016,1,1),
    todate = datetime(2017,1,1),
    buffered= True,
    apikey="INSERT YOUR API KEY"
    )
        


Imports

            ​import backtrader as bt
from datetime import datetime
        

Il primo import dovrebbe essere abbastanza ovvia. Stiamo importando il framework backtrader. Inoltre, si importa il modulo datetime dalla libreria standard di Python. Questo è usato per impostare le date di inizio e fine del periodo di backtesting. Backtrader prevede di ricevere oggetti datetime durante la creazione di feed di dati. Per ulteriori informazioni sul modulo datetime, consultare la documentazione disponibile su:

docs.python.org/3/library/datetime.html

La strategia

            class firstStrategy(bt.Strategy):

    def __init__(self):
        self.rsi = bt.indicators.RSI_SMA(self.data.close, period=21)

    def next(self):
        if not self.position:
            if self.rsi < 30: self.buy(size=100) else: if self.rsi > 70:
                self.sell(size=100)
        

​Quando si crea una strategia in backtrader, si eredita molti metodi e attributi dalla classe base `bt.Strategy`. In parole più semplici, si sta fondamentalmente prendendo il template di una strategia che è stata scritta nel framework di backtest e aggiungendo la nostra logica sopra ad essa. Quando nella programmazione si usa l’ereditarietà, possiamo usare tutto il codice che è stato scritto nella strategia di base e sovrascrivere le parti che vogliamo cambiare. Ciò significa che non è necessario preoccuparsi di tutto il codice, dietro le quinte, che consente di interagire con i dati, gestire gli ordini, le notifiche dei broker e così via. E’ Il framework BackTrader che se ne occupa! La nuova classe della strategia può essere breve, pulita e di facile lettura. Tuttavia, se lo desideri, puoi scavare più a fondo e modificare il contenuto del nucleo della classe base.

La nostra classe si chiama firstStrategy (piuttosto originale) e contiene il codice per l’inizializzazione della strategia e il metodo “next”.

L’inizializzazione è solo una riga, vogliamo solo inizializzare un indicatore RSI dalla libreria di backtrader. Per fare ciò si aggiunge l’indicatore durante l’inizializzazione della strategia (__init__). Una volta impostato, backtrader si occupa di tenere traccia dei dati, calcolare i risultati e aggiungerli al grafico finale.

Se non conosci la programmazione, è importante notare che puoi chiamare il tuo indicatore RSI come preferisci, ma devi prefissarlo con “self”. Ciò ti consentirà di accedervi da altri metodi (chiamati anche “funzioni” quando non stiamo parlando di una classe). In questo caso, abbiamo semplificato la lettura del codice e inizializzato l’indicatore come “self.rsi”.

Il metodo next (funzione) viene chiamato ad ogni nuova barra o, in altre parole, ogni volta che viene ricevuta una nuova candela. È in questo metodo che si deve scrivere la logica “if this then that“. In questo esempio si controlla se siamo in posizione, dato che come prerequisito si prevede di effettuare un solo trade alla volta. Se non siamo in una posizione, allora si verifica il livello dell’indicatore RSI. Se è inferiore a 30, si acquista 100 azioni. Se è superiore non si fa nulla (Perché non abbiamo scritto alcun codice per ciò che accade quando l’RSI è sopra i 30 e non siamo in una posizione). Il secondo step della logica prevede le azioni da fare quando SIAMO già in una posizione. In questo caso si cerca un’opportunità di vendita. Se l’RSI supera i 70, si vende tutte le 100 azioni. Altrimenti, di nuovo non si fa nulla. Questo si ripete ogni volta che arriva una nuova candela (ogni giorno) fino a quando tutti i dati sono stati controllati.

Il Setup

            #Variable for starting cash
startcash = 10000

#Create instance of cerebro
cerebro = bt.Cerebro()

#Add strategy
cerebro.addstrategy(firstStrategy)

#Get Apple data from Yahoo Finance.
data = bt.feeds.Quandl(
    dataname='AAPL',
    fromdate = datetime(2016,1,1),
    todate = datetime(2017,1,1),
    buffered= True
    )

#Add the data to Cerebro
cerebro.adddata(data)

# Set desired cash start
cerebro.broker.setcash(startcash)
        

Dopo aver scritto la strategia, è necessario implementare il setup e all’esecuzione. Questo in sostanza si riduce a:

  • Chiamare il motore backtrader (cerebro)
  • Ottenere i dati storici e caricarli nel motore.
  • Impostazione della quantità di denaro che dobbiamo negoziare (startcash)
  • Caricare la strategia nel motore
  • Esecuzione del test
  • Monitorare i risultati

Alcune cose da sottolineare:

  • Durante la stampa, si utilizza l’argomento con keyword style = candlestick, se non lo si utilizza si ottiene un grafico a linee del prezzo di chiusura.
  • Durante l’inizializzazione del feed dei dati si richiama il modulo datetime, come sottolineato in precedenza. Stiamo passando un oggetto datetime agli argomenti della keyword fromdate e todate. Infine la keyword buffer indica che backtrader eseguirà il buffer di tutti i dati richiesti prima dell’inizio dell’analisi.

Eseguire lo script

Presumo che tu abbia svolto le lezioni di base su Python, come menzionato nel mio precedente post. Quindi copia il codice, aggiungi le parti basi del linguaggio, avvia lo script e controlla i risultati.

I Risultati

2 operazioni in profitto. Tasso di vincita del 100%. Saremo ricchi!

 

Tornando ad un tono più serio, prendi questi risultati con le pinze. Non abbiamo confrontato i risultati con un benchmark o una semplice strategia di “buy & hold”. Non abbiamo aggiunto commissioni e slippage, non disponiamo di dati di test a lungo termine sufficienti per convalidare la strategia. Un test per un titolo azionario in solo anno non dovrebbe riempirci di fiducia, ma almeno abbiamo creato una base per fare ricerche ulteriori.

Tradingview: il primo Script

Tradingview sta rapidamente diventando uno degli strumenti grafici più popolari del settore. Con i suoi strumenti di charting facili da usare, gli indicatori e l’integrazione con i social network, gli operatori hanno un set completo di strumenti per eseguire analisi tecniche e condividere idee. Oltre a ciò, Tradingview ha anche sviluppato un proprio linguaggio di scripting che consente agli operatori di creare indicatori personalizzati e sviluppare strategie.

Prima di entrare nel codice, per prima cosa. Se non lo hai già fatto, ti suggerisco di registrarti per un account sul sito Web Tradingview. Una volta che hai un account sarai in grado di salvare i tuoi script.

Quando ho iniziato a dare un’occhiata a Tradingview per effettuare un backtesting, sono rimasto colpito immediatamente dalla semplicità della piattaforma. Questo lo rende una scelta eccellente per i  principianti del backtesting. Non solo il linguaggio Pine Script è abbastanza semplice da capire, ma Tradingview rende molto facile l’accesso alle informazioni e tutorial.

Per esempio:

  • Passa il mouse sopra le funzioni per aiuto. Questo fornisce informazioni di aiuto in forma abbreviata.
  • Controllo della versione integrata. Ogni volta che premi il pulsante Salva, Tradingview salva lo script come una nuova versione. Questo semplifica la vita se accidentalmente vai troppo lontano dal percorso e devi tornare indietro.
  • CTL + Click per visualizzare la documentazione dettagliata (opzione + click per utenti Mac). Una cosa bella della finestra della guida pop-up è che puoi ancora digitare nel riquadro dello script dietro di essa. Non è necessario aprire e chiudere costantemente la schermata della guida mentre si lavora attraverso i parametri di input della una funzione.

Galleria (clicca su un’immagine per ingrandirla)

Un aspetto negativo che ho notato (al momento della scrittura) è non aver a disposizione (o non sono riuscito a trovarla) un’opzione per stampare le stringhe sulla console di output. Questo può rendere il debug un po ‘complicato. Soprattutto nei casi in cui si desidera verificare il valore di una determinata variabile.

La Piattaforma

Se sei completamente nuovo di tradingview, può essere utile esaminare le funzionalità di questa web-application e di come accedere all’editor del codice di pine-script.

Prima carica un grafico:

  • Apri Tradingview.
  • Fai clic su “Chart” nel menu della home page.
  • Se questa è la prima volta che usi la funzione di creazione di grafici, verrai rimandato ad un grafico. In caso contrario, verrà visualizzato un menu a discesa con un modello di grafico “senza nome”.
  • Il pine editor comprare sul fondo della pagina. Clicca sul tab del pine editor.
Quando si crea una strategia, non iniziare dalla pagina di default di pine script. Questo template è utilizzato per gli indicatori. Si può utilizzare uno specifico template per le strategie. Il template indicatore di default è simile a quanto segue:
Come puoi vedere è un po ‘spartano. Per avere un template base per una strategia devi fare clic su “Nuovo -> Script strategia vuoto”. In questo modo si ottiene un template di base per iniziare.
Si ottiene il template di un codice che assomiglia a quanto segue:

Come puoi notare, questo ci fornisce tutto il necessario per eseguire uno script:

  • La strategia è inizializzata
  • Viene fornito un trigger per andare long
  • Viene fornito un trigger per andare short.

Se vuoi, puoi andare avanti e premere il pulsante “Aggiungi al grafico” e avere il tuo primo script. Tuttavia, se vuoi andare un po’ oltre e apportare alcune modifiche, continua a leggere.

La Strategia

La strategia che implementeremo segue le stesse regole descritte nell’articolo “Backtrader: Primo Script“. L’ho fatto per coerenza e in modo che coloro che devono ancora decidere quale piattaforma utilizzare per il backtest possano avere un confronto coerente. È una semplicissima strategia long che ha l’obiettivo di rimanere dalla parte giusta di un mercato rialzista dei titoli azionari

Entry

  • Entrata Long quando RSI < 30

Exit

  • Entrata Long quando RSI > 70

Gestione del Trade e Dimensionamento della Posizione

  • Non è implementata nessuna gestione del trade e nessun ridimensionamento in / out. Solo semplici acquisti e vendite con un’unica posizione aperta alla volta.
  • Per quanto riguarda la posizione, si prevedono cose semplici e si mantiene il default proposto da Tradingview cioè quello di acquistare e vendere 1 contratto.

Parametri dell’Indicatore

  • Periodo = 21
  • Si utilizza un periodo di ricerca più grande rispetto a quello predefinito a 14. In teoria ciò si traduce in meno falsi segnali e il prezzo dovrebbe dimunuire / aumentare di più prima di essere considerato ipercomprato / ipervenduto.

Il Codice

            //@version=3
strategy("Simple RSI", overlay=true, initial_capital=10000, currency='USD')
 
fromYear = year > 2014
toYear = year < 2016
 
longCondition = rsi(close, 21) < 30 
if (longCondition and fromYear and toYear) 
    strategy.entry("Long 1", strategy.long) 

closeCondition = rsi(close, 21) > 70
if (closeCondition)
    strategy.close("Long 1")
        

Da notare la semplicità e la brevità di questo codice rispetto a quello descritto nell’articolo “Backtrader: primo Script“, si apprezza sicuramente quanto sia più facile iniziare a lavorare! Quello che si rinuncia in termini di funzionalità e di controllo, torna indietro in termini di semplicità e di tempo.

Se lo si confronta con il template vuoto della strategia vuoto mostrato in precedenza, si può notare le seguenti modifiche:

  • L’entrata short è stata convertita in una funzione di chiusura in modo da non andare short (in conformità con le regole della strategia)
  • Le funzioni del crossover SMA sono state modificate per verificare se l’indicatore RSI è sopra o sotto un certo livello.
  • L’istruzione if per la condizione long è stata estesa.

Per prima cosa diamo un’occhiata all’inizializzazione della strategia e parliamo di un’altra caratteristica davvero interessante. Ci sono pochissimi parametri obbligatori necessari durante l’impostazione della strategia. In realtà, è richiesto solo il titolo e corrisponde al nome con cui la strategia può essere salvata. Tutti i parametri della strategia possono essere modificati visivamente tramite un modulo nella scheda “strategie”. Abbastanza carino vero? Ma c’è di più, i parametri possono essere regolati qui in qualsiasi momento e i risultati presenti nel riepilogo delle prestazioni si aggiornano automaticamente quando si apportano talile modifiche.

Inoltre durante l’inizializzazione della strategia, ho aggiunto alcuni parametri opzionali:

            strategy("Simple RSI", overlay=true, initial_capital=10000, currency='USD')
        
Questi parametri (initial_capital and currency) impostano i valori predefiniti che si vedono nel pannello del tester della strategia, quando si preme il pulsante di configurazione:
Un’altra modifica che ho apportato è stata quella di creare alcune variabili che vengono utilizzate per valutare se l’anno è superiore o inferiore a un determinato numero. L’ho fatto in quanto preferisco concentrarmi su particolari periodi di tempo durante il backtesting, in modo che un lungo periodo non mascherasse brevi periodi di prestazioni scadenti. È una scelta personale.
            fromYear = year > 2014
toYear = year < 2016
        

Cosa succede qui?

Ogni volta che viene prodotta una nuova candela, viene eseguito un controllo per vedere se l’anno è maggiore del 2014 o inferiore al 2016. In caso affermativo, il valore booleano “true” viene salvato nelle variabili fromYear e toYear. Questo può quindi essere usato nell’istruzione IF per verificare se possiamo aprire un nuovo trade:

            longCondition = rsi(close, 21) < 30
if (longCondition and fromYear and toYear) 
      strategy.entry("Long 1", strategy.long) 
        
Stiamo verificando se l’RSI è inferiore a 30 e la data sia successiva al 2014 e precedente al 2016. La chiusura della strategia è più semplice. Chiude la posizione quando l’RSI supera il valore 70.

Utilizzare questo codice su Tradingview

Copia il codice e fai clic qui per aprire una finestra del grafico su Tradingview. Incolla il codice nell’editor di Pine Script, ora puoi fare clic sul pulsante “Aggiungi al grafico” per avviare il test e vedere visivamente dove la strategia ha acquistato e venduto.

Non dimenticare di fare clic su Salva, in modo da poter tornare alla strategia in un secondo momento! Puoi applicare questa strategia a qualsiasi strumento. Tutte le strategie caricate vengono visualizzate nella scheda “Strategie” nel riquadro inferiore dell’area grafica. Per caricare le strategie, è possibile selezionare “Apri” dalla scheda del pine editor.

I risultati

Tempo di i grandi risultati … Un utile netto di $10,56! Non così impressionante, ma non è questo il punto. In questo momento stiamo solo configurando il backtesting su Tradingview!

Prova a giocare con questo codice, cambia gli indicatori, cambia i parametri della strategia e abituati alla piattaforma.

Spero che questo post ti aiuti a iniziare!

Setup di base per Python e BackTrader

In questo post, diamo un’occhiata a come scaricare Python, dove recuperare i migliori tutorial introduttivi su Python, installare il framework BackTrader e infine verificare che sei in grado di accedere al framework all’interno di Python. Se sei ancora indeciso quale framework di backtesting o linguaggio di programmazione usare, puoi consultare l’articolo sui linguaggi di programmazione e gli ambienti di backtesting.

Nota: Questo post non va oltre il semplice settaggio di un ambiente di sviluppo per Python. Puoi quindi saltare questo articolo se hai già esperienza nell’uso di Python e pip.

Installare Python

Linux:

Se sei un utente Linux, sei molto fortunato. Molto probabilmente Python è già installato. In effetti, potrei scrivere cose superflue poiché non conosco nessun utente Linux che non sia già a conoscenza e / o abbia già armeggiato con Python in passato.

Mac OS:

Ce l’hai, ma non lo usi… La versione di Python installata con il sistema operativo è destinata esclusivamente al sistema. Alcune persone lo chiamano “system python”. Perché non dovresti usarlo? Da sottolineare che questa versione di Python è la vecchia versione python 2 mentre la maggior parte dei tutorial su questo sito è codificato con python 3. Un altro problema è che l’aggiornamento di Mac OS può potenziale per interrompere alcuni degli aggiornamenti installati sulla versione di sistema di python. Inoltre, alcuni pacchetti sono difficili da aggiornare a causa delle modifiche apportate da Apple nella versione python del sistema. Infine, il sistem python è disponibile solo tramite il terminale. Non c’è alcuna voce nella cartella delle applicazioni e nessun programma di avvio su cui fare clic.

Quindi, come puoi immaginare, ti consiglio di scaricare e installare una nuova versione di Python. Dopo aver scaricato e installato Python, avrai una cartella Python 3.x nella cartella delle applicazioni.
Questa ha un IDE (un ambiente di sviluppo) per scrivere ed eseguire il codice Python. Inoltre viene anche installato un launcher python che essenzialmente consente di avviare (eseguire) script Python facendo doppio clic su di essi.

Quindi iniziamo:

Per prima cosa vai alla pagina dei download sul sito Web python.org facendo clic qui.

Quindi scegli di installare l’ultima versione di Python 3. (secondo link dall’alto)

Dove aver scarico l’installer, è sufficiente seguire i classici steps per l’installazione di un software sul MAC.

Per verificare se Python è stato installato correttamente è sufficiente:

  1. Aprire un Terminale (se non sai dove si trova l’applicazione Terminale, puoi aprire una finistra di ricerca e digitare “terminal”)
  2. Digitare python3 nel termnale e premere Enter.

Si dovrà ottenere un risultato simile al seguente:

Per uscire dalla shell di python è necessario digitare quit() e premere Enter. (Questa è una funzione “built-in” per uscire dalla shell.)

Windows:

Windows non prevede nessuna versione di Python installata per default. Rispetto al Mac, questo rende le cose più semplici perchè non ci si deve preoccupare di un “python di sistema”. Come sopra, si inizia dalla pagina dei download di Python, facendo clic qui.

Una volta caricata la pagina, si seleziona di nuovo il secondo collegamento dall’alto, l’ultima versione di Python 3. Sembra identico allo precedente screenshot per Mac OS tranne che la scritta “Mac OS X” è sostituita con “Windows” (come ci si aspetterebbe!).

Dopo aver scaricato il programma di installazione, seguire i soliti passaggi per l’installazione per i software in ambiente Windows. Nella prima schermata di installazione è necessario assicurasi di selezionare:

  1. Installa per tutti gli utenti
  2. Aggiungi Python 3.x al PATH.
Per verificare che python sia stato installato correttamente, è sufficiente aprire un prompt dei comandi e digitare python. Da notare che non è necessario specificare ‘python3’ poiché su Windows non è possibile installate contemporaneamente diverse versioni di Python. L’output che si dovrebbe ottenere è lo stesso di quello per il Mac OS.
Per uscire dalla shell di python si deve digitare quit() e premere Enter. Questa è la funzione “built-in” per uscire dalla shell…

Primi passi con Python

Una volta installato Python 3, ti consiglio di imparare alcune nozioni di base in modo da comprendere completamente la logica alla base di BackTrader. Sia che tu preferisca imparare con un libro, sul Web o sporcarti le mani nei documenti ufficiali, hai  moltissime opzioni per apprendere tutte le funzionalità di questo linguaggio. Ho verificato la bontà dei contenuti che consiglio di seguito.

Gran parte di ciò che faremo nel trading si riduce al construtto “If this happens then do that“. Almeno all’inizio lLe competenze di base dovrebbero essere sufficienti, quindi non pensare di dover trascorrere mesi a studiare. Credo fortemente che il modo migliore per imparare le cose sia studiarle man mano che si va avanti con la sperimentazione e implementazione. Se passi troppo tempo a fare tutorial su progetti che non ti interessano, è facile annoiarsi e sentirsi frustrati quindi si rimarrà inevitabilmente bloccati.

Alcune concetti basi da imparare sono:

  • Assegnare variabili
  • Operazioni di base
  • Dichiarazioni If / Else
  • I cicli loop
  • Scrivere funzioni
  • Le basi delle Classi

Sul Web – Python Programming

https://pythonprogramming.net/introduction-to-python-programming/

​Questo sito offre una serie di eccellenti tuturial su una vasta gamma di argomenti. Meglio ancora, Harrison (l’autore) fornisce video e commenti ad ogni lezione della serie. Probabilmente il miglior sito sulla rete relativo alla programmazione in Python.

Purtroppo non ho trovato nulla di paragonabile (in termini di quantità e qualità) in italiano.

Ecco una copia del video di Harrison relativo all’introduzione della programmazione in Python:

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut elit tellus, luctus nec ullamcorper mattis, pulvinar dapibus leo.

Libri – Automatizzare le cose noiose con Python

Automatizzare le cose noiose con Python. Programmazione pratica per principianti assoluti fornisce progetti di automazione rivolti al principiante. L’aspetto interessante è che tali progetti hanno impatto nella nostra vita quotidiana. Si lavora con la gestione dei file, i fogli Excel, le ricerche sul web ecc. Trovo che non ci sia nulla di più soddisfacente che ottenere un uso pratico e regolare da qualcosa che hai codificato.

Sporcarsi le mani - I docs ufficiali

Python fornisce un’ottima documentazione sul proprio sito ufficiale. All’inizio alcuni potrebbero trovare la documentazione un po ‘intimidatoria (specialmente quelli senza background informatico) ma è necessario attenersi ad essa. Una volta che ci si è abituati, questo diventa una preziosa risorsa.

https://docs.python.org/3/

Il framework BackTrader

Per installare pacchetti e framework di terze parti in Python utilizziamo uno strumento chiamato “pip” (pip3 in python3). Questo è lo strumento di gestione dei pacchetti in python, cioè si occupa del download, l’installazione, l’aggiornamento e la rimozione del codice sorgente richiesto dai pacchetti di terze parti. Apri un terminale o una console e digita il seguente comando: pip3 install backtrader Semplice! Dovresti vedere pip entrare in azione ed iniziare a scaricare / installare i pacchetti. Una volta completato puoi verificare l’installazione aprendo una shell python, digitando python3 nel terminale e premendo invio. Quindi digitare i seguenti comandi, una riga alla volta (premendo invio alla fine di ogni riga):
            import backtrader
print(backtrader.__version__)
        

Dovresti vedere il numero della versione stampato a video:

Se ricevi degli errori, puoi pubblicali di seguito nella sezione dei commenti e possiamo dare loro un’occhiata (e quindi aggiornare questa pagina le secondo necessità)