Part A : Introduce the student to the pricing of more advanced derivative products in Mathematical Finance, and to examine more advanced solution methods. Advanced derivative products of the kind often used in reality will be examined in more detail. This will include examining options not considered previously, but also looking in more detail at derivative products already studied in the Mathematical Finance module. This may include topics such as: energy, weather and insurance derivatives; credit derivatives; market crashes; multi-asset options; interest rate derivatives. More advanced numerical methods for the solution of option pricing problems will also be examined. This module should better prepare students for a career in Mathematical Modelling in Finance, including a broader background in the trading of derivatives and options.

Part B: The aim is to present fundamental concepts necessary in order to think like a programmer. This course has been developed for students with no previous programming experience as well as for those already familiar with main ideas in programming. The computer language (C++) is introduced from first principles. The students are supposed to learn general techniques for solving problems and to understand important concepts of programming such as algorithms and code debugging. The programming techniques introduced in the course will be implemented for numerical solution of several basic scientific and engineering problems.

Learning Outcomes

By the end of the module students should be able to: Part A

demonstrate knowledge and understanding of advanced mathematical models in Mathematical Finance;

solve mathematical problems in the pricing of various derivative products;

explore these topics beyond the taught syllabus.

Part B
By the end of the Spring module the student should be able to:

Understand the basic principles of scientific and engineering programming

Understand key attributes of the following elements of programming languages: variables; data types; data arrays; assignment statements; iteration statements.

Develop and implement numerically stable and accurate algorithms for the basic tasks of computational science and engineering

Develop stable algorithms for matrix algebra, numerical solution of ordinary differential equations and for finding roots of non-linear equations