Python for Finance: Analyze Big Financial Data

(Elle) #1

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 and volatility; in


addition to being mean-reverting, the process stays positive, which is generally a


desirable characteristic for those quantities.


The chapter proceeds in the first section with developing a function to generate standard


normally distributed random numbers using variance reduction techniques.


[ 70 ]

Subsequent


sections then develop a generic simulation class and three specific simulation classes, one


for each of the aforementioned stochastic processes of interest.


For further details on the simulation of the models presented in this chapter, refer also to


Hilpisch (2015). In particular, that book also contains a complete case study based on the


jump diffusion model of Merton (1976).

Free download pdf