Course Info
Everything practical in one place: prerequisites, grading, how the PC Labs work, software setup, and how to reach us.
At a glance
- 20598 — Finance with Big Data, MSc course, Department of Finance, Bocconi University
- 8 ECTS · First semester · Taught in English
- Course Director & Instructor: Clément Mazet-Sonilhac — clement.mazetsonilhac@unibocconi.it
- Teaching assistant: Andrea Andolfatto — andrea.andolfatto@phd.unibocconi.it
Prerequisites
You should be comfortable with Python and its data stack (pandas, scikit-learn) from first-year courses in machine learning, databases, and big data processing.
No finance background is required — the course builds the finance toolkit from the ground up, starting in Week 1.
Grading
For attending students:
| Component | Weight |
|---|---|
| PC Labs (team-based; the lowest score is dropped) | 30% |
| Final project or paper presentation | 30% |
| Final written exam | 30% |
| Class participation | 10% |
For non-attending students: final project or paper presentation (50%) and final written exam (50%).
Details on the final project / paper presentation and on the exam are announced in class. The course is interactive and hands-on, so attendance is strongly recommended.
PC Labs: how they work
- One lab per week, done in groups, in Python. Each lab is a short case study with real data — see PC Labs.
- Groups of 3 students (4 is fine too). Form your group at the start of the semester; it normally stays the same throughout.
- You submit one Jupyter notebook per group, by email to both the instructor and the TA.
- Email subject — and first line of the notebook:
PCLab#N - Group X - Name1 Name2 Name3. - Deadline: Friday at midnight of the lab’s week.
- Your lab grade rewards: submitting on time, code quality (comments, readability, functions), notebook structure (explain what you do and why), and completing the tasks.
- After each deadline, a full model solution is published on the lab page.
Use of AI tools
This is a course about extracting signal from data with modern tools — AI assistants are part of that toolbox, and pretending otherwise would be dishonest. The policy:
- Allowed: using AI tools (ChatGPT, Claude, Copilot, …) in the PC Labs to write and debug code, explore approaches, and polish your writing.
- Required: you must understand and be able to defend every line you submit — in class we may ask any group member to explain any part of their notebook. Interpretation, economic reasoning, and design choices must be your own: that is what we grade.
- Disclose it: add a short note in your notebook saying how you used AI (“Copilot for boilerplate, ChatGPT to debug the optimizer” is fine). Honest disclosure is never penalized; hidden reliance you cannot explain is.
- The written exam is AI-free, so treat the labs as training for your own understanding, not as a delegation exercise.
Software setup
Any working Python 3 + Jupyter setup is fine. Two easy routes:
- Google Colab — runs in the browser, nothing to install, most packages preinstalled.
- Local install — the Anaconda distribution ships Python, Jupyter, and most of the scientific stack.
Packages used across the semester (each lab states what it needs — install as you go, or all at once):
pip install pandas numpy matplotlib plotly scikit-learn xgboost catboost nltk gensim transformers beautifulsoup4 yfinance
A couple of labs use extra tools for optional parts (e.g. ekphrasis for tweet preprocessing, TensorFlow/Keras for autoencoders) — they are introduced in the lab text when needed.
Communication & questions
- This site is the single reference for materials: slides, assignments, datasets, and solutions.
- Official announcements and course files also go through Bboard.
- Questions? Ask in class, or post on the course forum — an open Q&A board where the teaching team and your classmates answer. A question asked there helps everyone stuck on the same line; the same question by email helps one person.
- For anything personal — grades, deadlines, circumstances — email us directly.
Readings & resources
The papers behind the course, by theme. Items marked 📄 are hosted on this site; the lecture slides cite further references week by week. None of this is exam material unless said so in class — read what the current week makes you curious about.
Asset pricing: the classics (Weeks 2–4)
- Sharpe (1964), Capital Asset Prices: A Theory of Market Equilibrium under Conditions of Risk, Journal of Finance 📄 — the CAPM, from the source.
- Fama & French (2004), The Capital Asset Pricing Model: Theory and Evidence 📄 — why the CAPM fails empirically, by the people who proved it.
- Frazzini & Pedersen (2014), Betting Against Beta, Journal of Financial Economics — what a flat security market line implies for trading.
- Feng, Giglio & Xiu (2020), Taming the Factor Zoo, Journal of Finance — how many published factors are real?
Machine learning in finance (Weeks 4–5, Labs 3–4, 8)
- Gu, Kelly & Xiu (2020), Empirical Asset Pricing via Machine Learning, Review of Financial Studies — the anchor paper for ML in asset pricing (your Lab 4 R² formula lives here).
- Jiang, Kelly & Xiu (2023), (Re-)Imag(in)ing Price Trends, Journal of Finance — a CNN reads price charts.
- Kelly, Papanikolaou, Seru & Taddy (2021), Measuring Technological Innovation over the Long Run, AER: Insights — the text-similarity method behind Lab 8.
- Bonelli (2023), Data-driven Investors — what happens when VCs adopt data technologies.
Sustainable finance (Week 6 Hackathon)
- Krueger (2015), Corporate Goodness and Shareholder Wealth, Journal of Financial Economics 📄 — the event-study playbook the Hackathon applies.
- Pedersen, Fitzgibbons & Pomorski (2021), Responsible Investing: The ESG-Efficient Frontier, Journal of Financial Economics.
- Sigwatch data note 📄 — documentation of the NGO-campaign dataset.
Banking (Weeks 7–9)
- Diamond & Dybvig, explained (2007) 📄 — bank runs and liquidity transformation, accessibly.
- Nobel Prize 2022 scientific background 📄 — read in class in Week 7.
Payments & crypto (Weeks 10–11)
- Nakamoto (2008), Bitcoin: A Peer-to-Peer Electronic Cash System 📄 — nine pages that started an asset class.
Documentation you will live in
pandas · scikit-learn · statsmodels · Plotly · nltk