ACM30110 Advanced Computational Finance

Academic Year 2021/2022

This module extends the theory introduced in the modules PDEs in Financial Maths ACM30080 and Foundations for Financial Mathematics MATH20180 by emphasizing their practical applications to financial problems. In particular, students will use Excel, Visual Basic for Applications (VBA), Python and Fincad Analytic Suite to implement financial models.
The module has topics chosen from the following: fixed-income securities (analysis and portfolio immunization); option pricing with binomial trees and issues related to trees convergence; the Black-Scholes model; introduction to path-dependent options (American and Asian options); option pricing and Greeks estimate by Monte Carlo Methods; option pricing by Finite Difference Methods; barrier option pricing.

Students must have a mobile (laptop) computer with the capability to run Windows-based software and a Virtual Machine (in case of Mac laptop).

Show/hide contentOpenClose All

Curricular information is subject to change

Learning Outcomes:

On completion of this module the student should be able to:

- implement financial models and techniques in both VBA and Python;
- compute future and present values of a security;
- apply the Binomial Tree Method to price a given option under certain conditions and discuss issues related to the convergence;
- implement the Black-Scholes model;
- price American and Asian options;
- use Monte Carlo methods in option pricing and Greeks estimate;
- use Finite Difference Methods in option pricing;
- price barrier options (time permitting).

Indicative Module Content:

- Derivatives: Forward, Future, Options. Main features and differences.

- A concise introduction to asset pricing: definitions of fair price, trading strategies, self-financing and admissible portfolio. No arbitrage principle, martingales and information. Martingale Measure. Fundamental Theorem of Asset Pricing.

- The Black-Scholes-Merton Model: assumptions, derivation of the BS PDE, uniqueness of solution and equivalence with the heat equation. BS equations for European Call and Put. Greeks. Implied Volatility.

- The binomial model for option pricing: one step tree, replication and risk neutral argument. Multi-Step trees for European and American Options. Exotic Options. The CRR model. Delta-Hedging. Control Variate Technique. Convergence to the BS model.

- Monte Carlo Method: Geometric Brownian Motion generation and risk-neutral valuation. Option Pricing. Greeks Estimation. Antithetic Variate and Control Variate Techniques. Asian Options.

- Finite Difference Method for option pricing: Derivatives approximations and Boundary Conditions. Explicit Method, Implicit Method, Crank-Nicolson Method. Barrier Options.

Student Effort Hours: 
Student Effort Type Hours






Specified Learning Activities


Autonomous Student Learning




Approaches to Teaching and Learning:
Lectures, Tutorial and Labs with use of laptop.

• To stimulate curiosity, independence and significant learning, I introduced a flipped-classroom and enquiry-based student-centred approach. Students gained familiarity with computational thinking practice, data analysis, financial concepts by a combination of lectures with group projects, problem solving activities, real-world applications (O'Connor, 2012). They were engaged in an active learning environment using technology (Python, FinCad and VBA), groups activities and peer-assisted learning. Knowledge was developed through reflections and comparisons (Harland, 2003). To stimulate students’ self-assessment, formative feedbacks were provided after each activity.

• The learning process was supported by teaching assistants. They helped peers in driving brainstorming, discussions, question/answers. They also took field-notes on my teaching practice and students’ feedbacks.
Requirements, Exclusions and Recommendations
Learning Recommendations:

1) FIN20010 Principle of Finance,
2) ECON10720 Microeconometrics for Business,
3) ACM30080 PDE in Financial Mathematics [or ACM30220 Partial Differential Equation],

must be taken before this module.

A prior knowledge of Python coding language is also required (STAT40800 Data Programming with Python (OL) is highly recommended as optional in Autumn Trimester)

Module Requisites and Incompatibles
ACM30070 - Computational Finance

Additional Information:
1) FIN20010 or FIN20040 or any intro Finance Module 2) ECON10720 or any Microeconometrics/Macroeconometrics module 3) ACM30220 or ACM30080 or any PDE module ,constitute pre-requisites to take ACM30110.

Assessment Strategy  
Description Timing Open Book Exam Component Scale Must Pass Component % of Final Grade
Continuous Assessment: Continuous Assessment:
- Homework 1 (5%)
- Homework 2 (5 %)
Throughout the Trimester n/a Standard conversion grade scale 40% No


Examination: Final Exam 2 hour End of Trimester Exam No Standard conversion grade scale 40% No


Group Project: Group Project, assessed through a Journal of Activities, a Final Report and a Final Presentation.
Coding is required.
Throughout the Trimester n/a Standard conversion grade scale 40% No


Attendance: 1% can be gained for attendance and active participation to each weekly lab, starting on week 3.
The attendance and participation will be recorded. Maximum grade 10%
Throughout the Trimester n/a Standard conversion grade scale 40% No


Class Test: Lab Exam Throughout the Trimester n/a Standard conversion grade scale 40% No


Carry forward of passed components
Resit In Terminal Exam
Autumn Yes - 2 Hour
Please see Student Jargon Buster for more information about remediation types and timing. 
Feedback Strategy/Strategies

• Feedback individually to students, post-assessment
• Group/class feedback, post-assessment

How will my Feedback be Delivered?

Not yet recorded.

Name Role
Mr Rian Dolphin Tutor
Timetabling information is displayed only for guidance purposes, relates to the current Academic Year only and is subject to change.
Lecture Offering 1 Week(s) - 19, 20, 21, 22, 23, 24, 25, 28, 29, 30, 31, 32 Thurs 11:00 - 11:50
Lecture Offering 1 Week(s) - 19, 20, 21, 22, 23, 24, 25, 28, 29, 30, 31, 32 Tues 13:00 - 14:50
Tutorial Offering 1 Week(s) - 19, 20, 21, 22, 23, 24, 25, 28, 29, 30, 31, 32 Tues 17:00 - 17:50
Lecture Offering 1 Week(s) - 19, 20, 21, 22, 23, 24, 25, 28, 29, 30, 31, 32 Wed 17:00 - 17:50