Summary and Info

KurzbeschreibungThis 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.Contents1 Welcome to Python1.1 Why Python?1.1.1 Python is a high-level programming language1.1.2 Python 'plays well with others'1.1.3 Common misconceptions about Python1.2 Roadmap for this book2 First steps with Python2.1 The Black-Scholes Formula2.2 Modules and Packages2.3 Unit-testing3 Extending Python from C++3.1 Boost.Datetime types3.2 Boost.MultiArray types4 Basic Mathematical Tools4.1 Random number generation4.2 N(.)4.3 Interpolation4.3.1 Interpolation in a single dimension4.3.2 Interpolation in multiple-dimensions4.4 Root-finding4.4.1 Bisection Method4.4.2 Newton-Raphson Method4.5 Quadrature4.5.1 Hermite4.5.2 Piecewise constant polynomial integration4.6 Linear Algebra4.6.1 Matrix Inversion4.6.2 Singular Value Decomposition4.6.3 Solving Tridiagonal Systems4.6.4 Solving linear systems4.6.5 Pseudo square root5 Curve and surface construction5.1 Discount Factor Curves5.2 Caplet Volatility Curves5.3 Intensity Curves5.4 Swaption Volatility Skew Cube6 Pricing using Numerical Methods6.1 Monte-Carlo pricing framework6.2 A lattice pricing framework7 The Hull-White model7.1 A component based design7.1.1 The state7.1.2 The cache7.1.3 The requestor7.1.4 The filler7.1.5 The rollback7.1.6 The evolve7.2 Pricing a Bermudan7.3 Pricing a TARN8 Hybrid Python/C++ Pricing SystemsAppendices1 A Survey of Python Programming Tools.2 Hull-White model SynopsisPython 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.