Advanced level. Corso Matlab :



Похожие документы
Introduzione al MATLAB c Parte 2

Metodi Stocastici per la Finanza

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda

Tutte le interrogazioni possono essere condotte su qualsiasi campo della banca dati (ad esempio, Forma, Frequenza, Lunghezza, ecc...).

Automatizzare i compiti ripetitivi. I file batch. File batch (1) File batch (2) Visualizzazione (2) Visualizzazione

PROCEDURA INVENTARIO DI MAGAZZINO di FINE ESERCIZIO (dalla versione 3.2.0)

Corso Matlab : Sesta lezione (Esercitazione, 25/10/13) Samuela Persia, Ing. PhD.

Funzioni in C. Violetta Lonati

OSSIF WEB. Manuale query builder

FIRESHOP.NET. Gestione Lotti & Matricole.

Raggruppamenti Conti Movimenti

ESEMPIO DI QUERY SUL FILE Formario_minuscolo

E possibile modificare la lingua dei testi dell interfaccia utente, se in inglese o in italiano, dal menu [Tools

Eclipse - Nozioni Base

17 Gli scenari. cartelle di lavoro; unendoli poi in un

8.9 CREARE UNA TABELLA PIVOT

COMPILAZIONE DI UN APPLICAZIONE. 1) Compilare il file (o i file se più d uno) che contengono il testo del programma. compilatore

Excel. A cura di Luigi Labonia. luigi.lab@libero.it

Introduzione allo Scilab Parte 3: funzioni; vettori.

GESTIONE DEI BENI USATI

ISTRUZIONI PER LA GESTIONE BUDGET

GESTIONE INTERESSI DI MORA. Impostazioni su Gestione Condominio. Addebito interessi su codice spesa 22. Immissione/gestione versamenti

Editor vi. Editor vi

Per chi ha la Virtual Machine: avviare Grass da terminale, andando su Applicazioni Accessori Terminale e scrivere grass

Dati importati/esportati

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

Java:Struttura di Programma. Fabio Scanu a.s. 2014/2015

(Esercizi Tratti da Temi d esame degli ordinamenti precedenti)

A destra è delimitata dalla barra di scorrimento verticale, mentre in basso troviamo una riga complessa.

Grafici tridimensionali

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c

GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL GUIDA RAPIDA PER LA COMPILAZIONE DELLA SCHEDA CCNL

Corso di Laurea in Matematica. Seminario C/C++ Lorenzo Dusty Costa. Università degli Studi di Milano Dipartimento di Matematica

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

Università degli Studi di Ferrara - A.A. 2014/15 Dott. Valerio Muzzioli ORDINAMENTO DEI DATI

Convertitori numerici in Excel

LABORATORIO-EXCEL N. 2-3 XLSTAT- Pro Versione 7 VARIABILI QUANTITATIVE

Advanced level. Corso Matlab : Samuela Persia, Ing. PhD.

Per effettuare la stampa di una cartella di lavoro si accede al comando. Stampa dal menu File o si utilizza il pulsante omonimo sulla barra

Uso di JUnit. Fondamenti di informatica Oggetti e Java. JUnit. Luca Cabibbo. ottobre 2012

La grafica. La built-in funzione grafica plot. x spezzata poligonale. discretizzato

WG-TRANSLATE Manuale Utente WG TRANSLATE. Pagina 1 di 15

Olga Scotti. Basi di Informatica. Excel

Riccardo Dutto, Paolo Garza Politecnico di Torino. Riccardo Dutto, Paolo Garza Politecnico di Torino

ISTRUZIONI XCODE. Autore: Luca Florio (luca.florio<at>polimi.it)

Calcolo del Valore Attuale Netto (VAN)

Inizializzazione, Assegnamento e Distruzione di Classi

ARCHIVIAZIONE DOCUMENTI

Esercizio 1. Esercizi 5. Esercizio 3. Esercizio 2 CICLI

EXCEL FUNZIONI PRINCIPALI

GUADAGNARE CON LE OBBLIGAZIONI. Gianni Lupotto

Esercizio 1: trading on-line

Codifica: dal diagramma a blocchi al linguaggio C++

COSTER. Import/Export su SWC701. SwcImportExport

CONTROLLI AUTOMATICI E AZIONAMENTI ELETTRICI Ingegneria Meccatronica

Gestione Turni. Introduzione

Database 1 biblioteca universitaria. Testo del quesito

Studente: SANTORO MC. Matricola : 528

Hub-PA Versione Manuale utente

Come si individua il cheapest to delivery per il future obbligazionario nel basket di bonds sottostanti

2 Fortino Lugi. Figura Errore. Nel documento non esiste testo dello stile specificato Finestra attiva o nuovo documento

Introduzione allo Scilab Parte 1: numeri, variabili ed operatori elementari

Plate Locator Riconoscimento Automatico di Targhe

Introduzione. Macro macro istruzione. Sequenza di comandi memorizzati programma

Disegni di Ricerca e Analisi dei Dati in Psicologia Clinica. Rcmdr

Access. P a r t e p r i m a

Come modificare la propria Home Page e gli elementi correlati

Uso delle tabelle e dei grafici Pivot

Guida Software GestioneSpiaggia.it

Esercizio 2. Client e server comunicano attraverso socket TCP

Microsoft Excel. Il foglio elettronico Microsoft Excel Cartelle, Fogli di lavoro e celle Contenuto delle celle. Numeri, date, formule, testo, funzioni

GUIDA ALL UTILIZZO DEL PROGRAMMA TUTTORIFIUTI PER L ACCESSO AUTENTICATO AL PORTALE WEB

Procedura Index On Line

Arduino: Programmazione

Nell esempio verrà mostrato come creare un semplice documento in Excel per calcolare in modo automatico la rata di un mutuo a tasso fisso conoscendo

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database

Corso integrato di informatica, statistica e analisi dei dati sperimentali Altri esercizi_esercitazione V

Manuale NetSupport v Liceo G. Cotta Marco Bolzon

Calcolare il massimo di una lista

Veneto Lavoro via Ca' Marcello 67/b, Venezia-Mestre tel.: 041/

Invio SMS. DM Board ICS Invio SMS

PROMOZIONI ISTRUZIONI DI UTILIZZO

Definire gli attributi dei blocchi

La struttura a Termine dei Tassi d interesse

Per scrivere una procedura che non deve restituire nessun valore e deve solo contenere le informazioni per le modalità delle porte e controlli

Esame di Informatica CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO. Facoltà di Scienze Motorie

NUOVA PROCEDURA COPIA ED INCOLLA PER L INSERIMENTO DELLE CLASSIFICHE NEL SISTEMA INFORMATICO KSPORT.

Progetto NoiPA per la gestione giuridicoeconomica del personale delle Aziende e degli Enti del Servizio Sanitario della Regione Lazio

Fast Query Manuale Utente. Fast Query Manuale Utente

Il calcolo delle provvigioni con Excel

Nuova procedura di Cassa Contanti Wingesfar: istruzioni per le farmacie Novembre 2009

STAMPA UNIONE DI WORD

Cos'é Code::Blocks? Come Creare un progetto Come eseguire un programma Risoluzione problemi istallazione Code::Blocks Che cos è il Debug e come si usa

Soluzione dell esercizio del 2 Febbraio 2004

MODULO 5 ACCESS Basi di dati. Lezione 4

MICROSOFT WORD LA STAMPA UNIONE

Interpolazione ed approssimazione di funzioni

APRIRE UN PROGRAMMA DI FOGLIO ELETTRONICO

LA GESTIONE DEL FONDO PENSIONE COMPLEMENTARE : alcune risposte a quesiti comuni

Транскрипт:

Advanced level Corso Matlab : Quinta lezione (Esercitazione, 18/10/13) Samuela Persia, Ing. PhD.

Sommario Richiami Teoria Cenni File.m Debug Cenni Financial Toolbox Esercizi: Utilizzo degli m file Utilizzo del debug Primi esercizi sul Financial Toolbox

Teoria: uso.m file (script) Gli M-file sono semplici file di testo che contengono sequenze di comandi che l utente intende far eseguire a Matlab. Esistono due categorie di M-flie: i file script file funzione File script: contengono sequenze di comandi, non hanno input e output, operano su dati già presenti nello spazio di lavoro, e lasciano nello spazio di lavoro tutte le variabili che creano (variabili globali). La loro esecuzione ha lo stesso effetto che avrebbe l esecuzione dei comandi in sequenza dalla sessione interattiva Per creare un nuovo file script è sufficiente selezionare l opzione New del menu File e scegliere script Per invocare (lanciare) lo script basta digitarne il nome da linea comando

Teoria: uso dei menu Breakpoints e Debug Breakpoint: in Matlab è un marcatore, in corrispondenza del quale viene interrotta temporaneamente l esecuzione del programma. Ciò serve per: esaminare eventuali errori di sintassi o di runtime valutare i valori delle variabili correnti. Debug: dopo aver impostato un breakpoint è possibile utilizzare le opzioni Step, Step In, Step Out Queste opzioni servono per eseguire il codice interrompendolo in corrispondenza del breakpoint impostato.

Esercizi: File script-breackpoints Esercizio 1: creare lo script di nome Calcolo.m in cui 1. Si eliminino le variabili precedentemente create nel workspace 2. x1 sia un array 100 elementi da 2 a 20. 3. Creare la matrice A con: la prima riga pari a x1, la seconda riga con x2= x1* exp (x1), Calcolare B=log(A)+A^2; C= B+5^(A); Inserire breackpoints e vedere passo, passo la creazione delle variabili ed eventuali errori

Script Svolgimento 1-1: il Workspace viene cancellato con il comando clear all. Ciò viene fatto per evitare di sovrascrivere variabili Creiamo la matrice A a partire dal vettore x1: >> x1=linspace(2,20,100); 20 100); >> x2= x1.* exp (x1), >> A=ones(2,100); >> A(1,:)=x1; >> A(2,:)=x2;

Script Svolgimento 1-2: 1. Breackpoint 2. Run K>> indica che siamo in modalità debug

Script Svolgimento 1-3: step

Script Svolgimento 1-3: Correzione: log(a)+a.^2 Passo successivo Altro errore!!! Correzione: B+5.^(A)

Definizione function - richiamo teoria Function.m: è uno speciale M-file che, a differenza degli script, accetta argomenti in input, ritorna output a chi lo invoca, e genera variabili locali che non restano nello spazio di lavoro al termine dell esecuzione (variabili LOCALI, i loro valori sono disponibiliibili solo all interno della funzione). Si definisce con function [variabili_output] = nome_funzione (variabili_input) input) 1. la parola function deve avere tutte le lettere minuscole 2. le variabili di output devono essere racchiuse tra parentesi quadre 3. le variabili di input devono essere racchiuse da parentesi tonde 4. il nome del file deve essere uguale al nome della funzione 5. E utile scrivere una riga di commento, contenente le parole chiave

Invocazione function (1) - teoria Una funzione può essere invocata (lanciata) da linea comando, da uno script, o da un altra funzione In ogni caso l invocazione ha la forma: [vo1, vo2] = funzione(vi1, i1 vi2) In caso di funzione definita come [o1, o2] = funzione(i1, i2) vo = funzione(vi1, vi2) In caso di funzione definita come o1 = funzione(i1, i2)

Invocazione function (1) - teoria Con riferimento i alla funzione function [o1, o2] = funzione(i1, i2) Invocata come Si noti che: [vo1, vo2] = funzione(vi1, vi2) vo1, vo2, vi1, vi2 rappresentano nomi di variabili presenti nello spazio di lavoro da cui la funzione viene invocata o1, o2, i1, i2 rappresentano nomi di parametri di input e output della funzione Quando la funzione viene invocata, a i1 e i2 vengono assegnati i valori correnti di vi1 e vi2 Quando la funzione termina l esecuzione, alle variabili vo1 e vo2 vengono assegnati i valori di o1 e o2 calcolati dalla funzione La stessa funzione può essere invocata da contesti diversi con variabili diverse

m.file: function -Esercizi Esercizio 2: L array titolo contiene le quotazioni di un noto titolo azionario. Definire la funzione Valutazione.m tale che calcoli: 1. il numero di giorni in cui il titolo è stato superiore a 200 2. Calcolare media e deviazione standard del titolo. titolo=[220 330 221 198 208 206 188 196 200 204 219 205 177].

m.file: function -Esercizi Svolgimento 2-1: Per trovare quanti valori del vettore titolo sono maggiori di 200 bisogna utilizzare la funzione find Essa ci permette di trovare l indice del vettore a cui corrispondono i valori maggiori di 200 (consultare l help lhelp di matlab) titolo= [220 330 221 198 208 206 188 196 200 204 219 205 177]; Limite=200; Giorno=find(titolo>Limite) it >> 1 2 3 5 6 10 11 12 Giorni_Tot=length(Giorno) >> 8 NOTA!: il valore 200 non viene considerato perché gli abbiamo chiesto i valori > di 200

m.file: function -Esercizi Svolgimento 2-2: Media del titolo Media=mean(titolo) 213.2308 Deviazione standard del titolo Dev=std(titolo) 37.2607

m.file: function -Esercizi Svolgimento 2-3: Ora bisogna mettere tutto dentro la funzione Valutazione.m Si clicca con il destro e si sceglie New M-file e si nomina Valutazione.m Si apre il file e si scrivono due righe di commento per dire cosa fa la nuova funzione Bisogna definire le variabili di input Le variabili di output

m.file: function -Esercizi Richiamodella funzione Sul command Window Definire la variabile titolo Definire la variabile Limite Chiamare la funzione [Giorni, Media, Dev] = Valutazione (titolo, Limite)

m.file: function -Esercizi Esercizio3: Ripetere l esercizio precedente definendo la funzione ValutazioneEq che calcola: 1. Il numero dei giorni in cui il titolo è stato UGUALE al valore Limite 200 2. Media e Varianza titolo=[220 330 221 198 208 206 188 196 200 204 219 205 177].

m.file: function -Esercizi Svolgimento 3 Il test di uguaglianza si ottiene con l operatore ==

m.file: function -Esercizi Esercizio 4: I due array titoloa e titolob contengono le quotazioni di due titoli azionari in un periodo di due settimane. Creare una funzione Comparazione.m tale che 1. Calcoli il numero dei giorni in cui il titoloa è stato superiore a titolob. 2. Calcoli media e deviazione standard di titoloa e titolob titoloa=[220 330 221 198 208 206 188 196 209 200 198 204 219 205 177] titolob=[167 189 200 199 202 208 200 193 199 210 216 222 210 202 201]

m.file: function -Esercizi Svolgimento 4 - Creazione di Comparazione.m : Bisogna paragonare gli elementi dei due array elemento per elmento -> uso ciclo for Bisogna contare i giorni solo SE il totoloa è maggiore del titolo B -> uso ciclo if Il conteggio dei giorni si ottiene creando la variabile GiorniSup e la si pone uguale a 0 all inizioio fuori dai cicli e poi succesivamente si incrementa nel ciclo if

m.file: function -Esercizi Svolgimento 4-1- Creazione di Comparazione.m :

m.file: function -Esercizi Utilizzo della funzione Comparazione.m : Si definiscono i titoli titoloa e titolob e si chiamam la funzione

Financial Toolbox - richiamo teoria Si definisce un toolbox un insieme di funzioni specifiche per eseguire opportune operazioni. In particolare il financial toolbox permette di eseguire le più comuni operazioni di finanza, ossia : 1. Gestire e convertire date 2. Analisi di valuta 3. Flussi di cassa 4. Analisi di rendimenti e tassi di interesse 5. Analisi di portafoglio di obbligazioni Nota: per ogni tipo di attività indicata ci sono un insieme di funzioni disponibili nel toolbox che hanno un prefisso comune ad indicare la tipologia di operazioni

Financial Toolbox gestire e convertire date Questo insieme di funzioni converte le date in diversi formati (inclusi quelli di Excel), calcola periodi di tempo tra due date, trova date di giorni di vacanza, ecc. datenum(): funzione molto importante perché permette di usare il toolbox in maniera efficiente. Converte la data dal formato stringa al formato numerico. Nota1: è importante perché la maggior parte delle funzioni del toolbox di finanza accettano il formato di data seriale. Nota2: Cosa è la data in formato seriale? Il numero di giorni passati a partire dal 1 Gennaio dell anno 1 A.D

Financial Toolbox gestire e convertire date Esercizio 5: Calcolare in formato seriale delle seguenti date: 15 Gennaio 1997 20 Ottobre 2011 1 Marzo 1995 usare formato mm/dd/yyyy con mm, dd, yyyy cifre usare formato dd-mmm-yyyy con dd cifre, mmm, stringhe, e yyyy cifre

Financial Toolbox gestire e convertire date Svolgimento 5: 15 Gennaio 1997 datenum( 15-Jan-1997 ) datemun( 01/15/1997 ) 20 Ottobre 2011 datenum( 20-Oct-2011 ) datemun( 10/20/2011 ) 1 Marzo 1995 datenum( 1-Mar-1995 ) datemun( 03/01/1995 )

Financial Toolbox Analisi di rendimenti e tassi di interesse Funzioni per calcolare gli interessi maturati, prezzi e rendimenti; La variazione dei prezzi (sensitivity) delle obbligazioni dovuta a variazioni nelle aspettative sui tassi futuri., attraverso il calcolo della Duration (Macaulay e Quasi Modified) che è una misura della sensibilità del prezzo di un obbligazione a una variazione dei tassi di interesse. La convessità: misura il cambiamento in Duration per piccoli shift sulla curva dei rendimenti > misura il secondo ordine di variazione del prezzo

Financial Toolbox Analisi di rendimenti e tassi di interesse Per vedere questo insieme di funzioni bisogna considerare note alcune nozioni base di finanza e nomenclatura, in particolare: SD Settlement date (Data di scadenza del pagamento) pg MD Maturity date (Data entro la quale viene riconsegnato il capitale iniziale) RV Par Value (Valore del rimborso) CPN Coupon Rate (Tasso nominale di rendimento, interesse periodico) YLD Yield (Rendimento)

Financial Toolbox Analisi di rendimenti e tassi di interesse (1) In base alle analisi che si vorranno effettuare potrebbero essere necessari dei parametri aggiuntivi Il valore di emissione (Issue Price), che corrisponde al prezzo al quale ciascun titolo viene emesso. Il valore nominale (Face Value), che corrisponde al capitale che viene sottoscritto nella fase iniziale i i e risarcito it alla scadenza (al (l netto degli interessi). La frequenza della cedola (Coupon p Payment Frequency) che corrisponde alla frequenza del pagamento della cedola. Basis point che esprime la variazione dei tassi di interesse, pari ad un centesimo di punto percentuale. Per esempio, se i tassi salgono da 9,65% a 9,80%, si dice che il tasso è salito di 15 basis points.

Financial Toolbox Analisi di rendimenti e tassi di interesse [p,ai] = prbond( SD, MD, face_value, CPN, CPN_frequency, Basis): calcola il prezzo P e l interesse maturato AI di un titolo caratterizzato da pagamenti di interessi periodici regolari [d,m] = bonddur(sd,md,rv,cpn,yld,per,basis): calcolaladurata di Macaulay d e la durata modificata m in anni per un titolo caratterizzato t da pagamenti di interessi iperiodici iregolari [pc,yc] = bondconv(sd,md,rv,cpn,yld,per,basis) PER : calcola la convessità di un titolo in termini di periodo pc, e di anni yc [p, AI]= prmat(sd,md,id,rv,cpn,yld): calcola il prezzo e l interesse maturato di un obbligazione ad interesse variabile alla maturità

Financial Toolbox gestire e convertire date Esercizio 6: Calcolare il prezzo di bond e l interesse maturato t con i seguenti dati: Data di scadenza del pagamento: 17 Maggio 1994 Data di maturità: 1 ottobre 1994 Data di emissione: 1 Gennaio 1994 Valore del rimborso: 100 Tasso nominale: 0.08 Rendimento annuo: 0.0707

Financial Toolbox gestire e convertire date Svolgimento 6: la funzione da usare è prmat con due output di uscita: prezzo e interesse [prezzo rate_mat] = prmat(datenum( 17-May-1997 1997') ), datenum( 1-Oct-1994'),datenum('1-Jan-1994'), 100, 0.08, 0.07) prezzo = 99.9332 rate_mat = 2.6082 Nota: le ultime versioni di Matlab accettano tra apici la data in formati stringa

Domande? Samuela Persia spersia@fub.itit