Costruire un TS automatico con il foglio Excel(c)

Report
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

similar documents