Mathematical Modeling and Computation in Finance
by Cornelis W. Oosterlee and Lech A. Grzelak

reviewed by Alessandro Gnoatto and Blanka Horvath (U Verona and U Oxford)

The book “Mathematical Modeling and Computation in Finance: With Exercises and Python and MATLAB Computer Codes” by C. W. Oosterlee and L. A. Grzelak has caught our attention because of its strikingly innovative way of integrating different sources of media as well as a programming sandbox into its teaching materials. In addition to presenting many state of the art techniques on highly relevant technical contents, this book provides a truly immersive experience, that sets new standards for textbooks in mathematical and computational finance of the 21st century.

The classical program of a two-semester course on computational finance usually involves a first lecture on Monte Carlo simulation, typically followed by a second one on numerical methods for partial differential equations, most commonly solved via the finite difference method, less commonly by means of the finite element method. Brownian motion is the driver of choice, with jump processes being sometimes mentioned. The link between the two lectures is provided by the Feynman-Kac theorem. If this looks to the reader far too standard and based on the status quo from the 90s, well it is. In the last 20 years new problems and techniques have emerged and a book that provides insights on more recent developments is for sure a welcome addition to the existing literature. This is where the present book contributes.

The authors are well-known for their research contributions in computational finance and for their focus on application friendly and efficient algorithms. Cornelis (Kees) Oosterlee is a professor at Utrecht University in the Mathematical Institute and he previously held positions at Delft University of Technology and at CWI – Centrum Wiskunde & Informatica. Lech A. Grzelak is a front office senior Quantitative Analyst in the Netherlands and holds an assistant professor position at Utrecht University, where he teaches a course on Computational Finance and Financial Engineering. As such, the authors are ideally placed to connect theory, practice and didactical dexterity: Not only do they present new theories and modern modeling approaches that have become popular over the past years, they also demonstrate how these contents play out in practice. Indeed, the authors skillfully lead the reader across the border from theory to practice by providing sample code on each of the chapters. In addition, the second author dedicated an entire YouTube channel to two lecture series based on the book, which is an excellent didactical ice-breaker.

The book is comprised of 15 chapters that can be approximately split in three main parts: Chapters 1-5, 6-10 and 11-15. The first five chapters of the book serve as a lecture on continuous time mathematical finance from the point of view of computational finance. The material will be best appreciated by students with a previous exposure to a lecture on stochastic calculus and continuous time mathematical finance, who will find an extremely useful refresher of all important facts that will be needed in the sequel. The learning curve is however very efficient because, already in chapter 4 and 5, the reader is confronted with local volatility models and jump processes. In essence, after reading the first part, the reader will have a working knowledge of advanced asset pricing models.

The second part of the book is where the focus on computational methods progressively increases. Chapter 6 is dedicated to Fourier pricing techniques in the form of the well-known COS method. In this case the didactic treatment is provided by one of the authors of the original research paper introducing the method. Chapter 7 is a building block for the subsequent part of the text: it discusses multi-dimensional stochastic differential equations and jump diffusions. The material from Chapter 7 immediately comes to action in Chapter 8, where stochastic volatility models (Heston, Heston with piecewise-constant parameters, Bates) are discussed also by means of the COS method from Chapter 6. Chapter 9 is where the second part of the book culminates with a concise (50 pages) but effective presentation of the Monte Carlo method. Chapter 10 focuses instead on forward start options that are studied by means of stochastic volatility, local volatility and stochastic-local volatility models.

The final part of the book offers material which is far less commonly found in the literature, especially at the textbook level. The focus in this case moves to interest rate and cross currency models. Chapter 11 sets the scene by presenting short rates models, particularly the Hull-White model, with links to the HJM methodology. Chapter 12 studies interest rate derivatives, with the welcome inclusion of counterparty credit risk: the authors discuss the methodology that permits the simulation of the future exposure and the calculation of the Credit Value Adjustment (CVA) of an interest rate swap, under the Hull-White model, via full revaluation (meaning that the swap is repriced on every future simulated scenario) with a discussion of aspects such as the netting of exposures. Another peculiarity of the book is found in Chapter 13 that discusses hybrid equity-interest rate models with stochastic volatility also in the context of CVA computations. Chapter 14 presents the Libor market model with extensions in terms of volatility specifications, the impact of negative interest rates and the multiple curve phenomenon. The final chapter is a particularly valuable presentation of cross currency models, which are blended together with short rate models for the domestic and foreign interest rate in an hybrid model with stochastic volatility. Such models are of practical importance since they are routinely used in the industry (more typically without smile effects) to compute valuation adjustments such as CVA: this is precisely the application proposed by the authors when they focus on the CVA of an FX-Swap, from which the reader will be able to generalize so as to consider more complex products such as cross currency swaps.

All in all the book is a very valuable source for an instructor. All Matlab and Python codes used in by the authors in the examples are available online at Such prototypes are valuable guidelines also for quants in a professional context dominated typically by a larger object-oriented software library e.g. in C++, Java or C#. The way the book is presented, the all-around-experience of reading, audio-visual material, and do-it-yourself coding examples are definitely 21st century proof and make the (so often dreaded) online teaching of the lockdown years seem like it is the way teaching was meant to be all this time anyway. They had however already created the book in 2019, so in all senses of the word the book was ahead of its time. We cannot emphasise enough how happy we are to see books like this one in the market. The extra work it takes to provide the code and additional materials is not only worth the effort but we believe it creates new standards for mathematical finance textbooks of the future.

Acknowledgement:  This book review was originally published in Quantitative Finance, Volume 22, Issue 11 (2022), available online