Costruire un TS automatico con il foglio Excel(c)

Download Report

Transcript Costruire un TS automatico con il foglio Excel(c)

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

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

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

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

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

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

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

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

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

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

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

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

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