MF 602

Programming Refresher for Mathematical Finance

Course Description

MF 602 develops computational problem-solving skills for students in the master’s degree program in mathematical finance.

The course will cover the fundamentals of programming, including working with data (numbers, strings and lists), arithmetic, functions, recursion, iteration, data files, graphing, and object-orientation.

Finance-specific applications will include: the time value of money and bond pricing/analytics, descriptive statistics for quantifying risk/return in stock investments, matrix operations and linear algebra, options pricing algorithms, Monte-Carlo simulation, minimum variance portfolios and the efficient frontier.

Prerequisites
No prior experience is required. If you do have prior programming experience — including experience in Python — you will still benefit from the course. Among other things, it should help you to develop or strengthen problem-solving skills that are needed for further study in mathematical finance — including ways of thinking that are not typically emphasized or even covered in most introductory programming courses.
Teaching/Learning Method

Learning to program is a skill that takes practice, similar to learning a sport or a musical instrument. You cannot learn to play basketball by simply watching the Celtics; rather, you need to go to the gym and practice your shots. This course is designed around a set of weekly assignments, which you must complete in order to master the material. It is not possible to learn how to program by simply “watching.” To become a programmer, you must actively program!

In general, this class will be teaching by examples. Students must come to class with a laptop computer and the required software installed and be prepared to follow along with and discuss the examples in class. All example code will be posted online after class, but students will obtain the greatest benefit from writing the example in class.

Assignments will often be very time consuming, so you must plan ahead and start early. Each week’s assignment is due on the Sunday following the week of class, and is a necessary building block for the following week’s material.

Online Textbooks

How to Think Like a Computer Scientist with Python 3 by Peter Wentworth, Jeffrey Elkner, Allen B. Downey, and Chris Meyers

Specific readings will be assigned each week. To get the most out of class time, you should read the assigned sections BEFORE coming to class.

Requirements
  • Weekly assignments (40% of the final grade)
  • Exams: one midterm exam (25%) and a final exam (25%)
  • Attendance and participation (10%)
  • To pass the course, you must earn a passing grade for each of the three components.*