Course Syllabus
Obiettivi
Fornire competenze professionalizzanti che consentano di utilizzare e/o implementare soluzioni di Business Intelligence/Analytics e Data Science per la gestione e l'analisi dei dati finanziari, sia in modalità batch che online.
In particolare si forniranno competenze per lo sviluppo di soluzioni di analisi dei dati relativi ai mercati finanziari.
Contenuti sintetici
- I mercati finanziari: organizzazione, microstrutture e tecnologie (Limit Order Book & Matching Engine)
- I mercati finanziari come "data generators": strumenti e tipi di operatori attivi
- Asset allocation: il portafogli di Markowitz e il Capital Asset Pricing Model
- Pricing dei prodotti derivati
- High Frequency Trading (HFT): arbitraggi su titoli, derivati e valute
- Algoritmi statistici e di Machine Learning per la previsioni di ritorni e prezzi di titoli finanziari
- Python per la finanza: un'introduzione
- Progettazione di applicativi di Predictive analytics e Algorithmic Trading
Programma esteso
- Introduzione agli stumenti finanziari (strumenti di debito, azioni, stumenti derivati)
- Il mercato finanziario: tipi di ordine di mercato
- Rischi delle attività finanziarie, ritorni e funzioni di utilità
- Correlazione, covarianza, media e varianza dei ritorni
- Gestione Asset e Portafogli: il modello di Markowiz e il Capital Asset Pricing Model
- Digitalizzazione del mercato finaziario: Limit Order Book e Matching Engine, tipologie estese di ordini
- Il problema del forecasting di serie temporali finanziarie
- Approcci statistici per il forecasting: ARMA e sue estensioni (ARIMA, S-ARIMA, ARIMA-X, S-ARIMA-X), GARCH
- Alcuni approcci di Machine Learning per il forecasting: KNN per il forecasting di serie temporali, Reti Neurali, Support Vector Machines
- Introduzione a Python
- Download e analisi di dati finanziari (con Python)
- Rappresentazione e manipolazione di dati finanziari con Python
Prerequisiti
- Basi di Dati;
- Probabilità e statistica;
- Programmazione
Modalità didattica
L'attività formativa si articolerà in lezioni frontali ed esercitazioni in cui verranno presentati gli applicativi open-source e le piattaforme disponibili sul mercato che saranno alla base dell'attività di laboratorio dedicata all'impostazione e allo sviluppo di un progetto che potrà consistere nella realizzazione o di applicativi di analytics per dati finanziari o di un applicativo di trading.
Le lezioni sono tenute in italiano e si articolano in:
- 32 ore di lezioni in modalità erogativa in presenza
- 42 ore di laboratorio ed esercizatione in modalità erogativa in presenza
Materiale didattico
- Slide del corso fornite dai docenti
- Articoli suggeriti durante il corso
- Testo:
"Machine Learning for Algorithmic Trading: Predictive models to extract signals from market and alternative data for systematic trading strategies with Python", Stefan Jansen, Packt Publishing Ltd. (2020)
oppure
"Computational Finance - An Introductory Course with R", Argimiro Arratia, Atlantis Press (2014)
Periodo di erogazione dell'insegnamento
Laurea Triennale - Terzo anno - Secondo Periodo
Modalità di verifica del profitto e valutazione
La modalità di verifica consiste in:
1) Una prova intermedia (non obbligatoria) composta da 5 domande a risposta "aperta" e 1 esercizio relativo agli argomenti del corso
La valutazione della prova intermedia sarà riportata attraverso un rating quali-quantitativo:
- Non sufficiente [<18]
- Sufficiente [18->22]
- Buono [23->26]
- Eccellente [27->29]
- In alto [ >30]
La prova intermedia NON è obbligatoria: una valutazione almeno “sufficiente” consente allo studente di evitare domande sugli stessi argomenti all'esame finale.
2) La prova finale sarà così organizzata:
-
Esame orale: Su argomenti presentati durante le lezioni dai docenti.
-
Gli argomenti della prova intermedia non faranno parte della prova orale per gli studenti che la superano.
-
Progetto:
Sviluppo di un'applicazione, in R, per l'analisi dei dati finanziari. Oltre ad una relazione, il progetto verrà discusso, attraverso una serie di slides.
Le scadenze per la presentazione del progetto saranno indicate su Moodle.
Il voto finale è costituito dalla media tra la prova parziale (o in alternativa dalla prova orale) ed il voto relativo al progetto (qualità della relazione e dell'esposizione).
Orario di ricevimento
Su appuntamento
Sustainable Development Goals
Aims
Training participants to be able to professionally use and/or implement business intelligence/analytics and data science applications with particular emphasis on management and analysis of fdinancial data, both batch and online.
More precisley, the course will provide competences for the development of solutions aimed at supporting financial market analysis.
Contents
- Financial markets: organization, micro-structures and technologies (Limit Order Book & Matching Engine)
- Financial markets as "data generators"
- Asset allocation: Markowitz's model and Capital Asset Pricing Model
- Pricing of derivatives
- High Frequency Trading (HFT): arbitrage techniques
- Statistical and Machine Learning methods for stocks prices/returns forecasting
- Python for finance: an introduction
- Design of applications for Predictive analytics and Algorithmic Trading
Detailed program
- Introduction to financial assets (debts, stocks, derivatives)
- Financial markets: types of orders
- Risks of financial activities, returns, and utility functions
- Correlation, covariance, and mean-variance of returns
- Asset and Portfolio management: Markowiz's model and Capital Asset Pricing Model
- Digitalization of Financial Markest: Limit Order Book and Matching Engine, extended types of orders
- Forecasting financial time series
- Statical methods for forecasting: ARMA and its extensions (ARIMA, S-ARIMA, ARIMA-X, S-ARIMA-X), GARCH
- Some Machine Learning methods for forecasting: KNN for time series forecasting, Neural Networks, Support Vector Machines
- Introduction to Python
- Data download and analysis (with Python)
- Representing and Handling financial data with Python
Prerequisites
- Data Bases;
- Statistics;
- Coding
Teaching form
The training will consist of lectures, tutorials that will present the details of computational methods needed for the development of a project and support activites in laboratory.
The course is taught in Italian and are organized as follows:
- 32 hours of in-person lessons
- 42 hours of in-person laboratory
Textbook and teaching resource
- Slides provided by the teachers
- Papers suggested during the course
- Book:
"Machine Learning for Algorithmic Trading: Predictive models to extract signals from market and alternative data for systematic trading strategies with Python", Stefan Jansen, Packt Publishing Ltd. (2020)
or
"Computational Finance - An Introductory Course with R", Argimiro Arratia, Atlantis Press (2014)
Semester
Bachelor degree - third year - second period
Assessment method
The exam will be organized as follows:
1) An intermediate test consisting of 5 questions requiring an "open-answer" and 1 exercise related to the topics of the course
Evaluation of the intermediate test will be reported through a quali-quantitative rating:
- Not sufficient [<18]
- Sufficient [18->22]
- Good [23->26]
- Excellent [27->29]
- Top [ >30]
The intermediate test is NOT mandatory: a rating at least "sufficient" allows the student to avoid questions on the same topics at the final exam.
2) The final exam will be organized as follows:
-
Oral examination: On topics presented during lessons by teachers.
-
Topics of the intermidiate test will not be part of the oral examination for students who pass the test.
-
Project:
Development of an application, in R, for the analysis of financial data. In addition to a report, the project will be discussed , through a set of slides.
Deadlines for submitting the project will be indicated on Moodle.
Office hours
On appointment