Costruire un Trading System automatico con il foglio Excel© Prof. Sante Leone Investment & Trading Forum Rimini, 17/18 Maggio 2012 www.santeleone.com Investment & Financial Research
Investment & Financial Research I Trading System Lo scopo di un Trading System è di separare la componente emotiva del trading dall’operatività reale Il Trader dovrà obbedire rigorosamente alle regole e ai segnali generati dal suo Trading System mettendo completamente da parte la componente discrezionale www.santeleone.com Investment & Financial Research
Investment & Financial Research Struttura Occorrerà un flusso dati di una SIM che verrà canalizzato dal suo software sul foglio Excel e, attraverso dei link, utilizzato dalle celle a nostro piacimento www.santeleone.com Investment & Financial Research
Investment & Financial Research Il flusso dati DDE La tecnologia Dynamic Data Exchange (DDE) è un sistema di comunicazione molto semplice che ben si presta per la elaborazione di sistemi di trading che sfruttano un flusso di dati in tempo reale. Essa permette a due applicazioni in esecuzione di condividere un insieme di dati. Per esempio, una banca dati dinamica di una SIM può essere “importata” all’interno di un foglio di calcolo ed utilizzata per far funzionare un programma di analisi o un trading system senza dover effettuare continui “refresh”, in quanto tra l’applicazione e il flusso DDE si sarà creata un’interconnessione che permetterà alle due applicazioni di funzionare insieme tramite la rete internet. www.santeleone.com Investment & Financial Research
Investment & Financial Research Il flusso dati DDE Ovviamente occorrerà installare sul proprio computer un “motore” che altro non è che il programma del nostro broker o del nostro fornitore dati che, connettendosi al database della SIM, consentirà di ricevere i dati in tempo reale e di alimentare il foglio elettronico. www.santeleone.com Investment & Financial Research
Investment & Financial Research Le Variabili Dimensionare una variabile in VBA è molto utile per far sì che il sistema si accorga che il valore di un dato è cambiato attraverso la modifica di una cella. www.santeleone.com Investment & Financial Research
Investment & Financial Research Le Variabili Per fare questo occorre però preliminarmente collegare le celle del foglio di calcolo alle quali associare le variabili VBA ad una o più istruzioni DDE, in modo da costruire delle celle che “facciano riferimento” alle celle del foglio DDE e riflettano dinamicamente il loro contenuto. www.santeleone.com Investment & Financial Research
Investment & Financial Research Le Variabili (esempio) Immaginiamo di aver inserito nella cella “A1” del foglio “DDE!” il codice DDE che contiene i valori dinamici relativi all’ultimo prezzo (Last) del titolo Fiat. www.santeleone.com Investment & Financial Research
Investment & Financial Research Le Variabili (esempio) Colleghiamo quindi una cella, ad esempio la “B1” del foglio “Sistema!” alla cella “A1” del foglio “DDE!” scrivendo nella K10 la formula seguente: =DDE!A1 www.santeleone.com Investment & Financial Research
Investment & Financial Research Le Variabili (esempio) Visualizzeremo ora nella cella B1 del foglio Sistema i valori del titolo Fiat man mano che essi variano e potremo collegare a questa cella una o più variabili VBA da utilizzare nelle macro del nostro sistema. www.santeleone.com Investment & Financial Research
Investment & Financial Research Le Macro in VBA Dim Variabile1 As Variant Variabile1 = Worksheets("Sistema").Range(“B1").Value Abbiamo costruito così un piccolo algoritmo che mediante il flusso di dati DDE influenza sia la cella B1, sia la variabile Variabile1 e potremo quindi utilizzare il dato (nel caso specifico il prezzo Last di Fiat) sia costruendo formule nelle celle del nostro foglio di calcolo che utilizzino i valori dinamici della B1, sia costruendo macro che sfruttino la variabile “Variabile1”. www.santeleone.com Investment & Financial Research
Investment & Financial Research La Macro Linkchange Per far sì che il foglio elettronico si accorga della variazione intervenuta in una o più variabili collegate attraverso DDE, costruiremo una macro che chiameremo Linkchange. Ogni volta che il programma riceverà un impulso dal flusso di dati DDE, richiamato dal codice dello strumento finanziario il cui valore si è modificato, la macro Linkchange lancerà un’altra macro che attiverà il motore del sistema. www.santeleone.com Investment & Financial Research
Investment & Financial Research La Macro Linkchange Il foglio di calcolo lancia la macro denominata “Macro1” al modificarsi del valore dello strumento collegato al codice DDE|X!'XXXXyX.XyX;xxxx' fornito dal nostro intermediario e contenuto in una qualsiasi cella del foglio elettronico ActiveWorkbook.SetLinkOnData "DDE|X!'XXXXyX.XyX;xxxx'", "Macro1" www.santeleone.com Investment & Financial Research
Tutto il materiale relativo a questa presentazione è disponibile gratuitamente online nell’area Materiali Didattici su http://www.santeleone.com Investment & Financial Research Sito di informazione, studio, ricerca ed analisi in materia di Investimenti & Mercati Finanziari (Par. 79 Direttiva MIFID 2006/73/CE) Sante Leone Capital Management Investment & Financial Research
Sante Leone Capital Management http://www.santeleone.com Investment & Financial Research Sito di informazione, studio, ricerca ed analisi in materia di Investimenti e Mercati finanziari (Par. 79 Direttiva MIFID 2006/73/CE) www.santeleone.com Investment & Financial Research