LABORATORIO SUL SOFTWARE IN AMBITO FINANZIARIO

LABORATORIO SUL SOFTWARE IN AMBITO FINANZIARIO

Anna Maria D'Arcangelis

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

Settimana 12