# Master of Science Program in Financial Mathematics

The Department of Mathematics offers a separate Master of Science in Financial Mathematics degree. Students of the Financial Mathematics Program develop a thorough understanding of the theoretical background of pricing models for financial derivatives and the underlying assumptions. Moreover, students learn to critically ascertain the applicability and limitations of these various models.

Faculty members and financial industry professionals work jointly to create a curriculum with relevancy to the field. Professors use a pedagogical approach emphasizing the use of computer simulations to illustrate the material. Through this approach, professors cover more material and students develop a thorough understanding of theory application while navigating the Program.

Professionals from the financial industry instruct a significant number of classes in the Program using methods to explore how models behave in practice under a variety of market conditions as well as to evaluate the validity of underlying assumptions and consequential violations of these assumptions. Students will learn to use these models to set up and evaluate the effectiveness of hedges by simulating various market conditions.

Full-time students following the five-quarter track complete the Financial Mathematics curriculum in five quarters, or 15 months. Students may elect to follow a three-quarter track, resulting in a more constrained curriculum with limited options for elective courses and must be enrolled full-time. Part-time students, on average, complete the Program in two to three academic years. The Program must be completed within four academic years from the date of matriculation. For the convenience of our working students, classes meet for three hours on weekday evenings.

Various software packages and data providers, (including Bloomberg terminals,) are licensed to the Program and will be provided free of charge.

The Financial Mathematics Program seeks candidates with a solid background in mathematics developed through majors such as mathematics, statistics, engineering, science, and economics. Additionally, relevant work experience and experience with computer programming skills, (including C++ and Python) are strongly taken into consideration by the Admissions Committee. We admit driven individuals that come from diverse educational, social, and geographic backgrounds. Candidates should be able to demonstrate excellence in both academics and leadership.

The courses listed below are subject to change each academic year. The current required courses can be found below:

FINM 32000 | Numerical Methods | 100 |

FINM 32600 | Computing for Finance in C++ (*) | 100 |

FINM 33000 | Mathematical Foundations of Option Pricing | 100 |

FINM 33150 | Regression Analysis and Quantitative Trading Strategies | 100 |

FINM 33410 | Probability for Risk Management | 050 |

FINM 33601 | Fixed Income Derivatives | 100 |

FINM 34500 | Stochastic Calculus | 100 |

FINM 36700 | Portfolio Theory and Risk Management I | 100 |

FINM 36702 | Portfolio Theory and Risk Management II | 050 |

FINM 37301 | Foreign Exchange: Markets, Pricing and Products | 50 |

Electives | 250 | |

Computing | 200 | |

Total Units | 1300 |

* | May be tested out of through placement exam |

### Financial Mathematics Courses

**FINM 32000. Numerical Methods. 100 Units.**

Implementing the theory introduced in Mathematical Foundations of Option Pricing (FINM 33000), this course takes a numerical/computational approach to the pricing and hedging of financial derivatives. Topics include: Trees as diffusion approximations; Finite difference methods for PDE solution; Monte Carlo methods for simulation; Fourier transform methods for pricing. Program requirement.

Instructor(s): R. Lee Terms Offered: Winter

**FINM 32500. Computing for Finance in Python. 100 Units.**

This course is intended to teach basic programming concepts and techniques to students desiring to work in the financial sector. It is tailored for students without prior programming experience. At the end of this class, students will have the necessary programming skills to be successful in their daily activities. We will cover the basics: control structures, data structures, functions, algorithms, and debugging. Additionally, we will cover object-oriented design and Python specific data handling. We will work on several projects aimed at building a real trading system.

Instructor(s): Sebastien Donadio Terms Offered: Autumn

Note(s): Counts toward computing requirement.

**FINM 32600. Computing for Finance in C++ 100 Units.**

No previous programming knowledge is assumed. In Computing for Finance in C++, we will introduce the syntax and semantics of C++ and basics of OO programming. As part of the course work, students will develop an OO option pricer using the Monte Carlo technique. Classes are taught using a combination of lectures and in class hands-on lab sessions. Program requirement.

Instructor(s): C. Liyanaarachchi Terms Offered: Winter

Note(s): Required if student does not pass the Computing for Finance in C++ placement exam. Counts toward computing requirement

**FINM 32700. Advanced Computing for Finance. 100 Units.**

This course is intended to teach advanced programming concepts and techniques to students desiring to work in the financial sector. It is tailored for students with basic knowledge in C++ programming. At the end of this class, students will have the necessary programming skills to be successful in their daily activities. We will cover the required skills to work as a quantitative researcher: advanced data structures (STL, Boost), parallel programming, inter-process communication, linear algebra computation, simulation and modeling. We will work on several projects aimed at building a real trading system including the implementation of a trading algorithm, handling the connectivity to an exchange/brokerage house and issues related to performance. Classes are taught using a combination of lectures and in class hands-on lab sessions.

Instructor(s): S. Donadio Terms Offered: Spring

Note(s): Counts toward computing requirement.

**FINM 32850. Case Studies in Computing for Finance. 100 Units.**

This course will introduce participants to the field of Computational Finance through real-world "end-to-end" case studies. The course will focus on the importance of data analytics and algorithmic processing and it will be centered around a series of examples that are representative of problems that practitioners in finance have to solve. The course is structured to cover two major themes; 1. Intro to Data analysis and Numerical algorithms in Computational Finance, and 2. Case studies of "end-to-end" system implementations. Prerequisites and recommended background: As a prerequisite, students will be required to have successfully completed two of the following courses: Computing for Finance in Python, Computing for Finance in C++ (or passed the placement exam) and Advanced Computing for Finance. The participants should also have basic familiarity with the use of MS Excel spreadsheets & VBA, as well as with the use of a high level programming language such as Python or R.

Instructor(s): C. Doloc Terms Offered: Autumn

Prerequisite(s): Two of the following three courses required: FINM 32500, FINM 32600 (or having passed the Computing for Finance in C++ placement exam), FINM 32700.

Note(s): Program elective.

**FINM 32950. Introduction to HPC in Finance. 50 Units.**

This short course introduces parallel programming and related concepts using some popular technologies (e.g. Intel's family of parallel models, OpenMP, CUDA etc.) at an introductory level. Application performance improvement using a systematic and structured approach is illustrated. Applications in finance are used to illustrate how to exploit parallelism to solve large scale computing problems. No prior knowledge of parallel computing is assumed. Previous coursework in C++ or Python (FINM 32500 or 32600 or 32700), or passing the FINM computing placement exam is required.

Instructor(s): C. Liyanaarachchi Terms Offered: Summer

Prerequisite(s): 1 of the following 3: FINM 32500, FINM 32600 (or having passed the Computing for Finance in C++ placement exam), FINM 32700

Note(s): Program elective.

**FINM 33000. Mathematical Foundations of Option Pricing. 100 Units.**

Introduction to the theory of arbitrage-free pricing and hedging of financial derivatives. Topics include: Arbitrage; Fundamental theorems of asset pricing; Binomial and other discrete models; Black-Scholes and other continuous-time Gaussian models in one-dimensional and multidimensional settings; PDE and martingale methods; Change of numeraire. Program requirement.

Instructor(s): R. Lee Terms Offered: Autumn

**FINM 33150. Regression Analysis and Quantitative Trading Strategies. 100 Units.**

Quantitative trading strategies, employing investment decisions based on model output, are a major component of business operations in the finance industry worldwide. We will present the major components of these strategies as found in several asset classes (equities, futures, credit, FX, interest rates and energy). A large proportion of the models involved in quantitative strategies are expressible in terms of regressions. We will cover most of the ways they are used, including practical tricks and considerations, and concentrating particularly on achieving trustworthy performance. Mathematically, we will cover the computation of linear regressions with and without weights, in univariate and multivariate cases, having least squares or other objective functions. Of the major computation technologies actively used by the finance industry (C/C++, Matlab, Java, R, VB/Excel, C\#, Python) we have chosen R and Python for numerical computation, with (very) light usage of Excel and with data coming from Quandl and some proprietary sources. Program requirement.

Instructor(s): B. Boonstra Terms Offered: Spring

**FINM 33160. Machine Learning in Finance. 100 Units.**

The course will focus on two Machine Learning categorization models: Logistic Regression and Support Vector Machines, both binary and multi-category. The course will develop the mathematical foundations for these models and the optimization algorithms for training them on actual data. The algorithms will be implemented in Python. The necessary parts of Python programming will be taught along the way as they are needed. The Machine Learning models will be used to train models for trading stocks based on both fundamental and technical data. The models will be implemented in Python, using several Machine Learning libraries such as Scikitlearn and back-tested using the web service Quantopian. At the end of the course, the students will develop and implement their own trading models and analyze the performance of their models.

Instructor(s): N. Nygaard Terms Offered: Winter

Note(s): Students must take at least one of: FINM 32500 and FINM 33160.

**FINM 33161. Machine Learning in Finance 1. 50 Units.**

Part 1 of a 2 part course. The course will focus on two Machine Learning categorization models: Logistic Regression and Support Vector Machines, both binary and multi-category. The course will develop the mathematical foundations for these models and the optimization algorithms for training them on actual data. The algorithms will be implemented in Python. The necessary parts of Python programming will be taught along the way as they are needed. The Machine Learning models will be used to train models for trading stocks based on both fundamental and technical data. The models will be implemented in Python, using several Machine Learning libraries such as Scikitlearn and back-tested using the web service Quantopian. At the end of the course, the students will develop and implement their own trading models and analyze the performance of their models. Program elective.

**FINM 33162. Machine Learning in Finance 2. 50 Units.**

Part 2 of a 2 part course. The course will focus on two Machine Learning categorization models: Logistic Regression and Support Vector Machines, both binary and multi-category. The course will develop the mathematical foundations for these models and the optimization algorithms for training them on actual data. The algorithms will be implemented in Python. The necessary parts of Python programming will be taught along the way as they are needed. The Machine Learning models will be used to train models for trading stocks based on both fundamental and technical data. The models will be implemented in Python, using several Machine Learning libraries such as Scikitlearn and back-tested using the web service Quantopian. At the end of the course, the students will develop and implement their own trading models and analyze the performance of their models. Program elective.

**FINM 33165. Probabilistic Programming and Deep Learning. 100 Units.**

The course is a continuation of the course Machine Learning in Finance and introduces Deep Learning models i.e. Artificial Neural Networks (ANN). We will develop the training algorithms for Deep Learning Networks in particular Stochastic Gradient Descent and discuss how an ANN can be thought of as a composition of the models developed in the previous course. We will also study the Bayesian aspects of ANNs. After the basic properties are developed we will turn to Convolutional Deep Learning models and apply them to analyzing patterns in financial data and forecasting short tern price movements. The results from the Deep Learning approach will be used to develop trading strategies and comparing results from these strategies to results obtained from simpler Machine Learning models. The course uses the Python programming languages and several packages implementing Deep learning models, Theano, Tensorflow and Keras, as well as Scikitlearn and we will spend a significant amount of time learning to master these packages . We will also discuss how the use of GPU computing can dramatically increase the computational performance of the implementations of training algorithms. The course can be followed without having taken the previous course if one is willing to read up on the Machine Learning models and the training algorithms discussed in that course. A working knowledge of Python will be assumed.

Instructor(s): Niels Nygaard Terms Offered: Autumn

Prerequisite(s): FINM 33160 or FINM 33161/33162 or Consent of Instructor

**FINM 33170. Financial Statistics: Time Series, Forecasting, Mean Reversion, and High Frequency Data. 100 Units.**

This course is an introduction to the econometric analysis of high-frequency financial data. This is where the stochastic models of quantitative finance meet the reality of how the process really evolves. The course is focused on the statistical theory of how to connect the two, but there will also be some data analysis. With some additional statistical background (which can be acquired after the course), the participants will be able to read articles in the area. The statistical theory is longitudinal, and it thus complements cross-sectional calibration methods (implied volatility, etc.). The course also discusses volatility clustering and market microstructure.

Terms Offered: Winter

Prerequisite(s): STAT 39000/FINM 34500 (may be taken concurrently), also some statistics/econometrics background as in STAT 24400–24500, or FINM 33150 and FINM 33400, or equivalent, or consent of instructor.

Equivalent Course(s): STAT 33910

**FINM 33180. Multivariate Data Analysis via Matrix Decompositions. 100 Units.**

This course is about using matrix computations to infer useful information from observed data. One may view it as an "applied" version of Stat 30900 although it is not necessary to have taken Stat 30900; the only prerequisite for this course is basic linear algebra. The data analytic tools that we will study will go beyond linear and multiple regression and often fall under the heading of "Multivariate Analysis" in Statistics. These include factor analysis, correspondence analysis, principal components analysis, multidimensional scaling, linear discriminant analysis, canonical correlation analysis, cluster analysis, etc. Understanding these techniques require some facility with matrices in addition to some basic statistics, both of which the student will acquire during the course. Program elective.

Instructor(s): L. Lim Terms Offered: Autumn

Equivalent Course(s): CAAM 32940, STAT 32940

**FINM 33450. Stochastic Calculus. 100 Units.**

**FINM 33601. Fixed Income Derivatives. 100 Units.**

The topics in this course include an introduction to fixed income markets, a detailed review of fixed income derivative instruments, and a general approach to bootstrapping the LIBOR term curve from available market quotes. We also discuss the application of the Black-Scholes-Merton model to pricing European swaptions and caps/floors. Students will study a statistical approach to building a foundation for the Heath-Jarrow-Morton framework of interest rate models. Students should be prepared for the extensive use of Stochastic Calculus.

Instructor(s): Y. Balasanov, L. Doloc, J. Greco Terms Offered: Spring

**FINM 34000. Probability and Stochastic Processes. 50 Units.**

This course provides a mathematical introduction to probability and stochastic processes. While the main focus is discrete probability and combinatorial analysis, some continuous probability is discussed. Examples and applications are emphasized over theory.

Instructor(s): Charles Smart Terms Offered: Autumn. This course takes place in the first five weeks of the quarter.

Note(s): Required.

**FINM 34510. Introduction to Stochastic Calculus. 50 Units.**

The course starts with a quick introduction to martingales in discrete time, and then Brownian motion and the Ito integral are defined carefully. The main tools of stochastic calculus (Ito's formula, Feynman-Kac formula, Girsanov theorem, etc.) are developed. The treatment includes discussions of simulation and the relationship with partial differential equations. Some applications are given to option pricing, but much more on this is done in other courses. The course ends with an introduction to jump process (Levy processes) and the corresponding integration theory.

Terms Offered: Winter

Prerequisite(s): Consent of instructor.

Equivalent Course(s): STAT 39010

**FINM 35000. Topics in Economics. 100 Units.**

This course deals with the microeconomic foundations of financial decision making and their implications for the real economy. We will study how firms optimally chose their financing strategy and what are the consequences of firm-level frictions on investments and capital structure. We will begin with the theories of classical corporate finance, optimal contracting, collateralized lending and managerial compensation. Then, we will explore the consequences of asymmetric information between agents on security design and asset markets. Financial constraints naturally emerge from these frameworks and we will study their macroeconomic implication. Money and monetary policy will be discussed, with a particular focus on the effects of monetary policy on financial markets. Specific attention will be paid to financial intermediaries and banks, in their dual role as investment vehicles and liquidity providers, thus leading to a discussion of the economics of securitization, liquidity demand and provision and bank runs. If time permits, in the final part of the class we will introduce dynamic models, often in continuous time, in order to study optimal asset management.

Instructor(s): Xian Philip Xu Terms Offered: Autumn

Note(s): Program elective.

**FINM 35500. Corporate and Credit Securities. 100 Units.**

This course analyzes corporate and credit-sensitive securities, including private equity and corporate debt. Students will use financial statements to estimate risk, forecast cash flows and value real options. The class considers the implications for event-driven trading strategies and portfolio management. Additionally, it covers key issues in corporate finance that are relevant for quantitative analysis of corporate securities and credit markets.

Instructor(s): Mark Hendricks Terms Offered: Spring

Note(s): Elective.

**FINM 35902. Seminar on Banking and the Financial Crisis. 000 Units.**

The seminar series will discuss issues in quantitative finance as illustrated by the financial crisis, the regulatory response, and ongoing current events.

**FINM 35910. Applied Algorithmic Trading. 50 Units.**

Applied Algorithmic Trading will introduce the required background knowledge and processes necessary for the design and implementation of algorithmic trading models within the context of industry requirements. The objective of the course is to bring together the numerous disciplines covered in other Financial Mathematics courses, focused on quantitative trading, and combine them into a workable industry level presentation. This course will walk students through the process of generating trading ideas, quantifying the trading process, risk-based modeling concepts, back-testing and optimization techniques, and key industry metrics used to evaluate algorithmic trading model performance. Lastly, the course will stress the leadership and presentation skills necessary to make a successful pitch in an industry setting. Program elective.

Instructor(s): Chris Gersch Terms Offered: Autumn

Prerequisite(s): FINM 32400, FINM 33150, or consent of instructors

**FINM 36000. Project Lab. 50 Units.**

Program elective.

Instructor(s): R. Lee Terms Offered: Autumn,Spring,Summer,Winter

Prerequisite(s): Consent of instructor.

**FINM 36001. Project Lab 2. 000 Units.**

Program elective.

Instructor(s): R. Lee Terms Offered: Autumn,Spring,Summer,Winter

Prerequisite(s): FINM 36000 and consent of instructor.

**FINM 36700. Portfolio Theory and Risk Management I. 100 Units.**

The course begins by covering the classic foundations of portfolio theory, including mean-variance mathematics and the standard equity factor models used in attribution and risk management. It goes beyond these classic results to cover return dynamics, statistical uncertainty, model selection, market frictions, and non-convex optimization. Throughout, the course examines issues of application and implementation relevant for professionals in various areas of quantitative finance. Case studies cover a range of asset classes, investment strategies, and industries.

Instructor(s): Mark Hendricks Terms Offered: Autumn

Note(s): Program requirement.

**FINM 36702. Portfolio Theory and Risk Management II. 50 Units.**

This course combines a technical topic with an analysis of situations that produce outsized losses. Students gain familiarity with the credit portfolio loss models that are used to limit trading, allocate costs, and determine required bank capital. They also review the interplay between the technical and human factors that has led to prominent risk control failures. Unique in the Financial Math program, students make in-class presentations that detail the optimal responses of various market participants to unexpected circumstances.

Instructor(s): Jon Frye Terms Offered: Winter

Prerequisite(s): FINM 36700 Portfolio Theory and Risk Management I

Note(s): Required. This is a five-week course taught in the first-half of the quarter.

**FINM 37301. Foreign Exchange: Markets, Pricing and Products. 50 Units.**

This course will examine international currency markets, financial products, and applications of quantitative models with an emphasis on the quantitative methods and derivative products in common use today. Topics will include a) pricing for FX products in theory and in practice, specifically spot, forward, futures, deposits, cross-currency swaps, non-deliverable contracts, and FX options, b) FX markets in practice, exchange rate regimes, international monetary systems, FX modeling and forecasting, and c) practical market applications of FX options, exotic options, and hybrid products.

Instructor(s): Anthony Capozzoli Terms Offered: Winter

Note(s): Required. This is a five-week course taught in the second-half of the quarter.

**FINM 37601. Mathematical Market Microstructure: An Optimization Approach. 50 Units.**

Mathematical Market Microstructure: An Optimization Approach for Dynamic Inventory Management and Market Maker Quoting. This course is an introduction to mathematical theory of market microstructure, with key applications in solving optimal execution problems with inventory management. We will start from discussions of market design, global market structure, algorithmic trading and market making practices. We will then present traditional market microstructure theory in the context of dealer inventory management and information-based quoting and pricing. Latest literature about realized volatility calculations and intraday implied volatility surface modeling using high-frequency data will be reviewed. The subject of order book dynamics research with applications to market impact modeling will be discussed as well. Finally, a review on continuous-time stochastic control theory will be provided and a discussion will be given on execution algorithm development and market making strategy design using stochastic programming techniques. The main goal of this course is to provide a clear discussion on key mathematical treatments and their practical applications of market microstructure problems, in particular relating to price discovery and utility optimization for certain transaction processes with non-trivial transaction cost present. Program elective.

Instructor(s): H. Chou Terms Offered: Autumn

Note(s): This is a five-week course taught in the first half of the quarter.

**FINM 37602. Mathematical Market Microstructure w/o Rationality Assumptions. 50 Units.**

Just like the view on micro world made us rethink our theories about the laws of physics previously based on macro world experience, algorithmic trading at extremely low latency exposes us to new phenomena and demands new mathematical models for their analysis. Objectives of this course are: introducing students to some models that have become important for analysis of market microstructure in recent years and show how they can be applied to low latency trading and risk management. We start with a review of the main features of the market behavior at ultra-low latency, explain why we prefer to look at the market events with "frog's eye" and concentrate on mathematical models consistent with Principle of Ma. During the course we study stochastic processes that describe market behavior at the microstructure level. Among them are Poisson, Cox, Ammeter, Hawkes and other processes. Students will learn how simulate each of the processes, fit it to market data and interpret the results. We will relate these processes to common approaches to modeling market price formation and limit order book behavior. Demonstrations and applications will be implemented in R. Students will work with some real market data examples. Classes consist of lecture part and in-class workshop. Students are required to come with their laptop computers with installed R. Some background in probability theory, statistical methods and statistical data analysis with R is recommended.

Instructor(s): Y. Balasanov Terms Offered: Autumn

Note(s): This is a five-week course taught in the second half of the quarter.

**FINM 37700. Introduction to Finance and Markets. 50 Units.**

This course is an introduction to the basics of finance and financial markets. It assumes minimal finance/markets background with the option for experienced students to test out during a placement exam in the first week. Topics include: financial systems, financial returns, capital markets, and financial management. Program requirement.

Instructor(s): P. Hirschboeck Terms Offered: Autumn

Note(s): Required if student does not pass the Introduction to Finance and Markets placement exam. This is a five-week course taught in the first half of the quarter.

**FINM 38000. Financial Mathematics Practicum. 000 Units.**

Program elective. Student must be CPT approved by FINM and OIA.

Instructor(s): Roger Lee Terms Offered: Autumn
Spring
Summer
Winter

**FINM 38001. Financial Mathematics Practicum II. 50 Units.**

Elective. Student must be CPT-approved by FINM and OI

Instructor(s): Roger Lee Terms Offered: Autumn
Spring
Summer
Winter

**FINM 38500. Career Seminar. 50 Units.**

Presentations/workshops/networking events related to career development in quantitative finance. Program requirement.

Instructor(s): Career Development Office Terms Offered: Autumn