Trading algoritmico con Python - pagina 16

 

Backtesting e trading dal vivo con Interactive Brokers utilizzando Python.


Backtesting e trading dal vivo con Interactive Brokers utilizzando Python.

Il Dr. Julio inizia la sessione fornendo un'introduzione al trading algoritmico e ai suoi vantaggi. Spiega che il trading algoritmico consente ai trader di ridurre la pressione del monitoraggio costante del mercato, ridurre al minimo gli errori umani e creare più tempo libero per altre attività. Sottolinea le quattro componenti principali del trading algoritmico, che sono broker, Internet, programmi e computer.

L'attenzione si sposta quindi su Interactive Brokers (IB), che viene presentata come la più grande piattaforma di trading elettronico negli Stati Uniti. Il Dr. Julio spiega che IB offre una tecnologia API avanzata che consente ai trader di utilizzare programmi per fare trading, fornendo prezzi competitivi e accesso ai mercati globali. Sottolinea che i programmi Python possono essere utilizzati per negoziare algoritmicamente con IB.

Successivamente, il Dr. Julio introduce un software Python chiamato Hybrid Fat Pack, che consente ai trader di configurare una piattaforma di trading algoritmico sui propri computer locali o cloud. Sottolinea il vantaggio principale di questa piattaforma, che è la capacità di proteggere la proprietà intellettuale non dovendo divulgare o caricare alcuna informazione su Internet. I trader possono anche eseguire backtest e trading dal vivo in un unico posto, gestire più account e fare trading con diversi broker utilizzando vari pacchetti Python come TensorFlow e Scikit-learn. Fornisce istruzioni su come scaricare e configurare la piattaforma Hybrid Fat Pack dal sito Web di AI Bridge PI.

Andando avanti, il Dr. Julio spiega i passaggi necessari per configurare gli strumenti per il backtesting e il trading dal vivo con Interactive Brokers utilizzando Python. Consiglia agli utenti di scaricare e salvare gli strumenti necessari, inclusi Interactive Broker, terminali IP ufficiali e Python. Fornisce inoltre collegamenti a tutorial, documentazione e un forum della comunità per ulteriore supporto. Il Dr. Julio dimostra come configurare WS (Workstation) e IB Gateway e mostra come aprire un ambiente Python usando Anaconda. Esegue un codice Python per mostrare il processo di configurazione e fornisce suggerimenti sull'organizzazione delle finestre per una migliore produttività.

Il relatore procede spiegando i passaggi iniziali dell'utilizzo di Interactive Brokers con Python. Chiede agli utenti di aprire un file denominato "Romina Eva" e di individuare il proprio codice account, che deve essere aggiornato di conseguenza nel file. L'oratore dimostra come scegliere ed eseguire un codice Python, inizializzando un trader e visualizzando il saldo del conto, il valore in contanti, il valore del portafoglio e gli ordini in sospeso. Gli utenti possono scambiare vari titoli come azioni, opzioni, futures e Forex utilizzando Hybrid Fat Pack. L'oratore afferma che gli ordini effettuati non possono essere manipolati e sono elencati con un ID permesso.

Viene dimostrato il processo di recupero dei dati sui prezzi storici e in tempo reale da Interactive Brokers. Commentando/decommentando righe di codice specifiche, il relatore mostra come recuperare dati in tempo reale o storici e stamparli in un formato intuitivo. Vengono spiegate la struttura del codice e tre funzioni essenziali nel codice Python, inclusa la funzione "inizializza" che viene eseguita all'inizio e la funzione "gestisci i dati" in cui le decisioni di trading vengono prese ed eseguite ogni 2 secondi per impostazione predefinita.

Il Dr. Julio spiega come prendere decisioni di trading utilizzando Python e Interactive Brokers. Gli utenti possono configurare il codice per prendere decisioni a orari fissi, ogni secondo, ora, giorno o in orari specifici. Introduce tre funzioni cruciali per la creazione di decisioni di trading: inizializzazione, gestione dei dati e posizionamento di un ordine. Per dimostrare il processo, vengono forniti codici di esempio per recuperare i dati storici e stampare il prezzo richiesto dell'ETF I Spears. L'oratore utilizza il data frame di Panda per recuperare e stampare i dati storici, mostrando come Python può essere utilizzato per le decisioni di trading.

Il relatore discute l'inserimento di ordini utilizzando variabili globali e prezzi in tempo reale, fornendo esempi di acquisto di azioni. Interactive Brokers viene utilizzato per cercare titoli, applicare filtri come il mercato principale degli Stati Uniti e un prezzo superiore a $ 100 e utilizzare la funzione di risultato della scansione del gatto per ottenere informazioni pertinenti. Vengono spiegati i passaggi per costruire una strategia algoritmica, inclusa l'identificazione del contratto, la frequenza delle decisioni di trading utilizzando i dati di gestione o le funzioni pianificate, la richiesta di dati storici e la scelta del tipo di ordine. Viene presentato un esempio di una strategia di close reversion giornaliera, in cui le decisioni di trading vengono prese in base al prezzo di chiusura del giorno precedente. Una funzione di pianificazione è definita per essere eseguita quotidianamente in un momento specifico per attivare il processo decisionale e le azioni successive.

Il video copre due esempi di strategie di trading in Python. Il primo esempio mostra una strategia di base basata sui prezzi di chiusura di due giorni consecutivi. Se la chiusura di oggi è superiore a quella di ieri, tutte le posizioni vengono vendute; in caso contrario, SPY viene acquistato. Il codice è spiegato ed è relativamente semplice. Il video introduce quindi il concetto di backtesting e presenta un esempio più avanzato di strategia crossover a media mobile. Viene discusso il processo di applicazione di una strategia ai dati storici e di valutazione delle sue prestazioni. Il codice per questa strategia è spiegato e rimane semplice. Il video copre anche il recupero e l'elaborazione dei dati, nonché l'analisi dei risultati dei test e la visualizzazione dei valori del portafoglio.

Il Dr. Julio discute il processo di backtesting e trading dal vivo con Interactive Brokers utilizzando Python. Spiega la modalità predefinita di esecuzione della funzione di gestione dei dati ogni minuto a scopo di test e l'importanza di disporre di un piano di iniezione dei dati storici. Descrive in dettaglio come fornire dati minuto per minuto e giornalieri al codice e come specificare l'intervallo di tempo e la frequenza per il backtesting con Interactive Brokers. Viene mostrato un esempio di codice, che mostra come eseguire un backtester, recuperare e gestire le informazioni sull'account e controllare la cartella di output per il saldo dell'account e il valore in contanti.

Il relatore sottolinea i vantaggi di fornire dati storici forniti dall'utente per migliorare le prestazioni del codice. Mentre i dati di simulazione esatti di Interactive Brokers sono necessari per scopi di debug, la richiesta di informazioni non necessarie può richiedere molto tempo. Il dottor Julio suggerisce di fornire solo una parte dei dati storici o di utilizzare dati casuali, che possono migliorare significativamente le prestazioni del codice. Dimostra come fornire dati storici da un file CSV locale, specificare l'intervallo di tempo e il tipo di dati desiderati ed eseguire i test in modo più rapido ed efficiente utilizzando un elenco temporale personalizzato e il fornitore di dati "rendering".

Il Dr. Julio discute l'analisi delle prestazioni e la sua importanza nella valutazione delle prestazioni di una strategia di trading algoritmico. Spiega la necessità di dati storici per testare e perfezionare il codice e come un grafico di analisi delle prestazioni può calcolare variabili come l'indice di Sharpe per assistere in questo processo. Una volta a proprio agio con i risultati del backtesting, il relatore consiglia di passare a un conto cartaceo per eseguire la strategia in condizioni di mercato reali. Dimostra anche come utilizzare iBridgePy per gestire più account, il che è fondamentale per i gestori di fondi.

Il Dr. Julio conclude evidenziando la flessibilità e la natura user-friendly del software Hybrid Fat Pack, rendendolo un potente strumento per il trading algoritmico.

  • 00:00:00 Il Dr. Julio fa un'introduzione sul trading algoritmico e sui broker interattivi, seguita dalla spiegazione di una semplice strategia di trading chiamata "Daily Close Reverse". Spiega l'implementazione di questa strategia utilizzando iBridgePy e il backtesting utilizzando i dati storici forniti da Interactive Brokers o altri fornitori di dati. Una volta completato il backtesting, viene analizzato per i potenziali risultati e, se la strategia funziona bene, la strategia di trading dal vivo viene implementata utilizzando iBridgePy e gli ordini vengono inseriti nei conti martillo. Il dottor Julio sottolinea che questa è una caratteristica essenziale per i gestori di hedge fund.

  • 00:05:00 L'oratore parla dei vantaggi del trading algoritmico, che includono meno pressione derivante dall'osservazione costante del mercato, meno errori umani e più tempo libero. I quattro componenti principali del trading algoritmico sono broker, Internet, programmi e computer. Il relatore passa poi a discutere di Interactive Brokers (IB), che è una LLC e la più grande piattaforma di trading elettronico negli Stati Uniti. IB offre una tecnologia API avanzata che consente ai trader di utilizzare programmi per fare trading, fornendo prezzi competitivi e accesso al mercato globale. Per negoziare algoritmicamente con IB, i trader possono utilizzare i programmi Python e collegarli a IB per iniziare a fare trading.

  • 00:10:00 Il relatore introduce un software Python chiamato Hybrid Fat Pack, che consente ai trader di configurare una piattaforma di trading algoritmico sui loro computer locali o cloud. Il vantaggio principale dell'utilizzo di questa piattaforma è che i trader possono proteggere le loro proprietà intellettuali, in quanto non hanno bisogno di divulgare o caricare alcuna informazione su Internet come fanno altri concorrenti. Inoltre, i trader possono eseguire backtest e fare trading dal vivo insieme in un unico posto, gestire più account e fare trading con diversi broker utilizzando qualsiasi pacchetto Python, inclusi TensorFlow e Scikit-learn. Il relatore fornisce anche istruzioni su come configurare la piattaforma, che possono essere scaricate dal sito Web di AI Bridge PI.

  • 00:15:00 Il relatore spiega i passaggi necessari per configurare gli strumenti necessari per il backtesting e il trading dal vivo con Interactive Brokers utilizzando Python. Il primo passo è scaricare e salvare gli strumenti necessari, inclusi Interactive Broker, terminali IP ufficiali e Python. Il relatore fornisce anche collegamenti a tutorial, documentazione e un forum della comunità che fornisce informazioni utili agli utenti. Il relatore fornisce quindi una demo su come configurare il gateway WS e IB prima di dimostrare come aprire un ambiente Python utilizzando Anaconda ed eseguire un codice Python. La sezione si conclude con suggerimenti sull'organizzazione delle finestre per una migliore produttività.

  • 00:20:00 Il relatore spiega i passaggi iniziali necessari per utilizzare Interactive Brokers con Python aprendo un file chiamato "Romina Eva". L'utente deve trovare il proprio codice account, quindi modificare il codice account nel file in modo che rifletta il proprio account. L'oratore dimostra come scegliere un codice Python ed eseguirlo, quindi mostra come inizializzare un trader e visualizzare il saldo del conto, il valore in contanti, il valore del portafoglio e gli ordini in sospeso. L'utente può scambiare azioni, opzioni, futures, Forex e altri contratti utilizzando il percorso ibrido. Se l'utente effettua ordini che non possono essere manipolati, verrà elencato con un ID permesso.

  • 00:25:00 Il presentatore dimostra come eseguire un ponte tra Python e Interactive Brokers per ottenere dati sui prezzi storici e in tempo reale. Commentando dentro/fuori righe di codice specifiche, il relatore mostra come recuperare dati in tempo reale o storici e stamparli in modo semplice. Il presentatore spiega quindi la struttura del codice e le tre funzioni di base utilizzate nel codice Python, inclusa la funzione "initialize", che viene eseguita all'inizio dell'esecuzione del codice, e la funzione "handle data", in cui vengono prese le decisioni di trading e viene eseguita ogni 2 secondi per impostazione predefinita.

  • 00:30:00 Il relatore spiega come utilizzare Python per prendere decisioni di trading con Interactive Brokers. Configurando il codice, gli utenti possono impostare un programma fisso per prendere decisioni ogni secondo, ora, giorno o in orari specifici. Inoltre, il relatore introduce tre funzioni di base che sono essenziali nella creazione di decisioni di trading, tra cui l'inizializzazione di una funzione, la gestione dei dati e l'inserimento di un ordine. Per dimostrare il processo, il relatore fornisce codici di esempio che recuperano dati storici e stampano il prezzo richiesto dell'ETF I Spears. Utilizzando il data frame di Panda, l'oratore è in grado di recuperare i dati storici e stamparli, dimostrando ulteriormente come Python può essere utilizzato per prendere decisioni commerciali.

  • 00:35:00 Il presentatore spiega come effettuare ordini utilizzando variabili globali, prezzi in tempo reale ed esempi per acquistare azioni. Il presentatore introduce anche l'uso di Interactive Broker per cercare titoli, aggiungere filtri come il principale mercato statunitense e un prezzo superiore a $ 100 e utilizzare la funzione cat scan result per ottenere informazioni pertinenti. Spiega quindi i passaggi per la costruzione di una strategia algoritmica, che include l'identificazione del contratto, la frequenza delle decisioni di negoziazione utilizzando i dati di gestione o una funzione pianificata, la richiesta di dati storici e la scelta del tipo di ordine. Il presentatore fornisce un esempio di una strategia di close reversion giornaliera, che prevede di prendere decisioni di trading basate sul prezzo di chiusura del giorno precedente. Definisce inoltre una funzione di pianificazione da eseguire ogni giorno a un'ora specifica per attivare la funzione quotidiana in cui vengono prese le decisioni e le azioni.

  • 00:40:00 Il video mostra due esempi di strategie di trading in Python. Il primo esempio utilizza una strategia di base basata sui prezzi di chiusura di due giorni, dove se la chiusura di oggi è maggiore di quella di ieri, svendi tutte le posizioni, altrimenti acquista SPY. Il codice viene quindi spiegato ed è abbastanza semplice. Il video passa quindi al concetto di backtesting e viene dettagliato un esempio più avanzato di una strategia di crossover della media mobile. Viene discusso il processo di applicazione di una strategia ai dati storici per vedere quanto bene stima i risultati commerciali. Il codice per questa strategia è spiegato ed è ancora abbastanza semplice. Il video spiega anche come recuperare ed elaborare questi dati, nonché come analizzare i risultati dei test e visualizzarli nei valori del portafoglio.

  • 00:45:00 Il relatore discute il processo di backtesting e trading dal vivo con Interactive Brokers utilizzando Python. Iniziano spiegando la modalità predefinita di esecuzione dei dati di gestione ogni minuto per i test e la necessità di un piano di inserimento dei dati cronologici. L'oratore spiega quindi come fornire dati minuto per minuto e giornalieri al tuo codice. Spiegano anche come comunicare a Interactive Brokers l'intervallo di tempo e la frequenza per il backtesting. Il relatore dimostra un esempio di codice per eseguire un backtester e recuperare e gestire le informazioni sull'account e come controllare la cartella di output per il saldo dell'account e il valore in contanti.

  • 00:50:00 Il relatore discute i vantaggi della fornitura di dati storici da parte dell'utente per migliorare le prestazioni del codice. Il relatore spiega che per scopi di debug sono necessari dati di simulazione esatti da Interactive Brokers (IB) per ogni test, ma richiedere molte informazioni non è necessario e fa perdere molto tempo. A volte è richiesta solo una parte dei dati storici e può essere sufficiente fornire dati casuali. Questo può migliorare notevolmente le prestazioni del proprio codice. Il relatore dimostra come fornire dati storici da un file CSV locale e come specificare l'intervallo di tempo desiderato e il tipo di dati necessari. Inoltre, il relatore mostra come eseguire i test in modo molto più rapido ed efficiente specificando un elenco temporale personalizzato e utilizzando il fornitore di dati "rendering".

  • 00:55:00 Il relatore discute l'analisi delle prestazioni e come utilizzarla per analizzare le prestazioni della tua strategia di trading algoritmico. Per iniziare, sono necessari dati storici per testare e perfezionare il codice e il relatore spiega come utilizzare un grafico di analisi delle prestazioni per calcolare variabili come l'indice di Sharpe per aiutare in questo processo. Una volta che ti senti a tuo agio con i risultati del tuo backtesting, puoi passare a un conto cartaceo per eseguire la tua strategia rispetto alle condizioni di mercato reali. Infine, il relatore mostra come utilizzare I Bridge PY per gestire più account, una caratteristica importante per i gestori di fondi. Nel complesso, le medie e il software sono flessibili e facili da usare, il che li rende un potente strumento per il trading algoritmico.
Backtesting and live trading with Interactive Brokers using Python.
Backtesting and live trading with Interactive Brokers using Python.
  • 2019.11.15
  • www.youtube.com
This is your go-to guide to backtesting with Interactive Brokers and going live with your trading strategy. In this session, we have Dr Hui Liu (Faculty, EPA...
 

Le ultime funzionalità di backtesting di IBridgePy del Dr. Hui Liu - 9 agosto 2019


Le ultime funzionalità di backtesting di IBridgePy del Dr. Hui Liu - 9 agosto 2019

Il Dr. Hui Liu, il creatore di iBridgePy, fornisce una panoramica dettagliata delle ultime caratteristiche e funzionalità di backtesting offerte da iBridgePy. Inizia discutendo le funzioni cardine di iBridgePy e spiegando i passaggi fondamentali coinvolti nella costruzione di strategie di trading algoritmico.

Il dottor Liu si concentra sul sistema di backtesting di iBridgePy e presenta due codici di esempio per dimostrarne l'utilizzo. Il primo codice di esempio utilizza i dati storici di Interactive Brokers, mentre il secondo codice di esempio illustra come gli utenti possono migliorare la loro esperienza di backtest fornendo i propri dati storici. Sottolinea l'importanza di analizzare le prestazioni dei test retrospettivi per identificare le aree di miglioramento futuro.

Durante la presentazione, il Dr. Liu introduce la funzione Hybrid Pie, che consente agli utenti di scambiare vari titoli o materie prime offerti dai broker consulenti e gestire più account contemporaneamente. Sottolinea i vantaggi per i consulenti per gli investimenti, come l'esecuzione di più strategie di trading e l'esecuzione di algoritmi di consulenza durante il backtesting.

Per connettersi con i broker e recuperare dati in tempo reale, il Dr. Liu dimostra come passare da un file all'altro all'interno di iBridgePy, come "Esempio mostra posizioni", "Esempio prezzi in tempo reale" e "Ottieni dati storici". Gli utenti possono personalizzare i codici conto, i nomi dei file e accedere ai saldi dei conti e agli ordini in sospeso. La funzione di inizializzazione in iBridgePy dichiara le variabili globali e gli utenti possono utilizzare le caselle di codice e chiedere assistenza al team iBridgePy segnalando le versioni del pacchetto ibrido. Il Dr. Liu fornisce anche indicazioni sulla chiusura di IBGateway e sull'apertura di TWS Trade Workstation.

L'altoparlante copre le funzioni chiave in iBridgePy, a partire dalla funzione di inizializzazione che viene eseguita all'inizio del codice. La funzione di gestione dei dati, che prende le decisioni di trading, può essere programmata per essere eseguita ogni minuto oa intervalli configurabili. Gli utenti possono utilizzare la funzione di pianificazione per la pianificazione degli eventi invece di gestire i dati. È possibile accedere ai prezzi in tempo reale per titoli specifici utilizzando la funzione show_real_time_price, mentre i dati storici possono essere recuperati con la funzione request_historical_data. Per acquistare o vendere titoli si utilizza la funzione place_order. Il Dr. Liu include una demo dal vivo della funzione Stock Screener, che mostra la sua funzionalità.

Il Dr. Liu discute la funzione di screening delle azioni in iBridgePy, che consente agli utenti di cercare azioni in base al sentimento e al prezzo dei social media. Gli utenti possono definire i propri parametri di ricerca, come il tipo di strumento, il codice di localizzazione e il codice di scansione. Viene fornito un esempio utilizzando la rete del sentimento sociale come codice di scansione per una ricerca dei principali titoli statunitensi con prezzi superiori a $ 100. Il relatore mostra lo stock screener in azione, presentando un elenco delle azioni più attive e sottolineando come il sentimento dei social media possa fornire informazioni sulla popolarità delle azioni. Conclude sottolineando l'importanza di selezionare i contratti e stabilire linee guida per la gestione del rischio quando si costruiscono strategie di trading algoritmico.

I passaggi fondamentali per costruire strategie di trading algoritmico utilizzando iBridgePy sono spiegati dal Dr. Liu. Discute la selezione di un titolo, la determinazione dell'intervallo di tempo per prendere decisioni di trading, il calcolo degli indicatori tecnici attraverso i dati storici, la selezione dei tipi di ordine e la gestione delle eccezioni. Ad esempio, presenta una semplice strategia di inversione basata sull'inserimento manuale del contratto SPY e sulla presa di decisioni di trading utilizzando i prezzi di chiusura giornalieri. Il codice di esempio include funzioni pianificate e una funzione giornaliera per prendere decisioni di trading.

Il dottor Liu approfondisce le funzionalità di backtesting di iBridgePy, sottolineando la capacità di recuperare dati storici e utilizzare un dataframe panda per analizzare i prezzi di chiusura dei titoli. Dimostra un codice di esempio per una strategia di tendenza che utilizza un crossover della media mobile e spiega i fondamenti del backtesting. Il backtesting comporta l'implementazione di una strategia pratica basata su dati storici per informare le decisioni di trading e testarne le prestazioni rispetto ai dati storici. Sottolinea inoltre l'uso alternativo della funzione handle data per controllare i tempi di esecuzione della funzione, fornendo un'opzione alla funzione programmata basata sugli orari di apertura e chiusura del mercato statunitense.

Il Dr. Liu fornisce approfondimenti sul sistema di backtesting iBridgePy e sul processo coinvolto. Spiega che in modalità backtesting utilizzando iBridgePy, la capsula del tempo o le candele utilizzate sono molto simili al trading dal vivo. Ogni candela contiene informazioni come l'ora di inizio, il prezzo di apertura, il prezzo massimo, il prezzo minimo, il prezzo di chiusura e il volume. Tuttavia, la capsula del tempo non include il prezzo ask o bid, poiché lo spread non può essere accuratamente modellato nei test retrospettivi.

Il dottor Liu afferma che la modalità di backtesting supporta ordini di mercato, ordini limite e ordini stop, ma gli ordini finali non sono attualmente supportati in quanto potrebbero non fornire risultati significativi. I dettagli della transazione durante il backtest vengono archiviati nella cartella di output, con il nome del file che contiene l'ora in cui è stato avviato il backtest.

Andando avanti, il Dr. Liu spiega il processo di base per impostare un periodo di backtesting in iBridgePy. Gli utenti possono impostare l'intervallo di tempo per recuperare i dati storici per titoli specifici e specificare la frequenza del time spot come un minuto, un'ora o un giorno. I dati storici dei contratti precedenti possono essere recuperati utilizzando ticker come SPY o AAPL. Il codice deve essere eseguito in modo specifico all'ora spot più recente, assicurando che i dati entro l'intervallo di tempo desiderato siano disponibili. Per impostazione predefinita, il denaro parte da $ 10.000. Il dottor Liu procede dimostrando come visualizzare il saldo e la posizione del conto utilizzando una demo.

Nella sua presentazione, il Dr. Liu dimostra come utilizzare le funzionalità di backtesting di iBridgePy per simulare un codice demo per l'inversione del prezzo di chiusura. Mostra come utilizzare i prezzi in tempo reale basati su dati storici e come eseguire l'obiettivo per osservarne le prestazioni. Mostra anche come è possibile modificare l'intervallo per eseguire il codice ogni ora anziché ogni minuto. Nel complesso, il video fornisce un'utile dimostrazione di come utilizzare le funzionalità di backtesting di iBridgePy per le strategie di investimento.

Il Dr. Liu prosegue discutendo l'importanza di apportare miglioramenti al processo di backtest utilizzando iBridgePy. Suggerisce di evitare di eseguire ripetutamente lo stesso codice per recuperare esattamente gli stessi dati, poiché spreca risorse e viola le regole di spaziatura IB. Invece, consiglia di recuperare i dati storici utilizzando un piano definito con lo stesso nome di file, riducendo la quantità di codice che deve essere eseguito. Un altro suggerimento è quello di utilizzare i dati storici forniti dall'utente invece di recuperare i dati da Interactive Brokers, il che può rendere più efficiente il processo di backtesting.

Inoltre, il Dr. Liu introduce la funzione di fornire dati locali per il backtesting in iBridgePy. Gli utenti possono fornire un file CSV con tutte le colonne necessarie, come prezzo di apertura, prezzo massimo, prezzo di chiusura, volume, ecc. iBridgePy inserirà i dati dal file locale e simulerà il backtesting di conseguenza. Se il volume non è disponibile, gli utenti possono inserire '-1' come valore. Questa funzione garantisce risultati accurati per le strategie personali degli utenti e migliora l'efficienza delle simulazioni.

Il dottor Liu evidenzia anche le funzionalità di backtest aggiuntive in iBridgePy, come i generatori di tempo personalizzati e la possibilità di utilizzare numeri casuali per testare il codice. Dimostra come creare una serie temporale utilizzando un pacchetto Python e un elenco personalizzato e come testare il codice utilizzando numeri casuali anziché prezzi in tempo reale. Discute ulteriormente l'importanza dell'analisi delle prestazioni e introduce l'utilizzo di un file di registro per tenere traccia e analizzare le prestazioni del backtesting. Queste nuove funzionalità forniscono modi più veloci ed efficienti per testare e analizzare il codice in iBridgePy.

Inoltre, il Dr. Liu discute altre funzionalità del backtesting di iBridgePy, incluso il registro del saldo, che fornisce maggiori dettagli sul valore del portafoglio e sulla liquidità, nonché il registro delle transazioni. Dimostra come visualizzare e analizzare i risultati del backtesting utilizzando metriche come l'indice di Sharpe e il pacchetto matplotlib per creare grafici. Il dottor Liu osserva che una volta che gli utenti sono soddisfatti dei loro risultati su un conto cartaceo, possono passare a un conto reale per il trading reale.

Durante la sessione di domande e risposte del webinar, il Dr. Liu risponde a varie domande dei partecipanti riguardanti le ultime funzionalità di iBridgePy. Una domanda riguarda la gestione dei conti di investimento di altre persone con iBridgePy. Il dottor Liu spiega che le persone possono diventare consulenti di portafoglio e creare un conto di gestione con Interactive Brokers per gestire i conti di investimento di altre persone utilizzando iBridgePy.

Un'altra domanda sollevata riguarda il download del codice di esempio per una particolare strategia. Il dottor Liu suggerisce che i partecipanti possono ottenere il codice di esempio necessario dal sito Web iBridgePy o contattando il forum della comunità iBridgePy. Inoltre, consiglia i partecipanti su come ottenere i prezzi storici delle opzioni e i dati greci per il backtesting. Il dottor Liu afferma che le persone possono ottenere i prezzi storici delle opzioni da Interactive Brokers e scrivere codice Python per utilizzare i dati greci se hanno accesso ad essi.

Un partecipante chiede se iBridgePy supporta un'API per recuperare una watch list. Il dottor Liu chiarisce che attualmente iBridgePy non fornisce un'API specifica per ottenere un elenco di controllo. Tuttavia, suggerisce che gli utenti possano creare manualmente una lista di controllo all'interno della piattaforma di Interactive Brokers.

In conclusione, il dottor Liu conclude il webinar incoraggiando i partecipanti a pubblicare eventuali ulteriori domande sul forum della community di iBridgePy o a inviargli un'e-mail. Assicura ai partecipanti che una registrazione della presentazione sarà disponibile su richiesta. Il Dr. Liu ricorda inoltre agli utenti di visitare il sito Web iBridgePy per scaricare il software e accedere alla documentazione API. Esprime la sua gratitudine ai partecipanti per la loro partecipazione e attenzione durante il webinar.

  • 00:00:00 Il Dr. Hui Liu discute le ultime funzionalità di backtesting di iBridgePy e fornisce una rapida panoramica di iBridgePy. Esamina le funzioni cardine di iBridgePy e spiega i passaggi di base per creare un algoritmo per le strategie di trading. Quindi si concentra sul sistema di backtesting iBridgePy e fornisce due codici di esempio per il backtesting. Il primo esempio utilizza i dati storici di Interactive Brokers, mentre il secondo illustra come migliorare l'esperienza di backtest utilizzando i dati storici forniti dagli utenti. Il dottor Liu parla infine dell'importanza di analizzare le prestazioni del backtesting per miglioramenti futuri.

  • 00:05:00 Il Dr. Hui Liu discute le ultime funzionalità di backtesting di IBridgePy, inclusa la possibilità di negoziare qualsiasi titolo o merce offerta dai broker consulenti e gestire più account contemporaneamente con la funzionalità Hybrid Pie. I consulenti per gli investimenti possono anche trarre vantaggio dalla capacità di IBridgePy di eseguire molteplici strategie di trading ed eseguire algoritmi di consulenza durante il backtesting. Le istruzioni per la preparazione della funzione Hybrid Pie sono semplici, incluso il download di IBridgePy, la creazione di un conto cartaceo o live con un broker come Interactive Brokers e l'installazione del software IB, sia il gateway IB leggero o la workstation trader basata su GUI, e la configurazione con IBridgePy.

  • 00:10:00 Il Dr. Hui Liu dimostra come utilizzare IBridgePy per connettersi ai broker e ottenere dati in tempo reale passando da file diversi come "Esempio mostra posizioni", "Esempio prezzi in tempo reale" e "Ottieni dati storici ”. Gli utenti possono modificare i codici account e i nomi dei file e possono controllare i saldi dei conti e gli ordini in sospeso. La funzione initialize dichiara le variabili globali in IBridgePy e gli utenti possono utilizzare le caselle di codice e chiedere aiuto al team IBridgePy segnalando le versioni del pacchetto ibrido. Infine, il Dr. Hui Liu mostra come chiudere IBGateway e aprire TWS Trade Workstation.

  • 00:15:00 Il relatore spiega rapidamente come connettersi a TWS e poi spiega le funzioni chiave in iBridgePy. La funzione di inizializzazione è dichiarata per essere eseguita all'inizio del codice, mentre la funzione handle data è dove vengono prese le decisioni di trading e viene eseguita ogni minuto oa intervalli configurabili. Per programmare gli eventi, l'utente può utilizzare la funzione di pianificazione invece di gestire i dati. È possibile accedere al prezzo in tempo reale per un titolo specifico utilizzando la funzione show_real_time_price e i dati storici possono essere recuperati utilizzando la funzione request_historical_data. La funzione place_order viene utilizzata per acquistare o vendere titoli e l'oratore fornisce anche una demo dal vivo della funzione stock screener.

  • 00:20:00 Il Dr. Hui Liu, il creatore di iBridgePy, dimostra come utilizzare la funzione Stock Screener per cercare azioni in base al sentimento e al prezzo dei social media. Spiega che gli utenti possono definire i propri parametri di ricerca per lo scanner specificando il tipo di strumento, il codice di posizione e il codice di scansione, con un esempio di utilizzo di social sentiment net come codice di scansione per una ricerca delle principali azioni statunitensi con prezzi superiori a $ 100. Il dottor Liu mostra quindi lo stock screener sul mercato dal vivo, mostrando un elenco dei titoli più attivi e in che modo il sentimento dei social media può fornire informazioni sulla popolarità di determinati titoli. Infine, delinea alcune considerazioni chiave per la costruzione di strategie di trading algoritmico, inclusa la scelta di quali contratti negoziare e come impostare le linee guida per la gestione del rischio.

  • 00:25:00 Il Dr. Hui Liu discute i passaggi fondamentali per costruire strategie di trading algoritmico utilizzando iBridgePy, seguito da un semplice esempio di strategia di inversione. I passaggi per costruire una strategia includono la selezione di un titolo, la determinazione dell'intervallo di tempo per prendere decisioni di trading, il calcolo degli indicatori tecnici attraverso i dati storici, la selezione dei tipi di ordine e la gestione delle eccezioni. La semplice strategia di inversione prevede l'inserimento manuale del contratto SPY e la presa di decisioni di trading basate sui prezzi di chiusura giornalieri. Il codice di esempio per la strategia include funzioni pianificate e una funzione giornaliera per prendere decisioni di trading.

  • 00:30:00 Il dottor Hui Liu discute le ultime funzionalità di backtesting di iBridgePy, inclusa la capacità di recuperare dati storici e utilizzare un dataframe panda per analizzare i prezzi di chiusura dei titoli. Dimostra un codice di esempio per una strategia di tendenza utilizzando il crossover della media mobile e spiega i fondamenti del backtesting, che implica l'implementazione di una strategia pratica considerando i dati passati per informare le decisioni di trading e quindi testandola rispetto ai dati storici per vedere se produce risultati positivi. Liu osserva inoltre che la tradizionale funzione di gestione dei dati può essere utilizzata per controllare quando viene eseguita una funzione, fornendo un'alternativa alla funzione programmata che si basa sugli orari di apertura e chiusura del mercato statunitense.

  • 00:35:00 Il dottor Hui Liu spiega che in modalità backtesting utilizzando Ibridgepy, la capsula del tempo o le candele utilizzate sono molto simili al trading dal vivo. Ogni candela contiene informazioni come l'ora di inizio, il prezzo di apertura, il prezzo massimo, il prezzo minimo, il prezzo di chiusura e il volume. Tuttavia, la capsula del tempo non include il prezzo ask o bid poiché lo spread non può essere ben modellato nei test retrospettivi. I dati possono essere forniti da IB o un utente può fornire le proprie fonti di dati in qualsiasi formato purché Python possa leggerlo e trasformarlo in un frame di dati panda. La modalità di backtest attualmente supporta l'ordine di mercato, l'ordine limite e l'ordine stop, ma non l'ordine finale in quanto non è accurato e non fornisce risultati significativi. Infine, i dettagli della transazione vengono archiviati nella cartella di output con un nome file contenente l'ora in cui è stato avviato il backtesting.

  • 00:40:00 Il Dr. Hui Liu spiega le basi del sistema di backtesting iBridgePy. Quando inizia una giornata di negoziazione simulata, il sistema calcola il valore del portafoglio e lo registra nel registro del saldo. Quindi, dimostra l'utilizzo dei dati storici di Interactive Brokers e il backtesting di una strategia chiamata "reversione del prezzo di chiusura". Per fare ciò, seleziona il nome del file e modifica alcuni parametri, come il nome del fornitore di dati e la modalità di esecuzione. Spiega anche il concetto di un piano di importazione di dati storici, in cui gli utenti comunicano a iBridgePy quali dati desiderano ricevere da Interactive Brokers da utilizzare nella loro strategia. Per eseguire i backtest, gli utenti richiedono dati storici della barra giornaliera e dati di un minuto per recuperare le informazioni sui prezzi di chiusura del mercato un minuto prima della chiusura del mercato.

  • 00:45:00 Il Dr. Hui Liu spiega il processo di creazione di un periodo di backtest in iBridgePy. L'intervallo di tempo può essere impostato per recuperare i dati storici per titoli specifici e la frequenza del time spot può essere impostata su un minuto, un'ora o un giorno. I dati storici dei vecchi contratti possono essere recuperati utilizzando il ticker SPY o AAPL. Il codice dovrebbe essere eseguito in modo specifico nell'ultimo orario spot e dovrebbero essere disponibili i dati entro il periodo di tempo corretto. Il denaro predefinito parte da $ 10.000 e Hui continua a mostrare come visualizzare il saldo e la posizione del conto utilizzando una demo.

  • 00:50:00 Il Dr. Hui Liu dimostra come utilizzare le funzionalità di backtesting di IBridgePy per simulare un codice demo per l'inversione del prezzo di chiusura. Mostra come utilizzare i prezzi in tempo reale basati su dati storici e come eseguire l'obiettivo per vedere come si comporta. Mostra anche come modificare l'intervallo per eseguire il codice ogni ora anziché ogni minuto. Nel complesso, il video fornisce un'utile dimostrazione di come utilizzare le funzionalità di backtesting di IBridgePy per le strategie di investimento.

  • 00:55:00 Il Dr. Hui Liu parla dei miglioramenti apportati al processo di backtesting utilizzando iBridgePy. Il primo suggerimento è evitare di eseguire ripetutamente lo stesso codice per recuperare esattamente gli stessi dati, il che spreca risorse e viola le regole di spaziatura IB. Invece, i dati cronologici vengono recuperati utilizzando un piano definito con lo stesso nome file, riducendo quindi la quantità di codice che deve essere eseguito. Il secondo suggerimento è di utilizzare i dati storici forniti dall'utente invece di recuperare i dati da IB, rendendo più efficiente il processo di backtesting.

  • 01:00:00 Il Dr. Hui Liu discute la caratteristica di fornire dati locali per il backtest in IBridgePy. Invece di recuperare i dati dal server ID, gli utenti possono fornire un file CSV con tutte le colonne necessarie, come prezzo di apertura, prezzo massimo, prezzo di chiusura, volume, ecc. IBridgePy ingerirà i dati dal file locale e simulerà il backtesting di conseguenza . Tuttavia, se il volume non è disponibile, gli utenti possono inserire '-1' come valore. Inoltre, questa funzione fornisce risultati accurati per le strategie personali di un utente e può portare a simulazioni efficienti.

  • 01:05:00 Il Dr. Hui Liu discute le ultime funzionalità di backtesting di IBridgePy, come i generatori di tempo personalizzati e la possibilità di utilizzare numeri casuali per testare il codice. Dimostra come creare una serie temporale utilizzando un pacchetto Python e un elenco personalizzato e come testare il codice utilizzando numeri casuali anziché prezzi in tempo reale. Discute anche dell'analisi delle prestazioni utilizzando un file di registro per tracciare e analizzare le prestazioni del backtesting. Nel complesso, queste nuove funzionalità forniscono modi più rapidi ed efficienti per testare e analizzare il codice in IBridgePy.

  • 01:10:00 Il Dr. Hui Liu discute le funzionalità aggiuntive del backtesting di iBridgePy, incluso il registro del saldo che mostra maggiori dettagli sul valore del portafoglio e sulla liquidità, nonché il registro delle transazioni. Dimostra anche come visualizzare e analizzare i risultati del backtesting utilizzando il rapporto Sharpe e il pacchetto matplotlab per creare grafici. Il dottor Liu osserva che una volta che gli utenti sono soddisfatti dei loro risultati su un account cartaceo, possono passare a uno live.

  • 01:15:00 Il Dr. Hui Liu risponde a varie domande dei partecipanti al webinar sulle ultime funzionalità di iBridgePy. Afferma che le persone possono gestire i conti di investimento di altre persone con iBridgePy dopo essere diventati consulenti di portafoglio e aver creato un conto di gestione con IB. I partecipanti chiedono anche di scaricare il codice di esempio per la strategia e di ottenere i prezzi storici delle opzioni e i dati greci per il backtesting. Liu suggerisce che le persone possono ottenere i prezzi storici delle opzioni da IB e scrivere codice Python per utilizzare i dati greci se li hanno. Infine, afferma che iBridgePy non supporta un'API per ottenere un elenco di controllo, ma le persone possono crearne uno manualmente in IB.

  • 01:20:00 Il Dr. Hui Liu conclude il webinar incoraggiando i partecipanti a pubblicare eventuali ulteriori domande sul forum della community di iBridgePy o inviargli un'e-mail. Accenna inoltre al fatto che una registrazione della presentazione sarà disponibile su richiesta e che presto pubblicherà un tutorial iBridgePy in cui i partecipanti potranno ottenere il codice necessario. Il dottor Liu ricorda inoltre agli utenti che possono visitare il sito Web iBridgePy per scaricare il software e visualizzare la documentazione API. Conclude ringraziando i partecipanti per la loro presenza e attenzione.
IBridgePy’s Latest Backtesting Features By Dr. Hui Liu - August 9, 2019
IBridgePy’s Latest Backtesting Features By Dr. Hui Liu - August 9, 2019
  • 2019.09.11
  • www.youtube.com
Session outline:- IBridgePy's cornerstone functions.- Basic steps to build a trading strategy.- Backtest strategies using IB's historical data.- Backtest str...
 

Trading programmatico nei mercati indiani con Python | Kite Connect API | Algo Trading Zerodha


Trading programmatico nei mercati indiani con Python | Kite Connect API | Algo Trading Zerodha

Il relatore introduce Kite Connect, una piattaforma che consente agli utenti di accedere ai propri conti di trading in modo programmatico utilizzando Python. Spiegano che la motivazione alla base di Kite Connect era quella di affrontare la sfida di aumentare la partecipazione al mercato in India. Hanno introdotto il concetto di brokeraggio come servizio, consentendo alle startup di utilizzare le API di Kite Connect per creare esperienze di trading personalizzate per i propri clienti. Questo, a sua volta, mira ad attrarre i prossimi 10-20 milioni di indiani a investire nei mercati. Il relatore evidenzia inoltre Zerodha come una delle principali società di intermediazione in India, con oltre 175.000 clienti e un contributo significativo al fatturato del mercato azionario indiano.

L'oratore fornisce approfondimenti sulle origini di Kite Connect, che è stato sviluppato per fornire una piattaforma di trading online semplice ed economica per migliaia di clienti in India. Riconoscendo l'ampio pool di ingegneri del software in India che spesso non hanno l'opportunità di utilizzare le proprie competenze, Kite Connect ha reso le sue API disponibili per gli ingegneri del software per testare le strategie e gestire le posizioni. Sebbene la piattaforma addebiti una tariffa per l'utilizzo dell'API, offre anche un codice sconto per i nuovi sviluppatori che si iscrivono. Il relatore presenta quindi un collega che procede dimostrando quanto sia facile costruire una piattaforma di trading personalizzata utilizzando Kite Connect. La dimostrazione si concentra sull'inserimento di ordini, sul recupero delle posizioni detenute e infine sullo sviluppo di una strategia di trading.

Il relatore offre una guida passo-passo su come ottenere una chiave API per l'API Kite Connect, che è fondamentale per il trading programmatico nel mercato indiano utilizzando Python. Spiegano anche il concetto di URL postback, che viene utilizzato per notificare agli utenti lo stato dei loro ordini e le conferme commerciali. Inoltre, il relatore sottolinea l'importanza dell'installazione della libreria Kite Connect Python, che semplifica l'utilizzo dell'API con poche righe di codice. Discutono delle funzionalità essenziali di un'app di trading, dell'importanza delle risposte alle richieste e della gestione delle eccezioni durante il processo di sviluppo dell'app e dell'importanza dell'autenticazione sicura per qualsiasi app di trading.

Successivamente, il relatore spiega come Python può essere utilizzato per il trading programmatico nei mercati indiani utilizzando l'API Kite Connect di Zerodha. Il processo inizia con l'utilizzo della chiave API per reindirizzare alla piattaforma Kite e accedere all'account dell'utente. Una volta effettuato l'accesso, viene restituito un token di richiesta, che viene quindi utilizzato per autenticare l'utente e ottenere un token di accesso. Il relatore fornisce una dimostrazione pratica dell'utilizzo dell'API Kite Connect, coprendo passaggi come l'importazione della libreria, l'archiviazione della chiave API e l'ottenimento di un token di richiesta. Infine, il token di richiesta viene sottoposto ad hashing con il segreto API per ottenere un token di accesso.

Il video continua discutendo su come utilizzare Python e l'API Kite Connect per il trading programmatico sui mercati indiani. Esamina il processo di impostazione dell'accesso e dei token pubblici, che vengono quindi utilizzati per stabilire una connessione con l'API Kite Connect per lo streaming delle informazioni di mercato. Il video spiega come effettuare un ordine, specificando anche il simbolo commerciale, la quantità, il tipo di transazione, il tipo di ordine e il prodotto. Spiega anche come recuperare i dettagli dell'ordine, le partecipazioni e le posizioni. Il relatore sottolinea che ci sono molte chiamate API aggiuntive oltre a quelle trattate nel video, ma sono tutte ben documentate sul sito web di Kite Connect.

Il relatore approfondisce l'importanza degli strumenti quando si utilizza l'API Kite Connect per il trading programmatico nei mercati indiani. Gli strumenti vengono utilizzati per gestire vari simboli e contratti azionari e richiedono un ID strumento univoco per iscriversi o annullare l'iscrizione ai dati in streaming. Il relatore spiega che l'ID dello strumento può essere ottenuto da un file CSV completo e viene utilizzato anche per accedere ai dati storici. Viene discusso lo streaming WebSocket, comprese le diverse modalità di ricezione dei dati come la modalità LTP, la modalità codice e la modalità full text. Il relatore fornisce un esempio di come funzionano i dati in streaming tramite WebSocket e di come è possibile utilizzare i callback per ricevere i dati. Inoltre, l'oratore spiega l'uso del postback e il requisito di un URL pubblico per la sua implementazione.

Il relatore copre l'implementazione di una strategia di trading utilizzando dati storici e sottolinea la facilità di effettuare un ordine utilizzando l'API Kite Connect. Discutono di come una startup può avere un endpoint per ricevere postback dal server Kite, abilitando le notifiche per ordini riusciti o falliti, tra le altre cose. Viene dimostrato il processo di ottenimento dei dati storici utilizzando l'API, con particolare attenzione alla sottoscrizione alla funzione dei dati storici di Kite prima di richiedere i dati. Infine, viene presentata una strategia di media mobile di base per illustrare la semplicità dell'inserimento di ordini con l'API Kite.

L'oratore condivide la propria strategia per il trading programmatico nei mercati indiani utilizzando Python e l'API Kite Connect. La strategia prevede il calcolo della media mobile e l'inserimento di uno scambio ogni volta che si verifica un crossover. Mostrano la funzione per l'immissione degli ordini, evidenziando che è necessaria solo una riga di codice per il trading effettivo. Pur riconoscendo che la loro strategia potrebbe non essere la migliore, sottolineano la sua facilità di implementazione e modifica per diversi simboli di trading e tipi di transazione. L'oratore afferma che l'API Kite Connect è open source, consentendo la personalizzazione e l'utilizzo nella creazione di piattaforme di trading. Menzionano anche l'ampia documentazione e il forum attivo disponibile sul sito Web di Kite Connect per supportare gli utenti con qualsiasi domanda o problema.

Il CEO di Quant Institute (QuantInsti) presenta la loro azienda, che è stata attivamente coinvolta nel trading algoritmico e quantitativo dal 2010. Forniscono programmi di formazione ed eventi per migliaia di studenti in tutto il mondo. Il CEO esprime l'allineamento con l'uso programmatico di Python nelle strategie di trading discusse nel webinar e si scusa per non essere in grado di rispondere a tutte le domande, ma assicura al pubblico che il proprio team sta diligentemente esaminando e rispondendo a tutte le domande.

Il relatore discute l'impatto del programma EPAT di QuantInsti, un corso online completo di sei mesi incentrato sul trading quantitativo e algoritmico. Il programma copre una vasta gamma di argomenti, tra cui statistica, econometria, calcolo finanziario, Python, MATLAB, strumenti di backtesting e vari paradigmi di strategia di trading. Sottolineano che il corso è tenuto da un gruppo eterogeneo di professionisti esperti provenienti da tutto il mondo. I laureati del programma sono ben preparati per entrare nel mondo del lavoro e QuantInsti offre servizi di carriera e orientamento per coloro che sono interessati a creare i propri trading desk. Viene sottolineata la portata globale del programma, con alumni in oltre 30 paesi in sei continenti.

Il relatore invita gli spettatori a partecipare a una prossima sessione informativa sul trading algoritmico prevista per il 3 novembre 2016 alle 18:30 IST. Incoraggiano il pubblico a seguire l'azienda su piattaforme di social media come Facebook, Twitter, LinkedIn e YouTube, dove possono trovare risorse educative e partecipare alle discussioni. Si offrono di inviare collegamenti ai partecipanti interessati e li invitano a inviare qualsiasi domanda tramite il modulo fornito su borninstorms. Infine, l'oratore conclude affermando che ora inizieranno a rispondere alle domande del pubblico.

  • 00:00:00 Il relatore introduce Kite Connect e spiega come consente agli utenti di accedere ai propri conti di trading in modo programmatico utilizzando Python. La motivazione alla base di Kite Connect era risolvere la sfida di aumentare la partecipazione al mercato indiano ed è stato introdotto il concetto di intermediazione come servizio. Le startup possono utilizzare le API di Kite Connect per creare esperienze utente di nicchia per i propri clienti, il che contribuirà ad attrarre i prossimi 10-20 milioni di indiani a investire nei mercati. Il relatore menziona anche che Zerodha offre le migliori piattaforme del paese e ha oltre 175.000 clienti, contribuendo a una parte significativa del fatturato del mercato azionario indiano.
    |
  • 00:05:00 Il relatore spiega le origini di Kite Connect, che è stato sviluppato per fornire una piattaforma di trading online semplice ed economica a migliaia di clienti in India. Riconoscendo il vasto pool di ingegneri del software dell'India che spesso non hanno l'opportunità di utilizzare il proprio set di competenze, Kite Connect ha reso le sue API disponibili per gli ingegneri del software per eseguire il backtest delle strategie e gestire le posizioni. La piattaforma addebita una tariffa per l'utilizzo delle sue API, ma offre anche un codice sconto ai nuovi sviluppatori che si iscrivono. L'oratore passa poi a un altro collega per dimostrare quanto sia facile utilizzare Kite Connect per creare una piattaforma di trading personalizzata, con l'obiettivo di effettuare ordini, ottenere posizioni detenute e infine sviluppare una strategia.

  • 00:10:00 Il relatore fornisce una guida passo passo su come ottenere una chiave API per l'API Kite Connect, essenziale per il trading programmatico nel mercato indiano utilizzando Python. L'oratore spiega anche l'URL di postback, che viene utilizzato per notificare agli utenti lo stato dei loro ordini e le conferme commerciali. Inoltre, il relatore sottolinea l'importanza di installare la libreria Kite Connect Python, che è un wrapper attorno all'API Kite Connect creata per semplificare l'utilizzo dell'API in poche righe di codice. Il relatore fa anche luce sulla ripartizione delle funzionalità di base di un'app di trading e sull'importanza delle risposte alle richieste e delle eccezioni nel processo di sviluppo dell'app di trading. Qui viene spiegato anche il flusso di accesso, che sottolinea l'importanza dell'autenticazione sicura per qualsiasi app di trading.

  • 00:15:00 Il relatore spiega come utilizzare Python per il commercio programmatico nei mercati indiani utilizzando l'API Kite Connect di Zerodha. Il primo passaggio consiste nell'utilizzare la chiave API per reindirizzare alla piattaforma Kite e accedere all'account dell'utente. Una volta effettuato l'accesso, viene restituito un token di richiesta che viene quindi utilizzato per autenticare l'utente e ottenere un token di accesso. Il relatore prosegue fornendo una dimostrazione pratica dell'utilizzo dell'API Kite Connect, inclusa l'importazione della libreria, l'archiviazione della chiave API e l'ottenimento di un token di richiesta. Infine, il token di richiesta viene utilizzato per ottenere un token di accesso eseguendo l'hashing con il segreto API.

  • 00:20:00 Il video illustra come utilizzare Python e l'API Kite Connect per il trading programmatico sui mercati indiani. Il video illustra il processo di configurazione di un token di accesso e di un token pubblico, quindi l'utilizzo di tali token per configurare una connessione con l'API Kite Connect per lo streaming delle informazioni. Il video spiega anche come effettuare un ordine, inclusi i componenti necessari come simbolo di trading, quantità, tipo di transazione, tipo di ordine e prodotto. Infine, il video illustra come recuperare i dettagli dell'ordine, le partecipazioni e le posizioni. Il video sottolinea che ci sono molte chiamate API aggiuntive oltre a quelle trattate nel video, ma sono tutte ben documentate sul sito web di Kite Connect.

  • 00:25:00 Il relatore discute l'importanza degli strumenti quando si utilizza l'API Kite Connect per il trading programmatico nei mercati indiani con Python. Gli strumenti vengono utilizzati per gestire vari simboli e contratti azionari e richiedono un ID strumento univoco per iscriversi o annullare l'iscrizione ai dati in streaming. Il relatore spiega che l'identificativo dello strumento può essere ottenuto da un enorme file CSV e serve anche per accedere ai dati storici. Il relatore discute anche dello streaming WebSocket e delle diverse modalità in cui i dati possono essere ricevuti, come la modalità LTP, la modalità codice e la modalità full text. Il relatore fornisce un esempio di come funzionano i dati in streaming tramite WebSocket e come utilizzare i callback per ricevere i dati. Infine, il relatore discute l'uso del postback e la necessità di un URL pubblico per implementarlo.

  • 00:30:00 Il relatore discute l'implementazione di una strategia utilizzando i dati storici e la facilità di effettuare un ordine utilizzando l'API Kite Connect. Spiega come una startup può avere un endpoint per ricevere postback dal server Kite, che può essere utilizzato per attivare notifiche per ordini riusciti o falliti, tra le altre cose. Dimostra inoltre come ottenere dati storici utilizzando l'API e sottolinea la necessità di abbonarsi alla funzione di dati storici di Kite prima di richiedere dati storici. Infine, presenta una strategia di media mobile di base per illustrare quanto sia semplice effettuare ordini con l'API Kite.

  • 00:35:00 Il relatore spiega la loro strategia per il trading programmatico nei mercati indiani utilizzando Python e l'API Kite Connect. La strategia prevede il calcolo della media mobile e l'inserimento di uno scambio ogni volta che si verifica un crossover. Viene mostrata la funzione per l'immissione degli ordini, con una riga di codice per il trading vero e proprio. L'oratore sottolinea che sebbene la loro strategia non sia la migliore in circolazione, è facile da implementare e modificare per diversi simboli di trading e tipi di transazione. L'API Kite Connect è open source, consentendo la modifica e l'utilizzo nella creazione di una piattaforma di trading. Il relatore cita anche l'ampia documentazione e il forum attivo disponibile sul sito Web di Kite Connect per assistere in caso di domande o problemi.

  • 00:40:00 Il CEO di Quantity presenta la loro azienda, che si occupa di trading algoritmico e quantitativo dal 2010 e offre programmi di formazione ed eventi per migliaia di studenti in tutto il mondo. Menzionano il loro allineamento con l'uso programmatico di Python nelle strategie di trading discusse nel webinar e si scusano per non essere in grado di rispondere a tutte le domande, ma assicurano al pubblico che il loro team sta lavorando al rilevamento e alla risposta a tutte le richieste.

  • 00:45:00 Il relatore discute l'impatto del programma EPAT di QuantInsti, un corso online di sei mesi incentrato sul trading quantitativo e algoritmico. Il programma copre una vasta gamma di argomenti, tra cui statistica, econometria, calcolo finanziario, Python, MATLAB, strumenti di backtesting e vari paradigmi di strategia di trading. Il corso è tenuto da un pool internazionale di oltre una dozzina di professionisti con una vasta esperienza nel settore. I laureati del programma sono ben attrezzati per entrare nel mondo del lavoro e QuantInsti offre una varietà di servizi per la carriera, oltre a una guida gratuita per coloro che desiderano creare i propri trading desk. Il programma ha raggiunto una portata globale, con alumni in oltre 30 paesi in sei continenti.

  • 00:50:00 Il relatore invita gli spettatori a partecipare alla prossima sessione informativa sul trading algoritmico che si terrà il 3 novembre 2016 alle 18:30 IST. Li incoraggia inoltre a seguire l'azienda su piattaforme di social media come Facebook, Twitter, LinkedIn e YouTube, dove possono trovare una miriade di risorse educative e partecipare alle discussioni. Il relatore si offre anche di inviare link ai partecipanti interessati e li invita a compilare qualsiasi modulo di richiesta su borninstorms. Infine, conclude dicendo che ora inizieranno a rispondere alle domande del pubblico.
Algo Trading Zerodha | Algo Trading in Indian Markets with Python | Kite Connect API
Algo Trading Zerodha | Algo Trading in Indian Markets with Python | Kite Connect API
  • 2016.10.18
  • www.youtube.com
In this comprehensive tutorial on Algo Trading Zerodha in Indian markets, we explore the power of Zerodha's KiteConnect API and Python programming language t...
 

Trading con i broker interattivi utilizzando Python | Del dottor Hui Liu



Trading con i broker interattivi utilizzando Python | Del dottor Hui Liu

Buona sera a tutti! Benvenuto al webinar sull'implementazione di strategie di trading algoritmico nel mercato online, ospitato da Kuantan Ste. Mi chiamo Slow Me e sono un Senior Program Manager qui. Siamo lieti di avere partecipanti da tutto il mondo che si uniscono a noi oggi, compresi quelli delle Hawaii che sono riusciti a unirsi a noi di buon mattino. Il tuo entusiasmo è davvero stimolante!

Il nostro stimato relatore per il webinar di oggi è il Dr. Hoyle Yu, un rinomato autore ed esperto di trading. Il dottor Yu ha un background impressionante con una vasta esperienza nelle azioni statunitensi e nel mercato forex. Ha anche sviluppato una popolare piattaforma di trading Python che consente ai trader di implementare facilmente le loro strategie. Con un dottorato di ricerca presso l'Università della Virginia e un ex-alunno dell'Università di Shanghai, il Dr. Yu apporta un patrimonio di conoscenze a questo webinar. Siamo onorati di averlo qui con noi.

Prima di iniziare, consentitemi di fornire una breve panoramica di ciò che tratteremo nel webinar di oggi. Il Dr. Yu parlerà innanzitutto dei vantaggi dell'utilizzo di Interactive Brokers come piattaforma di trading. Approfondirà quindi i vantaggi dell'utilizzo di Python per il trading e introdurrà il suo strumento, IBPY, che semplifica il trading con Interactive Brokers. Il webinar si concentrerà sugli aspetti chiave del trading in tempo reale, incluso l'accesso ai dati sui prezzi in tempo reale, il recupero di dati storici e l'inserimento di ordini. Il Dr. Yu introdurrà anche la strategia di trading Moving Average Crossover.

Siamo entusiasti di avere un relatore così stimato e un pubblico eterogeneo per questo webinar. Senza ulteriori indugi, invito il Dr. Hoyle Yu a prendere la parola e condividere la sua esperienza nel trading con Interactive Brokers utilizzando Python e IBPY.

Oggi parlerò del trading con Interactive Brokers utilizzando Python, in particolare utilizzando IBPY, uno strumento che ho sviluppato. Prima di entrare nei dettagli, iniziamo esplorando i vantaggi di Interactive Brokers come piattaforma di trading.

Interactive Brokers è una consolidata società di intermediazione con sede negli Stati Uniti. Offre diversi vantaggi chiave che lo rendono una scelta popolare tra i trader. In primo luogo, Interactive Brokers fornisce una solida API per il trading automatizzato, che sarà il nostro obiettivo principale oggi. Questa API consente ai trader di eseguire le loro strategie in modo efficiente ed efficace. In secondo luogo, Interactive Brokers offre costi di trading competitivi, rendendolo un'opzione conveniente per i trader. Puoi facilmente confrontare i loro costi di trading sul loro sito web. Sulla base della mia esperienza personale, forniscono opzioni di trading a basso costo. In terzo luogo, Interactive Brokers ha un'ampia presenza globale, offrendo accesso a oltre un centinaio di centri di mercato in 24 paesi. Questa portata globale consente ai trader di attingere a vari mercati internazionali, consentendo la diversificazione e ampliando le opportunità di trading. Infine, Interactive Brokers supporta un'ampia gamma di prodotti, tra cui azioni, opzioni, futures e forex, soddisfacendo le diverse esigenze dei trader. Questi vantaggi rendono Interactive Brokers la scelta preferita da molti trader.

Ora, esploriamo i vantaggi dell'utilizzo di Python per il trading. Python offre numerosi vantaggi, in particolare per i principianti. Rispetto ad altri linguaggi di programmazione come Java o C++, Python è relativamente facile da imparare. Con alcune conoscenze introduttive, si possono cogliere rapidamente i fondamenti di Python e iniziare a implementare strategie di trading. Inoltre, Python è un linguaggio open source, che fornisce l'accesso a una vasta raccolta di moduli e librerie. Queste risorse possono essere facilmente scaricate e integrate nei tuoi sistemi di trading, offrendo potenti strumenti per l'analisi dei dati, la visualizzazione e il trading algoritmico. L'ampio ecosistema di Python lo rende un linguaggio flessibile e versatile per i trader.

Ora che comprendiamo i vantaggi di Interactive Brokers e Python, esploriamo le capacità di IBPY. IBPY semplifica il trading con Interactive Brokers fornendo un'interfaccia user-friendly per gli sviluppatori Python. Semplifica attività come l'accesso ai dati sui prezzi in tempo reale, il recupero di dati storici e l'inserimento di ordini. IBPY colma il divario tra l'API di Interactive Brokers e Python, rendendo più facile per i trader implementare le proprie strategie senza dover gestire codice complesso.

Una delle caratteristiche principali di IBPY è la sua capacità di accedere ai dati sui prezzi in tempo reale. I trader possono recuperare dati di mercato in tempo reale, incluse quotazioni azionarie, catene di opzioni e prezzi dei futures, direttamente nel loro ambiente Python. Questi dati in tempo reale consentono ai trader di prendere decisioni informate sulla base delle ultime informazioni di mercato, migliorando le loro possibilità di successo.

IBPY consente inoltre ai trader di recuperare dati storici, essenziali per il backtest e l'analisi delle strategie di trading. Accedendo ai dati storici sui prezzi, i trader possono valutare le prestazioni delle loro strategie in diverse condizioni di mercato e apportare modifiche basate sui dati. IBPY fornisce una comoda interfaccia per recuperare i dati storici per un'ampia gamma di strumenti, tempi e tipi di dati, consentendo un'analisi approfondita e il perfezionamento della strategia.

Effettuare ordini è un altro aspetto cruciale del trading algoritmico e IBPY semplifica questo processo. I trader possono utilizzare l'API IBPY per inviare vari tipi di ordini, inclusi ordini di mercato, ordini limite e ordini stop. Possono specificare parametri come quantità, prezzo e tipo di ordine e IBPY gestisce l'esecuzione senza problemi. Questa funzionalità consente ai trader di automatizzare le proprie strategie di trading, risparmiando tempo e riducendo il rischio di errori manuali.

Oltre a queste funzionalità, IBPY supporta una gamma di operazioni di trading avanzate. I trader possono recuperare informazioni sull'account, gestire posizioni e portafogli, monitorare l'attività dell'account e ricevere notifiche di trading in tempo reale. Questo set completo di funzionalità consente ai trader di avere il pieno controllo delle proprie attività di trading e di prendere decisioni tempestive.

Ora, discutiamo brevemente della strategia di trading Moving Average Crossover, che il Dr. Yu tratterà in dettaglio più avanti nel webinar. Questa strategia si basa sul concetto di medie mobili, ampiamente utilizzate nell'analisi tecnica. La strategia Moving Average Crossover prevede il monitoraggio di due medie mobili di diversi periodi di tempo, in genere una media mobile a breve termine e una media mobile a lungo termine. Quando la media mobile a breve termine supera la media mobile a lungo termine, genera un segnale di acquisto, indicando una potenziale tendenza al rialzo. Al contrario, quando la media mobile a breve termine incrocia al di sotto della media mobile a lungo termine, genera un segnale di vendita, indicando una potenziale tendenza al ribasso. Questa strategia mira a catturare le tendenze e sfruttare i movimenti dei prezzi.

In conclusione, il webinar di oggi fornirà preziose informazioni sul trading con Interactive Brokers utilizzando Python e IBPY. Il Dr. Hoyle Yu, con la sua vasta conoscenza ed esperienza, ci guiderà attraverso i vantaggi di Interactive Brokers, i vantaggi dell'utilizzo di Python per il trading, le capacità di IBPY e la strategia di trading Moving Average Crossover. Ci auguriamo che questo webinar sia informativo e coinvolgente. Senza ulteriori indugi, lo consegno al Dr. Yu per iniziare la sua presentazione. Grazie a tutti per esservi uniti a noi oggi e godetevi il webinar!

Trading with Interactive Brokers using Python | By Dr. Hui Liu
Trading with Interactive Brokers using Python | By Dr. Hui Liu
  • 2016.09.29
  • www.youtube.com
Dr. Hui Liu speaks about implementing algorithmic trading strategies in live markets with Interactive Brokers using Python. This webinar is perfect for begin...
 

Trading automatizzato con Python | Webinar del Dr. Yves J. Hilpisch



Trading automatizzato con Python | Webinar del Dr. Yves J. Hilpisch

Il Dr. Yves J. Hilpisch viene presentato come fondatore e socio amministratore di Python Course Group, una società focalizzata su Python e sulle tecnologie open-source nel settore finanziario, in particolare nei settori della finanza computazionale e della scienza dei dati finanziari. È autore di diversi libri su Python e finanza e ha sviluppato una piattaforma chiamata DataPark, che consente ai data scientist di lavorare con dati strutturati direttamente nel browser. Il Dr. Hilpisch afferma che pubblicherà un nuovo libro entro la fine dell'anno e introduce anche TPQ, una rete globale di quanti e aziende Python.

Il webinar inizia con il Dr. Hilpisch che riconosce il crescente numero di richieste che ha ricevuto sull'utilizzo di Python nella finanza, in particolare da start-up che mirano ad attrarre sviluppatori Python per progetti finanziari. Annuncia una nuova funzionalità che consente agli utenti di scaricare dati storici dalla piattaforma di trading Comm e delinea i tre argomenti principali che verranno trattati nel webinar: download di dati storici, codifica e backtest di una strategia di trading e utilizzo di dati in streaming per il trading algoritmico . Sottolinea l'importanza dei dati e del backtest nello sviluppo di strategie di trading sensate.

Il Dr. Hilpisch procede dimostrando come recuperare i dati storici utilizzando Python, concentrandosi sull'indice tedesco DAX come esempio. Spiega che gli utenti possono scegliere tra oltre 100 strumenti diversi, comprese coppie di valute e materie prime come oro o argento. Recuperando i dati in blocchi e aggiungendoli a un oggetto DataFrame, gli utenti possono archiviare i dati su disco per un recupero efficiente senza la necessità di download ripetuti. Sottolinea il ruolo dei dati nel backtesting e il suo significato nella valutazione delle strategie di trading.

Successivamente, il Dr. Hilpisch mostra un esempio di una semplice strategia di trading basata su due medie mobili: una più corta (5 minuti) e una più lunga (15 minuti). Spiega che quando la tendenza più breve incrocia al di sopra della tendenza più lunga, genera un segnale di acquisto e quando la tendenza più breve incrocia al di sotto della tendenza più lunga, genera un segnale di vendita. Chiarisce che questo non è un consiglio di investimento, ma dimostra come implementare la strategia in Python utilizzando un approccio vettorializzato, rendendo il codice efficiente e conciso.

Il Dr. Hilpisch passa al calcolo delle prestazioni di una strategia di trading utilizzando i rendimenti logaritmici calcolati in precedenza. Spiega come i trader possono determinare la performance della loro strategia moltiplicando la loro posizione per il rendimento realizzato. Usa un esempio di investimento lungo nel mercato e attesa di un giorno per illustrare il calcolo. Sottolinea l'importanza di testare la strategia di trading per evitare distorsioni nel campione e avverte che una performance positiva in un periodo non garantisce il successo in altri periodi.

La discussione si sposta quindi sul confronto della deviazione standard dei rendimenti tra una strategia di investimento di mercato e una strategia di segnalazione degli investimenti basata sulle tendenze basata su blocchi di minuti. Il Dr. Hilpisch dimostra che la strategia basata sui trend presenta deviazioni standard inferiori dei rendimenti. Sottolinea la necessità di lavorare con i dati in streaming durante l'implementazione di strategie di trading automatizzate e introduce l'API Plotly per la generazione di grafici in tempo reale.

Il dottor Hilpisch dimostra l'uso di un'API falsa che genera dati in formato in tempo reale. Sebbene l'attuale dimostrazione non sia realmente in streaming, afferma che può essere eseguita in streaming con uno sforzo aggiuntivo creando un'istanza di oggetti aggiuntivi e incorporandoli nel Jupyter Notebook. Fornisce un esempio di ciclo for che raccoglie i dati dall'API e li mostra in un'area di visualizzazione interattiva in tempo reale, punto per punto.

Viene quindi discusso il trading automatico utilizzando dati in tempo reale o in streaming. Il Dr. Hilpisch introduce le funzioni "buy" e "sell", che piazzano ordini di mercato e richiedono il numero di unità da negoziare. Presenta la classe "TrendTrader", che si basa su strategie che seguono le tendenze ed eredita dalla classe streamer dell'API Wonder. Spiega gli attributi personalizzati della classe, come un frame di dati vuoto e il numero di tick inizialmente impostato su 0. La classe permette di definire come parametri il primo e il secondo trend.

Il Dr. Hilpisch spiega che il metodo "onsuccess" viene chiamato quando vengono ricevuti nuovi dati dall'API di streaming, anche se arrivano sporadicamente. I dati vengono aggiunti al frame di dati istanziato in precedenza e convertiti nel fuso orario europeo. Le tendenze a breve ea lungo termine sono calcolate sulla base delle osservazioni e di conseguenza vengono intraprese le opportune azioni di trading. Chiarisce che mentre la strategia presentata potrebbe non essere sensata, il suo obiettivo è illustrare il processo. Discute anche del metodo "onerror", che gestisce eventuali errori che possono verificarsi durante il processo di streaming e si disconnette dall'API.

In conclusione, il Dr. Hilpisch mostra l'implementazione di una strategia di trading automatizzata utilizzando Python. Dimostra come un programma Python può generare automaticamente ordini di acquisto e vendita in base al confronto delle medie mobili. Sottolinea che il trading algoritmico di successo richiede una combinazione di competenze finanziarie e tecnologiche, una profonda comprensione dei mercati, competenza nelle statistiche sui big data e la capacità di automatizzare i processi di trading. Il webinar funge da risorsa educativa per le persone interessate ad acquisire le conoscenze e le competenze necessarie per una carriera nel trading algoritmico.

  • 00:00:00 Il Dr. Yves J. Hilpisch si presenta e fornisce alcune informazioni di base sul suo lavoro. È il fondatore e socio amministratore di Python Course Group, che si concentra su Python e altre tecnologie open source utilizzate nel settore finanziario, in particolare nelle aree della finanza computazionale e della scienza dei dati finanziari. Il Dr. Hilpisch è autore di diversi libri su Python e la finanza e ha sviluppato una piattaforma chiamata DataPark, che consente ai data scientist di lavorare con dati strutturati nel browser. Ha accennato brevemente che il suo nuovo libro sarebbe uscito entro la fine dell'anno e ha anche menzionato l'inizio di una rete globale di quanti e società Python chiamata TPQ.

  • 00:05:00 Il Dr. Yves J. Hilpisch inizia il webinar con una discussione su come ha ricevuto un numero crescente di domande che chiedevano come utilizzare al meglio Python nella finanza e sottolineando che molte start-up sono un pubblico specifico che cerca di attrarre persone per costruire Python per la finanza. Hilpisch introduce quindi una nuova possibilità di scaricare i dati storici dalla piattaforma di trading Comm e condivide i tre argomenti principali trattati dal webinar, ad esempio 1) come scaricare i dati storici, 2) come codificare e testare una strategia di trading e 3) come lavorare con i dati in streaming, un requisito fondamentale per il trading algoritmico. Hilpisch mantiene l'argomento semplice e tenta di trasmettere le idee sottostanti e la spiegazione dei passaggi necessari per implementare questi singoli passaggi e condivide come senza dati e successivamente, backtesting, non è possibile avere strategie di trading sensate.

  • 00:10:00 Il Dr. Yves Hilpisch discute il recupero dei dati dimostrando come recuperare i dati storici per uno strumento, in particolare l'indice tedesco DAX. Gli utenti possono selezionare uno strumento tra più di 100 diverse opzioni, incluse coppie di valute e materie prime come oro o argento. Il comando genera un oggetto JSON contenente due osservazioni: apertura, chiusura e offerta. Hilpisch osserva che poiché due osservazioni giornaliere non sono sufficienti per il backtesting, mostrerà come recuperare i dati per un periodo più lungo. Generando un set di dati più lungo di due osservazioni giornaliere e memorizzandolo su disco, gli utenti possono recuperare rapidamente queste informazioni senza dover perdere tempo a recuperarle nuovamente.

  • 00:15:00 Il Dr. Yves J. Hilpisch dimostra come recuperare e archiviare i dati del mercato finanziario utilizzando Python. I dati vengono recuperati in blocchi e aggiunti a un oggetto DataFrame, che viene quindi archiviato in un formato binario. Sottolinea l'importanza dei dati nel backtesting e come consente il giudizio delle strategie di trading. Inoltre, mostra un esempio di una semplice strategia di trading, basata su due diverse tendenze, e come calcolare i rendimenti logaritmici come base per il successivo giudizio sulla performance. La strategia di trading è solo un esempio e la sua presentazione mira a dimostrare gli strumenti e le tecniche di Python disponibili per il trading automatico.

  • 00:20:00 Il relatore spiega una semplice strategia di trading utilizzando due medie mobili, una più breve (5 minuti) e una più lunga (15 minuti), per generare segnali su quando acquistare o vendere l'asset. Se il trend più breve incrocia il trend più lungo dal basso, è un segnale per comprare, e se il trend più breve incrocia il trend più lungo dall'alto, è un segnale per vendere. L'oratore avverte che questo non è un consiglio di investimento e sottolinea l'uso di un backtest per vedere come si è comportata la strategia in passato. Il relatore mostra anche come implementare la strategia in Python utilizzando un approccio vettorializzato, rendendolo efficiente e conciso.

  • 00:25:00 Il Dr. Yves J. Hilpisch spiega come calcolare la performance di una strategia di trading utilizzando i rendimenti calcolati in precedenza. Prendendo la posizione inserita in precedenza e moltiplicandola per il rendimento realizzato, i trader possono determinare la performance della loro strategia di trading. Utilizzando l'esempio dell'investimento lungo nel mercato e dell'attesa di un giorno, i trader possono moltiplicare la loro posizione per il rendimento giornaliero del mercato. Combinando la posizione precedente e il rendimento attuale, i trader possono valutare la performance della loro strategia di trading in un periodo di tempo specifico, avvertendo che una performance positiva non è una garanzia per ogni periodo. Dà anche una parola di cautela sul testare la strategia di trading per evitare pregiudizi nel campione e la possibilità che la strategia di trading potrebbe non essere una buona scelta da implementare.

  • 00:30:00 Il Dr. Yves J. Hilpisch discute la deviazione standard dei rendimenti per una strategia di investimento di mercato rispetto a una strategia di segnalazione degli investimenti basata sulle tendenze, entrambe basate su blocchi di minuti. La strategia basata sulle tendenze ha dimostrato deviazioni standard inferiori dei rendimenti e il Dr. Hilpisch sottolinea l'importanza di lavorare con i dati in streaming quando si implementa una strategia di trading automatizzato. Dimostra l'uso dell'API Plotly per generare grafici in tempo reale e discute la necessità di un sistema in grado di elaborare e prendere decisioni di trading basate su dati in tempo reale.

  • 00:35:00 Il Dr. Yves J. Hilpisch dimostra l'uso di un'API fasulla che genera dati nello stesso formato di un'API reale in tempo reale. I dati vengono raccolti e mostrati in un oggetto dataframe, che può essere visualizzato utilizzando un'area di visualizzazione interattiva. Sebbene l'attuale dimostrazione non sia veramente in streaming, il Dr. Hilpisch osserva che può essere fatto in streaming con un po' più di sforzo creando un'istanza di oggetti aggiuntivi e incorporandoli nel Notebook di Giove. Fornisce un esempio di ciclo for che raccoglie i dati da un'API e li mostra nell'area di visualizzazione interattiva in tempo reale, punto per punto.

  • 00:40:00 Il Dr. Yves Hilpisch parla del trading automatizzato utilizzando dati in tempo reale o in streaming. Introduce due funzioni, "compra" e "vendi", che vengono utilizzate per effettuare ordini di mercato e richiedono il numero di unità scambiate. La classe utilizzata per il trading è il "TrendTrader" che si basa su strategie che seguono il trend. Questa classe eredita dalla classe streamer dell'API Wonder e include attributi personalizzati come un oggetto data frame vuoto e il numero di tick impostato su 0 all'inizio. Anche il primo e il secondo trend possono essere definiti come parametri.

  • 00:45:00 Il Dr. Yves J. Hilpisch spiega come viene chiamato il metodo onsuccess quando vengono ricevuti nuovi dati dall'API di streaming, che possono arrivare sporadicamente piuttosto che a intervalli regolari. I dati vengono quindi aggiunti a un data frame istanziato in precedenza e convertiti nel fuso orario europeo. Due tendenze, t1 e t2, sono calcolate sulla base di osservazioni a breve ea lungo termine. Se la tendenza a breve termine è superiore alla tendenza a lungo termine e il trader non è investito, acquista il numero specificato di unità e imposta il flag non investito su falso. Al contrario, se la tendenza a breve termine è inferiore o uguale alla tendenza a lungo termine e il trader è investito, venderà. Il dottor Hilpisch afferma che sebbene questa strategia possa non essere sensata, il suo obiettivo è illustrare come funziona il processo. Viene discusso anche il metodo on error, che rileva eventuali errori che possono verificarsi e si disconnette dallo streaming API.

  • 00:50:00 Yves Hilpisch mostra come implementare una strategia di trading automatico utilizzando Python. Dimostra come un programma Python può generare automaticamente ordini di acquisto e vendita in base al confronto delle medie di dati di cinque e 15 tick. Sottolinea che il trading algoritmico richiede la fusione di competenze in finanza e tecnologia, comprensione dei mercati, statistiche sui big data e automazione. Il video fornisce una risorsa educativa per le persone interessate alla gamma di operazioni e competenze necessarie per una carriera di trading algoritmico di successo.
Automated Trading with Python | Webinar by Dr. Yves J. Hilpisch
Automated Trading with Python | Webinar by Dr. Yves J. Hilpisch
  • 2016.02.15
  • www.youtube.com
The video is a recording of the webinar "Automated Trading with Python" which was conducted on 10th February 2016. The webinar aimed at introducing the audie...
 

Trading algoritmico con Python - Introduzione



Trading algoritmico con Python - Introduzione

Ciao e bentornati al primo video della nuovissima serie di video sul trading. In questo video esploreremo lo scopo e il contenuto del flusso video di questo secolo. L'obiettivo principale di questa serie di video è fornire una comprensione completa del trading algoritmico. Tratteremo tutto, dalle basi all'implementazione avanzata, test e ottimizzazione degli algoritmi di trading.

La serie è progettata per aiutarti a imparare e utilizzare la programmazione Python nel contesto del trading algoritmico. Esploreremo vari argomenti come la generazione di segnali di trading, l'implementazione di strategie, il backtest e l'implementazione di algoritmi in ambienti di trading dal vivo. Per facilitare questo, ti presenteremo una potente piattaforma di trading algoritmico chiamata Contact Platform.

La Contact Platform è un ambiente di sviluppo integrato che ti consente di creare, testare e implementare i tuoi algoritmi di trading. Offre un'interfaccia user-friendly e supporta vari linguaggi di programmazione, incluso Python, che useremo ampiamente in questa serie. Puoi accedere alla piattaforma online tramite il sito Web di Contact o scaricare il software per Windows o Mac.

Per accompagnare la serie di video, abbiamo creato una pagina YouTube dedicata in cui è possibile trovare risorse aggiuntive ed esempi di codice. Questi esempi coprono una vasta gamma di argomenti, tra cui tecniche di clustering, creazione di script per azioni, obbligazioni, forex, CFD, opzioni e altro ancora. Che tu sia un principiante o un trader esperto, questa serie è il punto di partenza perfetto per tuffarti nel trading algoritmico.

È fondamentale comprendere l'importanza di sviluppare e testare algoritmi di trading prima di implementarli in scenari di trading reali. Questo è uno degli aspetti che richiede più tempo del trading algoritmico. Tuttavia, abbiamo reso le cose più facili fornendo l'accesso a dati storici di mercato gratuiti con dati a livello di minuto ad alta risoluzione per le opzioni su azioni europee e altri importanti mercati internazionali. Questa sarà una risorsa preziosa per sviluppatori di algoritmi e ricercatori.

In tutta la serie, sfrutteremo potenti librerie e strumenti per l'apprendimento automatico, l'analisi del sentiment e il backtesting. Queste librerie, come Pandas e NumPy, sono ampiamente utilizzate nella comunità commerciale e saranno essenziali per la nostra analisi. Utilizzando queste librerie e la piattaforma di contatto, avrai la flessibilità di creare e testare varie strategie di trading.

Nei prossimi video, adotteremo un approccio graduale alla codifica degli algoritmi di trading. Mi seguirai mentre discutiamo e implementiamo diverse strategie. Inoltre, condividerò materiali supplementari, come frammenti di codice e video, sul mio canale YouTube e negli articoli di accompagnamento.

Nel prossimo video, approfondiremo il processo di sviluppo ed esploreremo come funzionano gli algoritmi di trading. Resta sintonizzato e unisciti a noi in questo entusiasmante viaggio nel mondo del trading algoritmico.

Algorithmic Trading Using Python - Introduction
Algorithmic Trading Using Python - Introduction
  • 2021.03.12
  • www.youtube.com
This is the first video of my algorithmic trading tutorial series in which you will learn everything you need to know to start writing your own trading bots ...
 

Trading algoritmico usando Python #2



Trading algoritmico usando Python #2

Benvenuti al secondo video del nostro corso di trading algoritmico. In questo video, approfondiremo il processo di sviluppo dell'algoritmo, concentrandoci sul livello concettuale. Ti guideremo attraverso ogni passaggio, dalla generazione dell'idea alla distribuzione in tempo reale, coprendo aspetti essenziali come ricerca, implementazione, backtesting e ottimizzazione.

Il processo di sviluppo dell'algoritmo inizia con la generazione dell'idea. Esploreremo varie fonti di idee, tra cui osservazioni di mercato, analisi fondamentali, indicatori tecnici e modelli quantitativi. Capire come generare e perfezionare idee di trading è fondamentale per lo sviluppo di algoritmi di successo.

Una volta che abbiamo un'idea promettente, passiamo alla fase di ricerca. Ciò comporta la raccolta di dati rilevanti, l'esecuzione di analisi statistiche e lo svolgimento di approfonditi test retrospettivi. Discuteremo dell'importanza della qualità dei dati e di come influisce sull'affidabilità dei nostri algoritmi. Inoltre, esploreremo diverse metriche di performance e misure di rischio per valutare l'efficacia delle nostre strategie.

Dopo aver condotto una ricerca approfondita, si procede alla fase di implementazione. Qui traduciamo le nostre idee di trading in codice. Useremo linguaggi di programmazione come Python per scrivere algoritmi in grado di analizzare i dati, generare segnali di trading ed eseguire operazioni automaticamente. Imparerai le migliori pratiche di codifica e come strutturare il tuo codice per la manutenibilità e la scalabilità.

Una volta implementato l'algoritmo, si passa alla fase di backtesting. Il backtest implica la simulazione delle prestazioni dell'algoritmo utilizzando dati storici. Discuteremo diverse metodologie di backtesting, inclusi test in-sample e out-of-sample, per convalidare le prestazioni dell'algoritmo e valutarne la solidità.

L'ottimizzazione è un altro passaggio fondamentale nello sviluppo di algoritmi. Esploreremo varie tecniche per mettere a punto i nostri algoritmi e ottimizzare le loro prestazioni. Ciò include l'ottimizzazione dei parametri, l'analisi della sensibilità e le strategie di gestione del rischio. Ottimizzando i nostri algoritmi, miriamo a migliorare la loro redditività e ridurre i rischi.

Infine, toccheremo l'implementazione in tempo reale dei nostri algoritmi. Discuteremo considerazioni come la connettività ai dati di mercato, l'esecuzione degli ordini e la gestione del rischio in un ambiente di trading dal vivo. Comprendere le sfide e le considerazioni dell'implementazione in tempo reale è essenziale per il trading algoritmico di successo.

In questo video, forniremo approfondimenti e suggerimenti pratici per guidarti attraverso il processo di sviluppo dell'algoritmo. Alla fine, avrai una comprensione completa di come concettualizzare, ricercare, implementare, eseguire backtest, ottimizzare e distribuire algoritmi di trading in modo efficace.

Ora, tuffiamoci nell'affascinante mondo del trading algoritmico ed esploriamo in dettaglio il processo di sviluppo dell'algoritmo.

Algorithmic Trading Using Python #2
Algorithmic Trading Using Python #2
  • 2021.03.19
  • www.youtube.com
In this 2nd video of this algorithmic trading course, you will learn all about the algorithm development process on a conceptual level. We will cover everyth...
 

Come utilizzare i livelli di resistenza al supporto e l'RSI per un trading di valuta redditizio




Come utilizzare i livelli di resistenza al supporto e l'RSI per un trading di valuta redditizio

Nella creazione della strategia di trading RSI, il metodo convenzionale di identificare le aree di ipercomprato e ipervenduto si è rivelato inefficace. Viene invece proposto un approccio più efficace, che combina i livelli di supporto e resistenza con l'RSI per migliorare i punti di ingresso. Questo metodo alternativo contraddice ciò che viene comunemente insegnato nei classici tutorial di trading. Tuttavia, quando testato utilizzando Python, i risultati sono stati più promettenti.

Per implementare questa strategia, il primo passo è identificare i livelli di supporto e resistenza utilizzando frattali o candele che mostrano valori estremamente alti o bassi rispetto alle candele vicine. Il numero di candele con cui confrontare è una variabile nel codice, consentendo flessibilità nell'intervallo di confronto. Inoltre, è possibile applicare una condizione per considerare le candele con movimenti di rifiuto significativi, indicati da una lunghezza dello stoppino che supera una certa soglia.

Una volta individuati i livelli di supporto e resistenza, potrebbe essere necessario unirli se sono molto vicini tra loro. Questo può essere fatto calcolando la differenza o la distanza tra i livelli. Se la distanza è inferiore a una soglia specificata, i livelli possono essere uniti sostituendoli con il valore medio o eliminando i livelli duplicati.

Dopo aver ottenuto i livelli chiave, i segnali di inversione possono essere calcolati sulla base di tre presupposti. Innanzitutto, una candela dovrebbe avere uno stoppino vicino a un livello di supporto o resistenza, con il suo corpo contenuto dal livello. Se è un supporto, il corpo dovrebbe essere al di sopra del livello, e se è una resistenza, il corpo dovrebbe essere al di sotto del livello. Anche le candele precedenti dovrebbero essere contenute dallo stesso livello di supporto o resistenza. Ciò garantisce che il comportamento della candela corrente sia allineato con la tendenza indicata dalle candele circostanti.

Durante il test dei dati storici, i segnali generati possono essere tracciati su un grafico. Un segnale di inversione rialzista è rappresentato da un punto di segnale viola sotto la candela, mentre un segnale di inversione ribassista è rappresentato da un punto di segnale viola sopra la candela. Tuttavia, non tutti i segnali sul grafico possono essere scambiati, poiché alcuni potrebbero essere più efficaci di altri. Per filtrare i segnali, viene utilizzato l'RSI. Se l'RSI è al di sopra di un valore soglia, che indica un momentum rialzista, vengono considerati solo i segnali rialzisti. Al contrario, se l'RSI è al di sotto di una soglia inferiore, indicando un momentum di tendenza al ribasso, vengono considerati solo i segnali ribassisti. In questo modo, i segnali sono allineati con la tendenza e i segnali che vanno contro la tendenza vengono filtrati.

Per automatizzare gli indicatori in Python e valutare la strategia, è possibile utilizzare un file Jupyter Notebook. I dati della candela euro/dollaro USA per il periodo di un'ora tra il 2003 e il 2023 vengono caricati utilizzando la libreria dei panda. I dati vengono filtrati per rimuovere candele e fine settimana a volume zero e l'RSI viene calcolato utilizzando la libreria di analisi tecnica Pandas. I livelli di supporto e resistenza vengono rilevati utilizzando funzioni che confrontano la candela corrente con le candele vicine e la vicinanza ai livelli viene verificata utilizzando funzioni aggiuntive. Queste funzioni considerano il corpo e lo stoppino della candela in relazione ai livelli, così come le candele precedenti.

Una volta definite tutte le funzioni necessarie, viene creata una funzione chiamata "check_candle_signal" per calcolare i segnali. Questa funzione prende l'indice della candela corrente, il numero di candele a sinistra ea destra da considerare, il numero di candele posteriori da controllare e il data frame come input. Utilizza le funzioni definite in precedenza per calcolare i livelli di supporto e resistenza, unirli se necessario e generare segnali basati sulle condizioni definite e sulle soglie RSI.

I segnali vengono quindi contati e stampati per valutare le prestazioni della strategia. Per visualizzare i segnali sul grafico, vengono selezionate e tracciate le candele corrispondenti, con i segnali rappresentati da punti viola. Il grafico consente una valutazione visiva dei segnali e il loro allineamento con i livelli di supporto e resistenza identificati.

Dopo aver caricato i dati del candelabro ed eseguito le necessarie operazioni di pulizia dei dati, come la rimozione delle candele a volume zero e dei fine settimana, il passaggio successivo consiste nel calcolare il Relative Strength Index (RSI).

L'RSI è un popolare oscillatore di momentum utilizzato per identificare condizioni di ipercomprato e ipervenduto in un mercato. Misura l'entità delle recenti variazioni di prezzo per determinare se un asset è ipercomprato o ipervenduto. I valori RSI vanno da 0 a 100, dove i valori superiori a 70 sono generalmente considerati ipercomprati e i valori inferiori a 30 sono considerati ipervenduti.

Per calcolare l'RSI, è necessario definire una dimensione della finestra, che rappresenta il numero di candele precedenti da considerare durante il calcolo dell'indicatore. La dimensione della finestra più comune è 14, ma puoi regolarla in base alle tue esigenze e alle caratteristiche dell'asset che stai analizzando.

Il calcolo dell'RSI prevede i seguenti passaggi:

  1. Calcola la variazione di prezzo per ogni candela. Questa è la differenza tra il prezzo di chiusura della candela corrente e la candela precedente.

  2. Dividi le variazioni di prezzo in due serie separate: guadagni e perdite. I guadagni rappresentano variazioni di prezzo positive, mentre le perdite rappresentano variazioni di prezzo negative. Se una variazione di prezzo è positiva, è considerata un guadagno. Se è negativo, è considerato una perdita.

  3. Liscia le serie di guadagni e perdite sostituendo i valori negativi con zeri e i valori positivi con i loro valori assoluti.

  4. Calcola il guadagno medio e la perdita media sulla dimensione della finestra definita. Questo di solito viene fatto utilizzando il metodo della media mobile semplice (SMA).

  5. Calcola la forza relativa (RS) dividendo il guadagno medio per la perdita media.

  6. Calcola l'RSI applicando la formula: RSI = 100 - (100 / (1 + RS))

Tracciando i valori RSI nel tempo, è possibile analizzare visivamente le condizioni di ipercomprato e ipervenduto dell'asset. I trader usano spesso l'RSI come segnale per potenziali inversioni di tendenza o come conferma per i punti di ingresso e di uscita.

È importante notare che l'RSI è solo uno dei tanti indicatori tecnici utilizzati nell'analisi finanziaria. La sua efficacia dipende da vari fattori come le condizioni di mercato, l'asset analizzato e il periodo di tempo considerato.

How to Use Support Resistance Levels and RSI for Profitable Currency Trading
How to Use Support Resistance Levels and RSI for Profitable Currency Trading
  • 2023.05.11
  • www.youtube.com
In this Python FOREX and currency trading tutorial, we will show you how to use the Relative Strength Index (RSI) and Support/Resistance Levels for profitabl...
 

Media mobile e backtest delle strategie di tendenza VWAP in Python


Media mobile e backtest delle strategie di tendenza VWAP in Python

Ciao, oggi confronteremo gli indicatori V-WAP (Volume-Weighted Average Price) e Moving Average per il trading e il trading algoritmico. Useremo entrambi gli indicatori per costruire un bot di trading e testarlo utilizzando i dati Bitcoin.

I ritorni di profitto delle strategie che utilizzeremo in questo video possono variare da circa il 200 percento fino a un eccezionale 473 percento in tre anni di dati. Se sei interessato alla parte di codifica, il backtest viene eseguito utilizzando il linguaggio Python e puoi scaricare il file Jupyter Notebook dal link fornito nella descrizione.

Oltre ad essere il mio indicatore preferito nel trading, V-WAP è importante perché aiuta i trader a determinare se un titolo è scambiato a un valore equo o meno. Questa informazione è fondamentale perché se un prezzo viene scambiato al di sopra della curva V-WAP o molto al di sopra della curva V-WAP, potrebbe indicare che è sopravvalutato. Al contrario, se il prezzo corrente è scambiato al di sotto della curva V-WAP, potrebbe indicare che il titolo è sottovalutato. In poche parole, ci aspettiamo sempre che il prezzo torni al livello V-WAP ad un certo punto. Ciò può essere osservato in un esempio in cui la differenza tra le candele di prezzo e la curva V-WAP gialla è aumentata prima che il prezzo convergesse nuovamente al livello V-WAP e rimbalzasse nuovamente sulla curva gialla. C'è una chiara differenza tra la curva della media mobile e la curva gialla V-WAP.

Per calcolare il V-WAP, possiamo utilizzare la seguente espressione: V-WAP = Prezzo medio cumulativo * Volume / Volume cumulativo. Il prezzo medio è il prezzo medio tra il prezzo massimo, minimo e di chiusura. La parte cumulativa indica la somma totale dall'apertura della sessione di negoziazione. La sessione di trading può essere reimpostata giornalmente, settimanalmente o mensilmente, a seconda del periodo di tempo a cui miriamo. Il calcolo V-WAP è diverso da una semplice media mobile in quanto incorpora più informazioni sul volume degli scambi.

Possiamo anche utilizzare V-WAP per determinare i punti di ingresso e di uscita ottimali per le negoziazioni, in quanto funge da supporto dinamico e livello di resistenza che si muove insieme al prezzo. Questo è ciò per cui utilizzeremo V-WAP nella strategia mostrata in questo video.

La strategia che utilizzeremo è la seguente: in primo luogo, esamineremo una serie di candele che si trovano al di sotto o al di sopra del V-WAP o della curva della media mobile, a seconda dell'indicatore che stiamo utilizzando per il confronto. Se le candele sono al di sotto della curva, stiamo cercando un segnale corto e il punto di ingresso sarà determinato quando una candela sarà abbastanza vicina alla curva. Se le candele sono al di sopra della curva, stiamo cercando un segnale lungo e il punto di ingresso sarà determinato quando una candela sarà abbastanza vicina alla curva. Applicheremo la stessa strategia utilizzando sia la curva della media mobile che la curva V-WAP per il confronto.

Nel file Jupiter Notebook, carichiamo i dati della candela del dollaro USA Bitcoin con un intervallo di tempo di 15 minuti tra il 2019 e il 2022. Puliamo i formati dei dati e utilizziamo il modulo di analisi tecnica dei panda per calcolare il V-WAP e l'EMA (Exponential Moving Average ). Quindi calcoliamo il segnale sia per EMA che per V-WAP utilizzando un certo numero di back candle. I valori del segnale vengono memorizzati in nuove colonne nel frame di dati. Visualizziamo i punti segnale per una migliore comprensione.

Per il backtesting, possiamo utilizzare diversi approcci di gestione degli scambi. In questo caso, utilizziamo l'ATR (Average True Range) per impostare i livelli di stop-loss e take-profit. Il livello di take-profit è impostato sulla base della distanza di stop-loss, con un rapporto tra take-profit e stop-loss di 2,5. Lo stop loss è calcolato come 0,8 volte l'ATR.

Nel backtest, iteriamo attraverso ogni candela nel frame di dati e controlliamo le condizioni di entrata e uscita in base al segnale generato dal V-WAP e agli indicatori di media mobile. Se viene avviata una negoziazione, calcoliamo i livelli di stop-loss e take-profit in base all'ATR. Se il prezzo raggiunge il livello di stop-loss o take-profit, usciamo dall'operazione e registriamo il profitto o la perdita.

Una volta completato il backtest, calcoliamo il profitto e la perdita cumulativi e generiamo parametri di performance come il rendimento totale, il rendimento annualizzato, il prelievo massimo e l'indice di Sharpe.

I risultati del backtest mostrano la performance della strategia di trading utilizzando sia il V-WAP che gli indicatori di media mobile. Confrontando i risultati, possiamo valutare quale indicatore si comporta meglio in termini di redditività e gestione del rischio.

Si prega di notare che i risultati del backtest dipenderanno da vari fattori come i parametri specifici utilizzati, il periodo di tempo selezionato e le condizioni di mercato. È importante analizzare a fondo la strategia e condurre test approfonditi prima di applicarla al trading reale.

Moving Average And VWAP Trend Strategies Backtest In Python
Moving Average And VWAP Trend Strategies Backtest In Python
  • 2023.04.20
  • www.youtube.com
In this video, we compare VWAP and Moving Average indicators for trading and Algorithmic trading. We use both indicators to build a trading bot, backtesting ...
 

Padroneggia il trading di azioni di prezzo con Doji automatizzato e modelli Engulfing utilizzando Python


Padroneggia il trading di azioni di prezzo con Doji automatizzato e modelli Engulfing utilizzando Python

Oggi confronteremo due modelli di candele: le candele Doji e le candele Engulfing. Useremo una strategia semplice combinata con le bande di Bollinger e testeremo questi modelli utilizzando i dati storici dell'anno passato su un periodo di un'ora. Il nostro obiettivo è dimostrare come la combinazione di modelli di azione dei prezzi con altri indicatori possa essere un potente strumento per il puro trading tecnico.

Per implementare questa strategia, forniamo il codice Python, che è disponibile per il download dal link nella descrizione del video. Se ritieni che il contenuto sia utile, ti preghiamo di supportare il nostro canale mettendo mi piace e seguendolo. Inoltre, se hai qualche idea che vorresti esplorare, possiamo discuterne nella sezione dei commenti.

Ai fini di questa dimostrazione, ci concentreremo su due serie di pattern: una candela Doji preceduta da una candela ribassista e seguita da una candela rialzista o rialzista, che indica un futuro trend rialzista. Il secondo modello è il modello Engulfing, in cui i prezzi di apertura e chiusura di una candela sono rispettivamente più alti e più bassi di quelli della candela precedente. In sostanza, la candela attuale fagocita quella precedente, determinando l'andamento previsto per i prezzi futuri. Esamineremo specificamente esempi di configurazioni rialziste per questi due modelli. Vale anche la pena considerare le configurazioni ribassiste, in cui un Doji è seguito da una candela ribassista, o nel caso del modello Engulfing, la candela engulfing ha una direzione ribassista. Queste configurazioni indicherebbero una futura tendenza al ribasso.

Ora, approfondiamo come utilizziamo questi modelli nella nostra strategia. Innanzitutto, aspettiamo che una candela di prezzo chiuda sopra o sotto le linee della banda di Bollinger. Se si forma un pattern rialzista al di sotto della linea inferiore della banda di Bollinger, impostiamo un segnale di acquisto. D'altra parte, se si verifica una configurazione a candela ribassista al di sopra della linea superiore della banda di Bollinger, impostiamo un segnale short o di vendita. In termini più semplici, se osserviamo un pattern rialzista al di sotto delle bande di Bollinger, ci aspettiamo che il prezzo salga. Al contrario, se individuiamo un modello ribassista sopra le bande di Bollinger, prevediamo che il prezzo scenderà. Questo è l'aspetto che esploreremo usando Python.

Il notebook Jupyter fornito dimostra il backtesting di questo indicatore. Il codice utilizza il modulo Y Finance e i panda rispettivamente per il recupero e l'analisi dei dati. I dati sul tasso di cambio da euro a dollaro USA dal 1° aprile 2021 al 19 marzo 2023 vengono scaricati su base oraria.

Per calcolare le bande di Bollinger, utilizziamo il modulo di analisi tecnica dei panda, impostando una lunghezza di 30 e una deviazione standard di 1,5. Questi parametri possono essere regolati per ulteriori sperimentazioni.

Successivamente, definiamo la funzione "Bollinger Doji Signal", che prende il dataframe con prezzi aperti, chiusi, alti e bassi, così come i dati delle bande di Bollinger. Controlliamo la prima condizione, che comporta un segnale rialzista. In questo caso, cerchiamo un prezzo di chiusura della candela corrente al di sotto della linea inferiore della banda di Bollinger. Allo stesso tempo, l'attuale prezzo di chiusura dovrebbe essere maggiore del prezzo di apertura, indicando una candela verde o rialzista preceduta da una candela Doji. Inoltre, la candela precedente dovrebbe essere ribassista, con il prezzo di chiusura inferiore al prezzo di apertura. Questa combinazione rappresenta un modello di inversione. Se queste condizioni sono soddisfatte e il pattern si verifica al di sotto della linea inferiore della banda di Bollinger, impostiamo un segnale di acquisto. Al contrario, per un segnale ribassista, il prezzo di chiusura dovrebbe essere al di sopra della linea superiore della banda di Bollinger e la candela corrente dovrebbe essere ribassista, con il prezzo di chiusura al di sotto del prezzo di apertura. Prima di questo, dovrebbe esserci un trend rialzista o una candela verde con il prezzo di chiusura superiore al prezzo di apertura.

In questo caso, la combinazione rappresenta un pattern di inversione ribassista, e se queste condizioni sono soddisfatte e il pattern si verifica al di sopra della linea superiore della banda di Bollinger, impostiamo un segnale di vendita.

La funzione "Bollinger Doji Signal" calcola i segnali in base alle condizioni sopra menzionate e restituisce un dataframe con i dati originali insieme alla colonna dei segnali che indica se acquistare (1), vendere (-1) o tenere (0) ad ogni candela.

Quindi applichiamo questa funzione ai nostri dati storici e memorizziamo i risultati in un nuovo dataframe chiamato "signals_df".

Per valutare la performance della nostra strategia, calcoliamo i rendimenti moltiplicando i segnali per la variazione percentuale del prezzo di chiusura e sommandoli cumulativamente. Calcoliamo anche i rendimenti cumulativi di una strategia buy-and-hold, in cui manteniamo semplicemente l'asset per l'intero periodo.

Infine, tracciamo i rendimenti cumulativi di entrambe le strategie su un grafico per visualizzare la performance.

Analizzando i risultati del backtest, possiamo valutare l'efficacia dei modelli di candele Doji e Engulfing combinati con l'indicatore delle bande di Bollinger nel generare segnali di trading. È importante notare che questo è un esempio semplificato e non deve essere considerato come consulenza finanziaria. Inoltre, la strategia ei suoi parametri possono essere ulteriormente ottimizzati e personalizzati in base alle preferenze individuali e alla tolleranza al rischio.

Per comprendere appieno e replicare il codice, si consiglia di scaricare ed eseguire il notebook Jupyter fornito, che contiene il codice completo e le spiegazioni.

Ricorda che le strategie di trading devono essere accuratamente testate e convalidate prima di implementarle in scenari di trading reali. Si consiglia sempre di consultare un consulente finanziario o condurre ricerche approfondite prima di prendere qualsiasi decisione di investimento.

Ci auguriamo che questa spiegazione ti aiuti a comprendere meglio l'implementazione dei modelli di candele Doji e Engulfing combinati con l'indicatore delle bande di Bollinger in una strategia di trading.
Master Price Action Trading with Automated Doji and Engulfing Patterns using Python
Master Price Action Trading with Automated Doji and Engulfing Patterns using Python
  • 2023.03.25
  • www.youtube.com
In this informative video, we will explore the power of price action patterns in combination with Bollinger Bands for trading strategy backtesting. Specifica...