Programming in Finance and Economics II
| Program start date | Application deadline |
| 2022-03-01 | - |
Program Overview
Programming in Finance and Economics II
Description
The course introduces students to advanced and powerful programming techniques, building upon the foundation of Programming in Finance and Economics I. It expands students' capabilities in R and features introductions to Python, MySQL, the Linux operating system, and smart contracts.
Prerequisites
- Programming in Finance and Economics I or equivalent course
- Keen interest in programming and quantitative problem solving
Objectives
The course has the following goals:
- Move from barely solving problems with R to advanced and well-organized programming, including writing packages
- Learning the basics of a second programming language: Python
- Learn to cover the entire Data Science toolchain from data acquisition to analysis, by integrating several programming languages and environments in a Linux-based cloud setting
- Learn how to use powerful alternative programming environments such as creating a mobile phone app using a no-code environment or writing smart contracts on the blockchain
- Learn how to manage IT projects, including self-management
Program
The course is structured along computational concepts, not applications. The topics include:
- Setting up a personal data server in the cloud: Linux, SQL, Web scraping, APIs, and Cron
- Advanced programming: Create an R package and learn about collaboration, style, and tools such as git
- Python and the Internet of Things (IoT): how to make the first steps in a new programming language
- Machine learning methods for textual data
- Algorithmic trading with Interactive Brokers. Setting up a paper trading system
- Writing smart contracts on the Algorand blockchain (optional, time permitting)
- Outsourcing: how to write a program specification and communicate with professional programmers (optional, time permitting)
- Nocode programming: Create a smartphone app using the Adalo platform (optional, time permitting)
Learning Method
The course is organized in seven blocks of four hours. Each block 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.
Exam Style
Grading is based on project work. Students perform small individual tasks and collaborate in groups on larger programming projects.
- 33% Small individual tasks (write three one-page summaries)
- Criteria: completeness, own contribution + insights, structure+readability, literature
- 67% Programming projects in small groups (best two out of three projects)
- Criteria: correctness+completeness, programming style, quality of documentation, difficulty/complexity/comprehensiveness
Requested Material
Students should bring a laptop with R and R Studio installed to all classes. Further software (Python, SQL, Terminal) will be installed together or will be used on a server. Students will be required to purchase an IoT kit for approx. CHF 20 and server space for approx. CHF 25.
Readings/Textbooks
Relevant online resources will be discussed in the first lecture.
Education
The course is part of the following programs:
- Master of Science in Economics, Core course, Minor in Data Science, 1st year
- Master of Science in Economics, Elective course, Minor in Public Policy, 2nd year
- Master of Science in Economics in Finance, Core course, Digital Finance, 1st year
- Master of Science in Economics in Finance, Core course, Quantitative Finance, 1st year
Additional Information
- Semester: Spring
- Academic year: Not specified
- ECTS: 3.0
- Language: English
