Financial Modelling in Python
By 作者: Shayne Fletcher - Christopher Gardner
ISBN-10 书号: 0470987847
ISBN-13 书号: 9780470987841
Edition 版本: 1
Release Finelybook 出版日期: 2009-08-03
Pages 页数: (244 )
“Fletcher and Gardner have created a comprehensive resource thatwill be of interest not only to those working in the field offinance, but also to those using numerical methods in other fieldssuch as engineering, physics, and actuarial mathematics. By showinghow to combine the high-level elegance, accessibility, andflexibility of Python, with the low-level computational efficiencyof C++, in the context of interesting financial modeling problems,they have provided an implementation template which will be usefulto others seeking to jointly optimize the use of computational andhuman resources. They document all the necessary technical detailsrequired in order to make external numerical libraries availablefrom within Python, and they contribute a useful library of theirown, which will significantly reduce the start-up costs involved inbuilding financial models. This book is a must read for all thosewith a need to apply numerical methods in the valuation offinancial claims.”
–David Louton, Professor of Finance, Bryant University
This book is directed at both industry practitioners andstudents interested in designing a pricing and risk managementframework for financial derivatives using the Python programminglanguage.
It is a practical book complete with working, tested code thatguides the reader through the process of building a flexible,extensible pricing framework in Python. The pricing frameworks’loosely coupled fundamental components have been designed tofacilitate the quick development of new models. Concreteapplications to real-world pricing problems are also provided.
Topics are introduced gradually, each building on the last. Theyinclude basic mathematical algorithms, common algorithms fromnumerical analysis, trade, market and event data modelrepresentations, lattice and simulation based pricing, and modeldevelopment. The mathematics presented is kept simple and to thepoint.
The book also provides a host of information on practicaltechnical topics such as C++/Python hybrid development (embeddingand extending) and techniques for integrating Python based programswith Microsoft Excel.
This book will:
Show the reader how to get started quickly: Although the Python programming language is a powerful object-oriented language, it's easy to learn, especially for programmers already familiar with C or C++.
Show the reader how to write less code: Comparisons of program metrics (class counts, method counts, and so on) suggest that a program written in the Python programming language can be four times smaller than the same program written in C++.
Show the reader how to write better code: The Python programming language encourages good coding practices, and automatic garbage collection helps you avoid memory leaks.
Show the reader how to develop programs more quickly: The Python programming language is simpler than C++, and as such, your development time could be up to twice as fast when writing in it. Your programs will also require fewer lines of code.
Chapter by chapter this book gradually builds up a practical body of code that will serve as an extensible financial engineering system in python. The book uses the Black-Scholes example to begin the building of the python package that will house the code that will be presented as the book progresses.
1 Welcome to Python
1.1 Why Python?
1.1.1 Python is a high-level programming language
1.1.2 Python 'plays well with others'
1.1.3 Common misconceptions about Python
1.2 Roadmap for this book
2 First steps with Python
2.1 The Black-Scholes Formula
2.2 Modules and Packages
3 Extending Python from C++
3.1 Boost.Datetime types
3.2 Boost.MultiArray types
4 Basic Mathematical Tools
4.1 Random number generation
4.3.1 Interpolation in a single dimension
4.3.2 Interpolation in multiple-dimensions
4.4.1 Bisection Method
4.4.2 Newton-Raphson Method
4.5.2 Piecewise constant polynomial integration
4.6 Linear Algebra
4.6.1 Matrix Inversion
4.6.2 Singular Value Decomposition
4.6.3 Solving Tridiagonal Systems
4.6.4 Solving linear systems
4.6.5 Pseudo square root
5 Curve and surface construction
5.1 Discount Factor Curves
5.2 Caplet Volatility Curves
5.3 Intensity Curves
5.4 Swaption Volatility Skew Cube
6 Pricing using Numerical Methods
6.1 Monte-Carlo pricing framework
6.2 A lattice pricing framework
7 The Hull-White model
7.1 A component based design
7.1.1 The state
7.1.2 The cache
7.1.3 The requestor
7.1.4 The filler
7.1.5 The rollback
7.1.6 The evolve
7.2 Pricing a Bermudan
7.3 Pricing a TARN
8 Hybrid Python/C++ Pricing Systems
1 A Survey of Python Programming Tools
.2 Hull-White model
Python is an elegant programming language that offers object-oriented programming support, a readable, maintainable syntax, integration with C components, and an enormous collection of precoded standard library and extension modules. Moreover, Python is easy to learn but powerful enough to take on the most ambitious programming challenges.
Financial Modelling in Python 9780470987841.pdf