LABORATORIO SUL SOFTWARE IN AMBITO FINANZIARIO
Obiettivi formativi
L’obiettivo del corso è di fornire elementi base per la programmazione per la risoluzione di alcuni problemi classici per i corsi di Matematica, Economia e Finanza. Alla fine del corso, lo studente sarà in grado di: ottenere la soluzione di equazioni differenziali ordinarie; di disegnare grafici bidimensionali, tridimensionali e restrizioni di grafici tridimensionali; bidimensionali, tridimensionali e restrizioni di grafici
tridimensionali; di analizzare ed impostare la pseudocodifica di un
problema di natura finanziariache coinvolge l'utilizzo di processi
matematici ed econometrici e di scriverne i relativi codici.
Risultati di apprendimento attesi
Lo studente avrà acquisto conoscenze base riguardanti la tecnica di
programmazione in Matlab e in Python. Saprà scrivere codici riguardanti
problemi di matematica, statistica e matematica finanziaria. Acquisirà la
conoscenza di modelli finanziari e saprà scrivere codici, modificare ed
adattare codici preesistenti per adattarli a nuove esigenze.
In itinere, tali conoscenze saranno valutate attraverso esercitazioni in
aula e esercizi assegnati a casa e che si potranno discutere col docente.
Capacità di applicare conoscenza e comprensione:
lo studente sarà in grado di conoscere la sintassi e le strutture necessarie
alla programmazione; sarà altresì in grado di fornire una pseudocodifica
di una serie di problemi economici, econometrici e matematici che si
ripetono frequentemente nel contesto operativo.
La valutazione del raggiungimento di tali obiettivi avverrà tramite la
valutazione di esercitazioni svolte in aula e a casa e tramite la
valutazione di test in itinere e finali.
Autonomia di giudizio: lo studente avrà sviluppato una conoscenza tale
da essere in grado di valutare la correttezza e appropriatezza dei codici
elaborati, di saper individuare errori e saper procedere alla loro
risoluzione.
Contenuti Del Corso
Principi generali della programmazione. Istruzioni esecutive, iterazioni, scelte condizionali. Input e output, pseudocodifica.
MATLAB: interfaccia, operazioni su numeri, vettori e matrici, risoluzione di equazioni differenziali ordinarie e sistemi, risoluzioni di problemi di ottimizzazione vincolata e non vincolata; grafici.
Python: editor, pacchetti, istruzioni base ed avanzate.
Testi Di Riferimento
[*] C. Pocci , G. Rotundo, R. De Kok (2016) Matlab per le applicazioni economiche e finanziarie, I ed., Apogeo Education, ISBN / EAN8891619921 / 978889161992
[**] “Python per le applicazioni economico -- finanziarie”. Dispense del Corso.
[***] Slide delle lezioni
Metodologie Didattiche
Didattica frontale ed esercitazioni al computer.
Modalità di verifica dell'apprendimento
Test di verifica; lo studente deve essere in grado di scrivere le istruzioni MATLAB e Python che risolvono un problema specifico assegnato e di rispondere a domande sul programma eventualmente presentate tramite test a risposta multipla.
Criteri per l’assegnazione dell’elaborato finale
N/A
Il syllabus affronta temi collegati alla sostenibilità?
I temi della sostenibilità sono trattati in diverse lezioni della seconda parte del corso (dalla lezione 6 alla lezione 11). Questa parte è dedicata alla scrittura di codici matlab e/o Python per i modelli economico-finanziari trattati in questo e in altri corsi. In particolare, le tematiche relative al portafoglio (stima della frontiera), le tematiche relative alle regressioni di stile a' la Sharpe, e le questioni relative ai modelli di stima multivariati e smart beta comportano l'aggiunta di fattori ESG che lo studente deve includere nel modello. L'obiettivo è stimare l'impatto e/o la significatività (in tutti i modelli) e il ranking (nei modelli di regressione penalizzata) dei fattori di sostenibilità.
Settimana 1
Presentazione del corso e delle modalità di esame. Principi generali della programmazione. Istruzioni esecutive, iterazioni, scelte condizionali. Input e output, pseudocodifica.
Introduzione a Matlab: interfaccia, numeri, vettori, matrici. Operazioni elementari con vettori e matrici. File script. Risoluzione di sistemi lineari tramite moltiplicazione di matrici. [*] cap.1
[***] Slide lezione
Settimana 2
Figure. Istruzione random. Istogrammi.
Istruzione base plot, surf. M-files (function) ed utilizzo nei calcoli.
[*] Cap. 2 e Sezioni 3.1, 2.3, 2.7
[***] Slide lezione
Settimana 3
Introduzione a Python: interfaccia, pacchetti, numeri, vettori, matrici, array, liste. Operazioni elementari con vettori e matrici.
[*] cap 2.
[***] Slide lezione
Settimana 4
Le fonti dei dati econ/fin.
Pandas: gestione dei dataframe, operazioni I/O, serie storiche e correlazioni
[**] Teaching notes di Python
[***] Slide lezione
Settimana 5
Metodi iterativi per la soluzione di equazioni differenziali e sistemi di equazioni. Approfondimenti sul metodo di Newton.
[*] cap 5
[***] Slide lezione
Settimana 6
Test di valutazione intermedio.
Settimana 7
Autovalori, autovettori e loro applicazioni: a) PageRank b)
PCA
[*] cap 1
[***] Slide lezione
Settimana 8
Istruzione per risolvere una ODE. Il problema di Cauchy. [*] cap. 3: 3.1-3.3
Istruzione per risolvere un sistema di equazioni differenziali e rappresentazione delle traiettorie nello spazio delle fasi.
Applicazione a dati epidemiologici: Malthus e Verhulst
[*] cap 4
[***] Slide lezione
Settimana 9
Applicazioni econometriche per la finanza.
Applicazioni Python e Matlab
[***] Slide lezione
Settimana 10
Modello di Markowitz. Costruzione frontiera efficiente
Introduzione all’ottimizzazione vincolata. Applicazione di metodi euristici.
Matlab: Istruzioni portopt, fmincon. Costruzione di una function per i vincoli non lineari.
Python: ..
[*] cap. 6: 6.1-6.4.
[***] Slide lezione
Settimana 11
Portfolio models: Equal risk contribution
[***] Slide lezione