Programming Technologies in Finance

Teaching Methodologies

The course adopts a theoretical and practical approach to developing skills in programming and financial analysis. It combines lectures with
practical exercises, case studies, and group projects, enabling students not only to understand theoretical concepts but also to apply them
in real financial situations.
Teaching Methodology:
– Lectures and Practical Demonstrations: Each topic is introduced with a theoretical explanation followed by a practical demonstration. The
use of libraries like Pandas and Plotly helps contextualize theory in financial data analysis, making it easier to understand and apply
concepts.
– Computer-Based Practical Exercises: At the end of each module, students participate in computer-based activities where they apply their
knowledge to financial scenarios, such as data import, time series visualization, and return calculation. These exercises reinforce learning
actively and allow experimentation with solutions to real problems.
– Case Studies and Group Projects: Students work with real data and develop group projects, such as dashboards and financial reports.
These activities simulate market scenarios, encouraging collaboration and the application of concepts in projects that mirror professional
challenges.
– Active Participation and Critical Reflection: During classes, discussions and critical analyses of exercises and projects are encouraged.
This active participation stimulates analytical thinking and allows students to exchange ideas and perspectives.
– Continuous Feedback and Support: The instructor monitors students’ progress through continuous feedback on exercises and projects,
adjusting explanations as needed and promoting continuous improvement.
– Final Objective: The methodology aims to prepare students for the market by developing not only technical skills but also teamwork,
communication, and problem-solving abilities, which are essential in the financial sector.

Learning Results

This course aims to equip students with fundamental Python programming knowledge and skills applied to the financial sector. Students
will:
1. Understand the use of the Python language in financial analysis and data management.
2. Develop practical skills in manipulating and visualizing financial data.
3. Learn to build and evaluate investment portfolios, incorporating return and risk metrics.
4. Acquire knowledge of asset allocation methods and portfolio optimization.
5. Apply task automation methods in Excel and create interactive dashboards for visualizing financial performance metrics.
6. Demonstrate the ability to develop dynamic reports using Quarto and build interactive dashboards using Streamlit

Program

Introduction to Python for Finance:
– Introduction to the Python language and setting up the development environment.
– Basic control structures, functions, and loops.
Data Importing and Visualization:
– Importing financial data from APIs and CSV/Excel files using Pandas.
– Data visualization with Pandas and Plotly.
Data Manipulation and Cleaning:
– Time series manipulation, handling missing data, and calculating returns.
Portfolio Creation and Risk Analysis:
– Building portfolios, calculating returns, and evaluating risk metrics.
Asset Allocation and Optimization:
– Optimization methods such as Efficient Frontier, Risk Parity, and 1/N, along with historical performance analysis.
Documentation and Automation:
– Creating financial reports with Quarto and automating tasks in Excel using XLWings.
Dashboards and Presentations:
– Creating interactive dashboards with Streamlit and presenting final projects.

Internship(s)

NAO

Bibliography

Main
Lewinson, Eryk, Python for Finance Cookbook (2nd Edition) (2022)
Hilpisch, Yves J., Python for Finance: Mastering Data-Driven Finance (2nd Edition) (2019)
Zvi Bodie, Alex Kane, Alan J. Marcus. Investments ISE (13th Edition) (2023)
Other References
McKinney, Wes. Python for Data Analysis: Data Wrangling with pandas, NumPy, and Jupyter (3rd Edition) (2022)
Portfolio Management in Practice, Volume 1: Investment Management (CFA Institute Investment Series) (2020)