Code
MGFE FIN 6207
Niveau
M2
Discipline
Finance
Langue
Anglais/English
Crédits ECTS
2
Heures programmées
20
Charge totale étudiant
40
Coordonnateur(s)
Département
- Data analytics, Économie et Finances
Introduction au module
This course introduces students to Python programming for financial data analysis. It covers the use of notebooks, data manipulation with Pandas, financial data visualisation, descriptive statistics, web scraping, API-based data collection, introductory machine learning models, financial modelling applications and natural language processing in finance. Particular attention is paid to ethical issues related to financial data collection, data manipulation, algorithmic bias and the interpretation of model outputs.
Bloc de compétences
- 1. S’approprier les usages avancés et spécialisés des outils de l’intelligence digitale en s’assurant de leur impact durable et responsable
Compétences du bloc
- 1.2 - Actionner les outils de l'intelligence digitale de manière efficiente, pour accompagner les transformations sociétale, numérique, énergétique et environnementale des organisations, en s'assurant de leur impact durable et responsable.
Objectifs d'apprentissage du cours
By the end of this PGE M2 course, students will be able to:
Use Python notebooks to structure, document and execute financial data analysis workflows.
Manipulate, clean and analyse financial datasets using Pandas, including DataFrames, time series and financial indicators.
Produce and interpret financial data visualisations and descriptive statistics in order to identify trends and patterns.
Collect financial data from online sources using web scraping and APIs, while respecting ethical principles and access rights.
Apply introductory supervised machine learning models, including linear regression, Random Forest and LASSO, to financial prediction problems.
Evaluate model performance by identifying bias, overfitting and model selection issues in financial applications.
Apply selected financial models, including Value at Risk, CAPM and option pricing models, using Python.
Use basic NLP techniques to extract and analyse information from financial reports, press releases and economic news.
Design and present a Python-based financial data analysis project, including data collection, analysis, modelling, interpretation and ethical considerations.
Contenu : structure du module et agenda
Quick Introduction to Python and Notebooks
1.1 Why Python?
1.2 Advantages of Python in finance
1.3 Introduction to Jupyter Notebooks and Google Colab
1.4 Notebooks and Markdown
1.5 Structuring and documenting financial analyses
1.6 Basic Python execution: variable types and basic operations
1.7 Additional material for advanced students: examples of automated financial projects using notebooks
Data Manipulation and Analysis
2.1 Data manipulation with Pandas
2.2 Creating, manipulating and cleaning DataFrames
2.3 Processing financial time series
2.4 Calculating financial indicators
2.5 Ethical importance of avoiding data manipulation errors that may bias financial analysis
2.6 Visualisation and descriptive statistics
2.7 Financial charts with Matplotlib and Seaborn
2.8 Descriptive statistics for summarising financial data
2.9 Practical case: visualising market trends
Web Scraping and APIs
3.1 Introduction to web scraping
3.2 Extracting online data and HTML parsing
3.3 Ethical issues in scraping and respect for data terms of use
3.4 Using APIs to collect financial data
3.5 Accessing financial data through APIs such as Alpha Vantage and CoinGecko
3.6 Integrating collected data into financial analyses
3.7 Transparency in data collection and respect for access rights
3.8 Additional material for advanced students: advanced API use for real-time data
Introduction to Machine Learning in Finance
4.1 Supervised models for finance
4.2 Linear regression
4.3 Random Forest
4.4 LASSO
4.5 Application to financial asset price prediction
4.6 Model evaluation: bias, overfitting and model selection
4.7 Machine learning and algorithmic bias
4.8 Biases in financial datasets, including selection bias
Finance-Specific Models and NLP
5.1 Classical financial models in Python
5.2 Value at Risk
5.3 CAPM
5.4 Option pricing models
5.5 NLP in finance
5.6 Sentiment analysis from financial reports and economic news
5.7 Practical case: extracting information from financial press releases
5.8 Ethical issues in NLP and bias management in subjective text analysis
Final Project and Oral Assessment
6.1 Data collection through web scraping or APIs
6.2 Data analysis through visualisations and descriptive statistics
6.3 Machine learning models for prediction and result analysis
6.4 Written report on data collection, analysis, interpretation and ethical considerations
6.5 Oral presentation of the project
Contribution à l'atteinte des ODD (Objets du Développement Durable)
SDG 9 – Industry, Innovation and Infrastructure: This course contributes to SDG 9 by developing students’ ability to use Python, data analysis and machine learning tools to support data-driven innovation in financial decision-making.
Nombre d'ODD abordés parmi les 17
1
Apprentissage
Mixte
Méthode pédagogique
The course combines lectures, exercises and case studies through both individual and group work. Lectures introduce the main Python tools, data analysis methods and financial applications. Exercises allow students to progressively practise coding, data manipulation, visualisation, API use and machine learning techniques. Case studies and project work require students to apply Python to realistic financial datasets and to address ethical issues related to data collection, modelling and interpretation.
Système de notation et modalités de rattrapage
Attendance is mandatory for this course.
The assessment evaluates students’ ability to use Python for financial data collection, analysis, modelling and interpretation. It measures their capacity to structure analyses in notebooks, manipulate financial datasets, produce visualisations, use web scraping or APIs, apply introductory machine learning methods, interpret results and take ethical issues into account.
The half-group structure makes it possible to assess each student’s development capacity and involvement in the project. In addition to short quizzes or questions at the beginning of class, each student receives an individual mark out of 5.
The final grade is composed of:
Individual assessment through questions and class involvement: 5/20.
Individual Final project: 15/20.
The final project assesses students’ ability to collect relevant financial data, analyse it using Python, apply appropriate modelling techniques, interpret the results and present the full process in a written report and oral presentation.
Unjustified absences will result in a penalty equal to 20% of the module grade.
The second-chance assessment, CF2, requires students to adjust their project and complete an oral presentation in order to validate the module.
Règlement du module
Professor–Student Communication
The professor will communicate with students through their institutional school email address (IMT-BS/TSP) and/or the Moodle portal. No communication will be sent to personal email addresses. Students are responsible for regularly checking their IMT-BS/TSP mailbox and Moodle announcements.
Students may contact the professor by email using the professor’s institutional email address. When necessary, students may meet the professor during office hours or by appointment.
2. Students with Accommodation Needs
Students who have a disability or any specific accommodation need that may affect their ability to complete the required work must inform the professor during the first class, in order to facilitate the necessary arrangements in accordance with the school’s applicable procedures.
3. Class Attendance and Behaviour
Students are expected to attend class, arrive on time and behave respectfully throughout the session.
Unless explicitly authorised by the professor, the use of electronic devices, including computers, mobile phones and tablets, is prohibited during class. Students are not allowed to take photos, videos or audio recordings in the classroom without the professor’s explicit consent.
Students must avoid disruptive or disrespectful behaviour, including arriving late, leaving early, sleeping, reading non-course material, using inappropriate language, speaking over others, eating or drinking during class, or engaging in any behaviour that disturbs the class. A warning may be given for a first violation. Repeated violations may lead to penalties, exclusion from the class and/or disciplinary proceedings.
A delay of up to 10 minutes is tolerated at the beginning of class. Attendance will be recorded on Edusign during this 10-minute period using a QR code provided by the professor at the start of each session.
Leaving the classroom before the end of the session without the professor’s approval will be considered an absence.
In the case of remote learning, students must keep their camera on unless instructed otherwise by the professor.
4. Exams and Assessments
Students must arrive on time for exams and other assessments. A delay of up to 10 minutes is tolerated.
No student may continue an exam or assessment once the allocated time is over. No student may leave the room during an examination unless they have finished the exam and handed in all required documents.
Only the following items are allowed during exams:
pens;
student card;
a non-programmable calculator, or a programmable calculator with activated EXAM mode.
All other items are prohibited.
Possession of any unauthorised electronic device, even if turned off, will be considered cheating.
Possession of a programmable calculator without activated EXAM mode, even if turned off, will be considered cheating.
A random check may be carried out after students are instructed to activate EXAM mode. Failure to prove that EXAM mode has been activated after this instruction will be considered cheating.
Students are responsible for knowing how to activate EXAM mode on their calculator before the exam.
Any violation of the instructions given by the professor or the examination supervision team will be reported to the Discipline Committee.
Références obligatoires et lectures suggérées
[1] https://stackoverflow.blog/2017/09/06/incredible-growth-python/
[2] https://www.youtube.com/watch?v=_FxzEAIWvtE&t=153s
[3] http://www.sixthresearcher.com/didactic-materials/
Gayathri Rajagopalan. « A Python Data Analyst’s Toolkit. »
Vincent & Le Goff. « Apprenez à programmer en Python. »
Ben Stephenson. « The Python Workbook. »
Wes McKinney. « Python for Data Analysis: Data Wrangling with Pandas, NumPy, and IPython. »
Snowden, John. « Python For Beginners: A Practical Guide For The People Who Want to Learn Python The Right and Simple Way (Computer Programming Book 1). »
Mots-clés
Python, Scraping, Base de données, Analyse de données, Machine Learning
Prérequis
Les basiques de python.