Programming in Finance and Economics I
People
Course director
Description
The topics include
- The Jupyter Notebook environment, Positron and the Anaconda Environment
- Recap of basic Python: variables, types, operators and main commands
- Modular programming: User-defined functions and loops
- Working with data in Python, data sources and data APIs
- Making use of AI services and service APIs
- A short introduction to numerical algorithms
- Optimization
- Finding and installing Python packages
- How to write a successful program or an entire research report in Python
- Finding errors, improving Python programs and getting help from AI Copilots
Prerequisites
This course requires basic knowledge of a programming language, as specified in the admission criteria to the Master in Finance. For USI bachelor graduates, Informatica I is sufficient. Students from other universities require a similar introduction to programming.
Objectives
Many interesting problems in economics and finance can only be solved with the help of the computer, as no analytical solution exist or large amounts of data are involved. This course teaches how to solve quantitative problems with the help of Python, a powerful and widely used open source programming environment.
The course has the following goals:
- Learn the most important elements of the Python language
- Learn how to translate mathematical or statistical problems into the Python language
- Learn how to organize data efficiently with the help of Python
- Learn how to write efficient and durable Python programs
After this course, students should be able and confident to use Python independently for project work, courses such as numerical methods or for their master thesis.
Teaching mode
In presence
Learning methods
The course itself is organized in weekly two hour lessons. Each block introduces a new concept and employs learning-by-doing to move from theory to practice. Each leson starts with a short theoretical presentation before getting in touch with the programming environment. Students will then train their skills with programming exercises.
Students should bring a laptop with Anaconda and Python installed to all classes. (guidelines will be posted)
Examination information
40% Group Projects
- Gruoups of 3 persons choose one of the offered projects.
- It is possible to request for a custom project.
- Grading is based on four criteria:
- Completeness and correctness (Does the program work, produce correct results and perform all the tasks required?)
- Programming style (Is the program written elegantly, efficiently and well documented?)
- User documentation (Completeness, style)
- Complexity of the problem and the solution (Are requirements over/under satisfied in a relevant way?)
60% Exam
- The exam covers every topic discussed in class.
Usage of AI tools such as ChatGPT is allowed for the programming project, in fact it is assumed that participants use AI help. This will be reflected in the difficulty of the programming projects.
Education
- Master of Science in Economics, Lecture, minor Data Science, 1st year
- Master of Science in Economics, Lecture, Elective per 120, Elective, 2nd year
- Master of Science in Economics in Finance, Lecture, 1st year
Prerequisite
- Informatics I, Tenconi P., SA 2021-2022