Estratto del documento

Angela Petrosillo: valutazione di trading system con Matlab

…………………………………………………………………………………………

Valutazione di trading system con Matlab

Di Angela Petrosillo

Indice

  • 1. Introduzione a Matlab
  • 1.1 Premessa
  • 1.2 Interfaccia di Matlab
  • 1.3 Script di Matlab
  • 2. Come importare i dati su Matlab
  • 2.1 Introduzione
  • 2.2 Importare dati con “copia-incolla”
  • 2.3 Importare dati da foglio Excel
  • 2.4 Importare dati da un file di testo
  • 2.5 Importare dati in formato .csv
  • 2.6 Importare quotazioni storiche dal sito Yahoo
  • 3. Analisi della statistica descrittiva con Matlab
  • 3.1 Statistica descrittiva con Matlab
  • 3.2 Grafici con Matlab
  • 4. Analisi delle serie storiche
  • 4.1 Introduzione
  • 4.2 Trend
  • 5. Valutazione del trading system
  • 5.1 Introduzione
  • 5.2 Calcolo delle medie mobili
  • 5.3 Esempio di operatività
  • 5.4 Calcolo degli utili
  • 5.5 Indici di performance
  • Appendice A
  • Bibliografia 1

Angela Petrosillo Valutazione di trading system con Matlab

…………………………………………………………………………………………

2

Angela Petrosillo Valutazione di trading system con Matlab

…………………………………………………………………………………………

Introduzione

Nel mondo dell’economia, e con particolare riguardo al mercato borsistico, la tecnologia e l’informatica ricoprono un ruolo fondamentale; oggigiorno, infatti, gli operatori utilizzano gli elaboratori anche per coadiuvarsi nelle scelte operative.

Pare opportuno evidenziare che esistono due tipi di analisi, quella fondamentale e quella tecnica. La prima è finalizzata alla previsione del comportamento della massa degli operatori e ha lo scopo di individuare il vero valore di uno strumento borsistico.

Si decide di acquistare o vendere a seconda che il valore ‘vero’ sia inferiore o superiore a quello di mercato; il che significa prevedere un apprezzamento o un deprezzamento del valore dell’azione o dell’obbligazione. L’analisi fondamentale si basa su due ipotesi: che il mercato sia inefficiente, in quanto i prezzi di mercato non corrispondono ai valori reali; e che la capacità di valutazione di chi redige le stime sia superiore a quella media di mercato.

La seconda, l’analisi tecnica, racchiude, invece, diverse metodologie che si basano sul comportamento imitativo degli operatori anche se esistono tecniche di previsione dell’andamento dei prezzi. Essa si suddivide in:

  • Analisi predittiva: che si propone di prevedere l’evoluzione futura dei prezzi degli strumenti borsistici attraverso modelli ARCH, GARCH, e così via;
  • Analisi grafica: basata su configurazioni grafiche dei prezzi;
  • Analisi algoritmica o quantitativa: basata su indicatori numerici, come le medie mobili, il ROC, ecc.;
  • Analisi tecnica sistematica: basata su algoritmi sofisticati in grado di individuare pattern di prezzo e strategie di trading (algoritmi genetici, reti neurali, ecc.);
  • Analisi ciclica: è un’analisi macroeconomica che si basa sul concetto che i movimenti di borsa seguano particolari cicli;
  • Analisi non convenzionale: astrologia, cicli lunari, e così via. 3

Angela Petrosillo Valutazione di trading system con Matlab

…………………………………………………………………………………………

Questo lavoro si concentrerà sull’analisi dei prezzi di chiusura di alcuni

1 scaricati dal sito internet http://it.finance.yahoo.com/ e che l’esecutore del programma potrà di volta in volta scegliere quale analizzare. A tal riguardo, nel proseguo, si farà riferimento alle quotazioni della società Enel spa.

I prezzi di chiusura possono essere visti come una serie di osservazioni, che in generale viene denominata serie storica. Le osservazioni, ordinate temporalmente, vengono racchiuse in un vettore, ed è su questo vettore che si concentrerà l’analisi.

Il lavoro, dopo aver sinteticamente descritta la funzionalità di Matlab nel primo e nel secondo capitolo, si prefigge l’obiettivo, nel terzo, di valutare la statistica descrittiva. Il quarto capitolo si occupa, invece, dell’analisi del trend. Per concludere, il quinto e ultimo capitolo riguarda la valutazione del trading system preso in considerazione e che verrà dettagliatamente spiegato.

1 Enel, Eni, AG, Banca Italese, BMPS, Fiat, FNC, FNCPRV, ISP, LOttica, LTOMI, Mediaste, Medio Banca, Mediolanum, Parmalat e PMI. 4

Angela Petrosillo Valutazione di trading system con Matlab

…………………………………………………………………………………………

Capitolo 1

Introduzione a Matlab

1.1 Premessa

Matlab è un programma che utilizza un linguaggio ad alto rendimento per la computazione tecnica, ossia permette di effettuare svariati calcoli su matrici e vettori.

Esso è un sistema interattivo in cui l’elemento di base è un vettore. Ciò permette la risoluzione di molti problemi di calcolo tecnici, in particolare quelli con le formulazioni vettoriali e matriciali, attraverso algoritmi molto più semplici e snelli rispetto a quelli che sarebbero necessari in un programma di linguaggio scalare non interattivo quali C o il Fortran.

Il nome Matlab corrisponde al laboratorio della matrice. Esso era originariamente scritto per fornire facile accesso al software delle matrici; si è sviluppato dal Linpack e dall’Eispack, che rappresentano insieme la punta del progresso software per il calcolo delle matrici. Matlab si è evoluto durante gli anni con input da molti utenti. In ambienti universitari è l’attrezzo didattico standard per corsi introduttivi e corsi avanzati, nella matematica, nell’ingegneria, nella scienza e anche nell’economia. Matlab caratterizza una famiglia delle soluzioni application-specific denominate toolboxes. Molto utile per la maggior parte degli utenti di Matlab, toolboxes, fornisce le basi per applicare la tecnologia specializzata. I toolboxes sono collezioni complete di funzioni Matlab (M-files) che estendono l’ambiente di Matlab per risolvere particolari categorie di problemi.

1.2 Interfaccia di Matlab

Mandato in esecuzione il programma, Matlab si presenta composto da più finestre, ognuna delle quali ha la propria utilità e la propria denominazione. Di seguito vengono elencate: 5

Angela Petrosillo Valutazione di trading system con Matlab

…………………………………………………………………………………………

  • Current Directory: è la prima directory in cui Matlab cerca i file da eseguire.
  • Command Window: è la finestra in cui possono essere inseriti i comandi ed elaborati i programmi. Si riportano alcuni esempi di comandi: pwd oppure cd (per conoscere la Current Directory); ls oppure dir (per conoscere il contenuto della Current Directory); help nome_comando (per conoscere la sintassi di un comando); nome_file (per lanciare in esecuzione un m-file ossia un programma).
  • Workspace: è la finestra nella quale si possono vedere tutte le variabili memorizzate. Con un doppio click sopra una di esse si apre l’Array (simile ad un foglio di Excel) dove si può leggere e stampare il contenuto delle variabili.
  • Editor: è la finestra dove si può scrivere un programma; per eseguire tale programma è sufficiente digitare il nome del file (salvato con l’estensione “.m”) sul Command Window e premere il tasto invio.

1.3 Script di Matlab

Matlab permette di utilizzare tutti i comandi su un unico programma, dunque di scrivere, salvare e far eseguire il lavoro quando occorre. Tutto ciò viene effettuato su una finestra apposita che si apre semplicemente cliccando su “nuovo”, e che si salva con il nome che si desidera. Il file che contiene un programma lo si riconosce dall’estensione “.m”.

Prima di analizzare alcuni script utili per l’analisi che questo lavoro si propone di effettuare, è opportuno precisare che durante l’esecuzione del programma possano esserci delle spiegazioni, ossia dei testi scritti dall’utilizzatore. 6

Angela Petrosillo Valutazione di trading system con Matlab

…………………………………………………………………………………………

Una stringa di carattere viene assegnata attraverso gli apici ‘’. Si può assegnare una stringa in vari modi, come per esempio

a=’ciao’;

Un altro modo, per avere un output formattato, è quello di utilizzare il comando “disp”: disp(‘ciao’)

Inoltre, è possibile scrivere a video il contenuto di una variabile numerica: si deve usare il comando “num2str” (da numero a stringa):

n=3;

disp(num2str(n));

scrive a video “3”

Se il comando disp ha più di un argomento, si devono usare le parentesi quadre:

disp([‘n= ‘,num2str(n)]);

scrive a video n=3.

Nei prossimi capitoli, oltre a spiegare brevemente i passaggi per l’analisi delle serie storiche e per la valutazione del trading system, verranno illustrati gli script che devono essere utilizzati su Matlab per realizzare le analisi suddette. 7

Angela Petrosillo Valutazione di trading system con Matlab

…………………………………………………………………………………………

Capitolo 2

Come importare i dati

2.1 Introduzione

Una delle caratteristiche del programma in oggetto, e che merita un approfondimento, riguarda la possibilità di importare i dati salvati in formati differenti. Infatti, esistono varie metodologie affinché sia esplicata tale importazione, alcune delle quali verranno illustrate dettagliatamente nel proseguo.

2.2 Importare dati con “copia-incolla”

Il semplicissimo “copia e incolla”: la prima operazione da eseguire è quella di inserire i dati e salvarli nel formato “.dat” il quale permetterà di richiamare detti dati ogni qualvolta si ha bisogno di utilizzarli. Per creare un file formato “.dat” si supponga di lavorare sul Command Window; va da sé che gli stessi comandi possono essere utilizzati anche sull’Editor. Ipotizzando che il vettore sia ( 1 4 6 8 6 8 ) e venga denominato “prova”:

>>m=[1 4 6 8 4 6 8];

>>csvwrite(‘prova.dat’,m)

>>type prova.dat

per richiamare i dati:

>>load(prova)

se i valori hanno decimali, es 5,5, dovrà essere inserito al posto della virgola il punto:

5.5. 8

Angela Petrosillo Valutazione di trading system con Matlab

…………………………………………………………………………………………

2.2 Importare da un foglio Excel

Si possono richiamare i dati direttamente da un file Excel con il comando “xlsread(‘nomefile.xls’)”; si ipotizzi che il file sia stato denominato enel.xls, per richiamarlo da Excel in Matlab sarà sufficiente digitare:

>>A=xlsread(‘enel.xls’);

>>A=A’

Per maggiore chiarezza si riporta il file enel.xls e ciò che viene visualizzato su Matlab, enel.m: enel.xls 9

Angela Petrosillo Valutazione di trading system con Matlab

…………………………………………………………………………………………

enel.m

Dalle due immagini si nota che il file riportato è una matrice; si è già evidenziato in precedenza che il lavoro in oggetto ha l’obiettivo di analizzare un vettore. Cosa bisogna fare per scomporre la matrice? È semplicissimo:

>>N=A(1,:);

>>B=A(2,:);

>>C=A(3,:);

>>D=A(4,:);

>>E=A(5,:);

dove N è la prima colonna della matrice A; B è la seconda; C la terza e così via.

10

Angela Petrosillo Valutazione di trading system con Matlab

…………………………………………………………………………………………

2.3 Importare dati da un file di testo

Cosa si può fare se i dati sono riportati in un file di testo e non in un foglio elettronico Excel? Anche in questo caso Matlab fornisce delle soluzioni. Si supponga che il nome sia “file.txt” generato ovviamente con un programma esterno.

Innanzitutto si apre il file assegnandogli un nome interno, ad esempio nomefile, in lettura (‘r’ che sta per “read”); il nome del file esterno deve essere posto entro apici perché è una stringa.

Nomefile= fopen (‘file.txt’,’r’);

Si preleva dall’archivio nomefile la matrice A leggendo, ad esempio, due colonne di numeri in formato “%g”.

A=fscanf(nomefile, “%g %g”, [2 inf];

A=A’;

Si può notare che si utilizza il nome interno (nomefile); poi il formato(“%g %g”); e infine il numero di elementi per riga (2) e, non sapendo quante righe ci siano, si mette inf, il tutto entro parentesi quadre per indicare la matrice da prelevare.

Per ultimo si chiude il file:

fclose (nomefile);

Si riportano, di seguito, i comandi ritenuti più utili:

  • Aprire fopen(…)
  • Chiudere fclose(…)
  • Scrivere fprint(…)
  • Leggere fscanf(…) 11

Angela Petrosillo Valutazione di trading system con Matlab

…………………………………………………………………………………………

2.4 Importare dati in formato csv

Per importare ingenti quantità di dati da elaborare su Matlab spesso vengono utilizzati file con estensione “.csv” (comma separated value). Questi file sono semplici file di testo con una caratteristica particolare; i loro elementi sono separati da una virgola o da un punto e virgola. Inoltre i numeri decimali sono inseriti con carattere di separazione tra la parte intera e la parte decimale, utilizzando il carattere virgola, al posto dell’anglosassone punto; mentre il carattere di separazione tra gli elementi risulta essere il punto e virgola.

Potrebbe non sembrare un problema a prima vista, ma immediatamente si scopre che per Matlab, il punto e virgola e la virgola vengono considerate al pari per quanto riguarda il formato di file “.csv”, per cui è necessario sostituire tutti i caratteri virgola con il carattere punto. Aprire i file con un editor di testo e provvedere alla sostituzione è alquanto scomodo e richiede tempi lunghi soprattutto quando i dati sono numerosi. Si è ritenuto opportuno allora creare un breve e semplice script, contenente una funzione da far eseguire in Matlab, che provvedesse “da solo” a sostituire alla virgola il punto. Lo script è stato realizzato in linguaggio Java, esso altro non fa che copiare carattere per carattere un file in un altro file sostituendo la virgola con il punto.

function replaceCommaWithDot(inputFile, outputFile)

fin=java.io.FileInputStream(inputFile)

fout=java.io.FileOutputStream(outputFile)

ii=0;

punto=’.’;

while ii<1

ch=fin.read();

if ch==-1

ii=1;

end

if (ii<1) & ch≠=44

fout.write(ch);

end

if(ii<1) & ch==44 12

Angela Petrosillo Valutazione di trading system con Matlab

…………………………………………………………………………………………

fout.write (46);

end

end

fin.close();

fout.close();

Occorre precisare che il nome è lo stesso.

Si è visto come sostituire la virgola con il punto, ma non si è ancora in grado di importare un file “.csv”.

Anteprima
Vedrai una selezione di 12 pagine su 53
Valutazione di trading system con Matlab Pag. 1 Valutazione di trading system con Matlab Pag. 2
Anteprima di 12 pagg. su 53.
Scarica il documento per vederlo tutto.
Valutazione di trading system con Matlab Pag. 6
Anteprima di 12 pagg. su 53.
Scarica il documento per vederlo tutto.
Valutazione di trading system con Matlab Pag. 11
Anteprima di 12 pagg. su 53.
Scarica il documento per vederlo tutto.
Valutazione di trading system con Matlab Pag. 16
Anteprima di 12 pagg. su 53.
Scarica il documento per vederlo tutto.
Valutazione di trading system con Matlab Pag. 21
Anteprima di 12 pagg. su 53.
Scarica il documento per vederlo tutto.
Valutazione di trading system con Matlab Pag. 26
Anteprima di 12 pagg. su 53.
Scarica il documento per vederlo tutto.
Valutazione di trading system con Matlab Pag. 31
Anteprima di 12 pagg. su 53.
Scarica il documento per vederlo tutto.
Valutazione di trading system con Matlab Pag. 36
Anteprima di 12 pagg. su 53.
Scarica il documento per vederlo tutto.
Valutazione di trading system con Matlab Pag. 41
Anteprima di 12 pagg. su 53.
Scarica il documento per vederlo tutto.
Valutazione di trading system con Matlab Pag. 46
Anteprima di 12 pagg. su 53.
Scarica il documento per vederlo tutto.
Valutazione di trading system con Matlab Pag. 51
1 su 53
Sintesi
paradigm4-stock_thumble.jpg

Valutazione di trading system con Matlab

Questo lavoro riguarda l’analisi dei prezzi di chiusura di alcuni indici scaricati dal Yahoo Finanza, in particolare si è fatto riferimento alle quotazioni di Enel. L’esecutore del programma potrà di volta in volta scegliere quale titolo analizzare.

I prezzi di chiusura possono essere visti come una serie di dati, denominata serie storica. I dati, ordinati temporalmente, vengono racchiusi in un vettore; su questo vettore si concentrerà l’analisi.

Dopo aver sinteticamente descritto le funzionalità di Matlab nel primo e nel secondo capitolo e valutato la statistica descrittiva nel terzo, il quarto capitolo si occupa dell’analisi del trend. Il quinto capitolo riguarda la valutazione del trading system per mezzo di Matlab, il codice creato verrà dettagliatamente spiegato.

Indice

  • 1. Introduzione a Matlab
  • Premessa
  • 1.2 Interfaccia di Matlab
  • 1.3 Script di Matlab
  • 2. Come importare i dati su Matlab
  • 2.1 Introduzione
  • 2.2 Importare dati con “copia-incolla”
  • 2.3 Importare dati da foglio Excel
  • 2.4 Importare dati da un file di testo
  • 2.5 Importare dati in formato .csv
  • 2.6 Importare quotazioni storiche dal sito Yahoo
  • 3. Analisi della statistica descrittiva con Matlab
  • Statistica descrittiva con Matlab
  • Grafici con Matlab
  • 4. Analisi delle serie storiche
  • Introduzione
  • Trend
  • 5. Valutazione del trading system
  • Introduzione
  • Calcolo delle medie mobili
  • Esempio di operatività
  • Calcolo delle utilità
  • Indici di performance
  • Appendice
  • Bibliografia

Scarica il lavoro in pdf Valutazione di trading system con Matlab.

Scarica il file di Matlab.

D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi