Chapter 16. Simulation of Financial Models

The purpose of science is not to analyze or describe but to make useful models of the world.

Edward de Bono

Chapter 10 introduces in some detail the Monte Carlo simulation of stochastic processes using Python and NumPy. This chapter applies the basic techniques presented there to implement simulation classes as a central component of the DX library. We restrict our attention to three widely used stochastic processes:

Geometric Brownian motion
This is the process that was introduced to the option pricing literature by the seminal work of Black and Scholes (1973); it is used several times throughout this book and still represents—despite its known shortcomings and given the mounting empirical evidence from financial reality—a benchmark process for option and derivative valuation purposes.
Jump diffusion
The jump diffusion, as introduced by Merton (1976), adds a log-normally distributed jump component to the geometric Brownian motion (GBM); this allows us to take into account that, for example, short-term out-of-the-money (OTM) options often seem to have priced in the possibility of large jumps. In other words, relying on GBM as a financial model often cannot explain the market values of such OTM options satisfactorily, while a jump diffusion may be able to do so.
Square-root diffusion
The square-root diffusion, popularized for finance by Cox, Ingersoll, and Ross (1985), is used to model mean-reverting quantities like interest rates ...

Get Python for Finance now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.