# Advanced Financial Engineering - Interest Rate Derivatives in C++  Short Courses

Advanced Financial Engineering in C++ is a hands-on short course for C++ programmers with a solid grounding in financial engineering concepts and basic option pricing techniques to extend their expertise to the field of interest rate derivatives.

You will learn how to compute prices analytically where possible, but mainly numerically via binomial trees and Monte Carlo techniques. You will learn how and when to apply advanced design patterns such as delegation, double dispatch, functors and templated class hierarchies.

You will solidify and extend your existing knowledge of probability theory and stochastic calculus, applying it to interest rate derivative pricing.

Software Version: ANSI C++; STL; Boost; Microsoft Visual C++

## Course Information

Start DateStart TimeDurationCostCourse CodeApply
Tuesday 22 January 2013 18:30 - 20:30 10 weekly classes £690.00 CE3501

## Tutor Info

Colin Turfus received a PhD in applied mathematics from the University of Cambridge. In a varied career he has published research papers on turbulent diffusion, headed a university maths department in S. Korea and worked in the mobile software industry as a C++ and Java software consultant. More recently he has been working in the finance industry as a financial engineer, currently with Dresdner Kleinwort.

## Eligibility

Successful completion of Financial Engineering in C++ or attainment of a similar level of accomplishment in financial engineering and object-oriented C++ design.

Those with the finance knowledge but not the programming skills should first attend C/C++ Part 1 and/or C/C++ Part 2.

## English Requirements

Applicants must be proficient in written and spoken English.

## What will I learn?

• Different representations of interest rates as zero rates, forward rates and instantaneous forward rates and their equivalence.
• Libor and forward Libor; properties of interest rates
• "Linear" interest rate instruments and their pricing: Forward Rate Agreements, bonds, interest rate swaps.
• Calibrating a yield curve to market prices of linear instruments.
• Designing a C++ framework for the yield curve.
• Basic interest rate derivatives: bond options, swaptions, caps/floors and captions/floortions.
• Derivation of Black formulae for pricing simple cases: swaptions and caps.
• Integrating the yield curve into an extended Pricing Framework (and refactoring) to allow analytic pricing of interest rate derivatives.
• Separation of Instruments and Models and the use of Double Dispatch to bring them together in the Pricing Framework.
• Motivation for using change of probability measure; special case of T-forward measure
• Mathematical concepts: numeraires, martingales, fundamental theorems of asset pricing, Radon-Nikodym derivatives, Girsanov theorem.
• Application of mathematical machinery to affine short rate models with focus on (extended) Vasicek framework.
• Analytic pricing of basic interest rate derivatives (including zero coupon bond options) in affine short rate framework and integration into Pricing Framework.
• Monte Carlo implementation of Vasicek framework, design of a templated Simulation class hierarchy, and integration into Pricing Framework (with more refactoring).
• Extension to pricing of captions/floortions and coupon bond options.
• Bermudan exercise and the advantages of the Hull-White lattice approach.
• Forward rate modelling and the Heath-Jarrow-Morton (HJM) framework.
• Consistency condition for arbitrage-free HJM model calibration.
• HJM volatility term structure.
• Implementation of MC pricing of interest rate derivatives in HJM framework within Pricing Framework.

By the end of the course you will be able to:

• Distinguish different mathematical representations of interest rate curves.
• Distinguish different approaches to representing the dynamics of interest rates.
• Price the most important interest rate derivatives under different dynamical assumptions, both analytically and under Monte Carlo simulation.
• Use change of measure and other advanced mathematical techniques to simplify the mathematical expressions derived from interest rate models for option prices.
• Use double dispatch, polymorphism and templated class hierarchies to build a pricing library which allows a diverse hierarchy of instruments to be priced under various modelling assumptions.

## Teaching and Assessment

A lectronic copy of lecture notes is provided to all students at the start of the course.

Source code for a C++ library integrating all the software techniques discussed is also made available and can be compiled and used to compare results obtained using different modelling/pricing techniques.