Programming in Finance and Economics II
People
Course director
Description
Good programming knowledge is a powerful tool for researchers and practitioners. While agentic AI makes us more efficient, it still requires basic understanding of computing. Being able to manage AI agents is also still a valuable skill in the labor market. This course is based on the insight that Large Language models are Language models. So they work best with anything that can be represented as text. Therefore the first class will introduce the text-based tool stack. Further calsses introduce the students to advanced and powerful programming techniques. Building upon the foundation of Programming in Finance and Economics I, this course expands the students' capabilities.
The course is structured along computational concepts, not applications. The topics are:
- The text-based toolstack: Linux and shell, Python, git and GitHub; Open source software; Introduction to agents
- Managing AI agents; Managing token use
- Setting up a personal data server in the cloud: Linux, SQL, Web scraping, APIs and Cron
- Large Language Models: usage, limits, RAG, curating training data and fine-tuning models
- Algorithmic trading
- Prompt but Verify – assessing the output of AI systems
- Writing smart contracts (optional topic)
Requested Material
Students should bring a laptop to all classes with R, Rstudio, Miniconda, Python, Jupyterlab and Visual Studio Code installed. Further software will be installed together or will be used on a server that is made available to students.
Programming will mostly happen in Python, with occasional use of SQL, bash (Linux) and R.
Students may be required to purchase server space for approx. CHF 25/year for one project.
Students will need a (free) Github account. They will also need accounts with ChatGPT and Claude. Some of these tools may incur a cost. (Given that this description is written in June 2026, we cannot forsee which AI tools will be free or paid in February 2027.)
This class is generously supported by Datacamp.
Objectives
The course has the goal to deepen the programming skills of students and to empower them to continue deveopping their capabilities on their own. After this course, students should be able and confident to collaborate on a complex empirical project in economics, finance or data science or to create prototype software for a startup.
In detail, the course has the following objectives
- Move from barely solving problems with the computer to advanced and well-structured programming
- Add new languages and tools to the students' toolbox, including the LINUX toolstack
- Introduce students to important concepts such as databases or the blockchain
- Learn how to choose the appropriate programming environment
- Learn how to plan, manage, deploy and evaluate IT projects
- Efficiently using AI, including agentic AI
Teaching mode
In presence
Learning methods
The course is organized in seven blocks of four hours. Each block is dedicated to one topic.
Each class introduces a new concept and employs learning-by-doing to move from theory to practice. Students start with a short video tutorial and reading material before the course starts. The course block itself starts with a presentation of a new concept. Next, we study a sample program that illustrates this concept and try to understand the underlying ideas. Most of the time will be devoted to discussing practical implications and implementation details.
The goal of the lessons is not to cover every detail of a topic but rather to get students started with a new concept and to lay the foundations that allow them to independently deepen independently the topic.
Examination information
Grading is based on project work. Students perform the following.
Part 1: Two presentations (25%)
- Individual 5-min presentation on a computation topic
- Group presentation of 10-min on the project
- Criteria: completeness, own contribution + insights, structure+readability, convincing presentation
Part 2: Group work on two projects (total 75%)
- Collaborate in groups on two larger programming projects.
- Criteria: correctness+completeness, programming style, quality of documentation, difficulty/complexity/comprehensiveness, creativity of the solution
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
- Programming in Finance and Economics I, Gruber P., Montemurro P., SA 2021-2022