Skip to main content

Financial Modelling in Python

Financial Modelling in Python

Shayne Fletcher, Christopher Gardner

ISBN: 978-0-470-98784-1

Aug 2009

244 pages

In Stock



""Fletcher and Gardner have created a comprehensive resource that will be of interest not only to those working in the field of finance, but also to those using numerical methods in other fields such as engineering, physics, and actuarial mathematics. By showing how to combine the high-level elegance, accessibility, and flexibility of Python, with the low-level computational efficiency of C++, in the context of interesting financial modeling problems, they have provided an implementation template which will be useful to others seeking to jointly optimize the use of computational and human resources. They document all the necessary technical details required in order to make external numerical libraries available from within Python, and they contribute a useful library of their own, which will significantly reduce the start-up costs involved in building financial models. This book is a must read for all those with a need to apply numerical methods in the valuation of financial claims.""
David Louton, Professor of Finance, Bryant University

This book is directed at both industry practitioners and students interested in designing a pricing and risk management framework for financial derivatives using the Python programming language.

It is a practical book complete with working, tested code that guides the reader through the process of building a flexible, extensible pricing framework in Python. The pricing frameworks' loosely coupled fundamental components have been designed to facilitate the quick development of new models. Concrete applications to real-world pricing problems are also provided.

Topics are introduced gradually, each building on the last. They include basic mathematical algorithms, common algorithms from numerical analysis, trade, market and event data model representations, lattice and simulation based pricing, and model development. The mathematics presented is kept simple and to the point.

The book also provides a host of information on practical technical topics such as C++/Python hybrid development (embedding and extending) and techniques for integrating Python based programs with Microsoft Excel.

1 Welcome to Python.

1.1 Why Python?

1.2 Common misconceptions about Python.

1.3 Roadmap for this book.

2 The PPF Package.

2.1 PPF topology.

2.2 Unit testing.

2.3 Building and installing PPF.

3 Extending Python from C++.

3.1 Boost.Date Time types.

3.2 Boost.MultiArray and special functions.

3.3 NumPy arrays.

4 Basic Mathematical Tools.

4.1 Random number generation.

4.2 N(.)

4.3 Interpolation.

4.4 Root finding.

4.5 Linear algebra.

4.6 Generalised linear least squares.

4.7 Quadratic and cubic roots.

4.8 Integration.

5 Market: Curves and Surfaces.

5.1 Curves.

5.2 Surfaces.

5.3 Environment.

6 Data Model.

6.1 Observables.

6.2 Flows.

6.3 Adjuvants.

6.4 Legs.

6.5 Exercises.

6.6 Trades.

6.7 Trade utilities.

7 Timeline: Events and Controller.

7.1 Events.

7.2 Timeline.

7.3 Controller.

8 The Hull–White Model.

8.1 A component-based design.

8.2 The model and model factories.

8.3 Concluding remarks.

9 Pricing using Numerical Methods.

9.1 A lattice pricing framework.

9.2 A Monte-Carlo pricing framework.

9.3 Concluding remarks.

10 Pricing Financial Structures in Hull–White.

10.1 Pricing a Bermudan.

10.2 Pricing a TARN.

10.3 Concluding remarks.

11 Hybrid Python/C++ Pricing Systems.

11.1 nth imm of year revisited.

11.2 Exercising nth imm of year from C++.

12 Python Excel Integration.

12.1 Black–scholes COM server.

12.2 Numerical pricing with PPF in Excel.


A Python.

A.1 Python interpreter modes.

A.2 Basic Python.

A.3 Conclusion.

B Boost.Python.

B.1 Hello world.

B.2 Classes, constructors and methods.

B.3 Inheritance.

B.4 Python operators.

B.5 Functions.

B.6 Enums.

B.7 Embedding.

B.8 Conclusion.

C Hull–White Model Mathematics.

D Pickup Value Regression.