Product Details
C++ Design Patterns and Derivatives Pricing (Mathematics, Finance and Risk)

C++ Design Patterns and Derivatives Pricing (Mathematics, Finance and Risk)
By Mark S. Joshi

List Price: £31.00
Price: £25.28 & eligible for FREE Super Saver Delivery on orders over £5. Details

Availability: Usually dispatched within 24 hours
Dispatched from and sold by Amazon.co.uk

35 new or used available from £22.54

Average customer review:

Product Description

Design patterns are the cutting-edge paradigm for programming in C++, and they are here discussed in depth using examples from financial mathematics. Assuming only a basic knowledge of C++ and mathematical finance, the reader learns how to produce well-designed, structured, reusable code via carefully-chosen examples. This new edition includes several new chapters covering topics of increasing robustness in the presence of exceptions, designing a generic factory, interfacing C++ with EXCEL, and improving code design using the idea of decoupling. Complete ANSI/ISO compatible C++ source code is hosted on an accompanying website for the reader to study in detail, and reuse as they see fit. Whether you are a student of financial mathematics, a working quantitative analyst or financial mathematician, you need this book. Offering practical steps for implementing pricing models for complex financial products, it will transform your understanding of how to use C++.


Product Details

  • Amazon Sales Rank: #53320 in Books
  • Published on: 2008-05-31
  • Original language: English
  • Number of items: 1
  • Binding: Paperback
  • 308 pages

Editorial Reviews

Review
'This is a short book, but an elegant one. It would serve as an excellent course text for a course on the practical aspects of mathematical finance.' International Statistical Institute

‘This book is thought-provoking and rewarding. Even for the less experienced programmer, the presentation is readily accessible, and the coded examples can be directly used to solve real-life problems.’ Journal of the American Statistics Association

‘This book, although it is quite short, does cover a significant amount of material and does deal with some fairly advanced topics that are important to practitioners. The real strength of the book is its clarity and conciseness.’ SIAM Review

About the Author
Mark S. Joshi is an Associate Professor in the Centre for Actuarial Studies at the University of Melbourne.


Customer Reviews

A fast-paced introduction to sophisticated C++5
C++ is a big language. It has a lot of features and even more in the way of clever ideas for combining these features to create effective code. Most books on the subject are dauntingly huge, at least to the novice. Perhaps the greatest virtue of this book is that it covers a lot of ground while being slim enough (under 200 widely-spaced pages) to be easily read from cover to cover.

The book is clearly aimed at those in quantitative finance and the examples are designed to be of genuinely useful code that a quant might write. This is a refreshing change from more general books where the examples are either silly ("a Sauternes is inherited from a Bordeaux and has a pour() member function") or do the kind of low-level manipulation (such as container classes) that few programmers write. The examples are given in full, even if this involves repeating a good deal of code, but I suppose this does give the reader the satisfaction of quickly skimming two or three pages from time to time.

Aside from a basic acquaintance with mathematical finance, the reader is required to have a rudimentary knowledge of C++. However the more advanced language features, such as virtual functions and templates, are explained concisely as they are introduced. Writing good object-oriented code depends very much on knowing not so much the syntatical rules but why the language features are there and when to use them. This is the emphasis of this book; it gives very clear well-reasoned guidance for effective use of the language. One very important aspect of this is the use of so-called "design patterns". I'm not sure this term is ever defined but it becomes clear through many examples that it refers to clever ways to combine language features to achieve particular generic goals.

There are places where the author introduces several ideas at once and almost trips over himself in an effort to explain them all. But once the reader becomes accustomed to this and is therefore prepared to wait a little for an explanation of something, this is an effective way of getting through the material rapidly. Consequently this is a very readable book, in which the alert reader can learn a lot in a short time. All in all, this book is ideal for someone starting to write C++ for finance or even for a more experienced quant who feels his code is insufficiently sophisticated.

The boss and his/her requests5
Having implemented mathematical finance solutions in a variety of programming languages, I found in Joshi's book the ideal guide to move to the C++ way of doing things.
The book certainly requires some knowledge of C++ (at least an introductory book) but leads the reader through a learning process focused on the reasons why C++ is the most used language in financial engineering.
It starts for the simplest non-OO implementation, highlighting (pros and) cons, and then moves on to the appropriate C++ solution. In the way, fundamental design patterns are introduced and used (strategy, decorator, bridge...). By the end of the book the reader will have seen how to build a Monte Carlo engine for exotic options and how to simplify its interface through the more complicated factory pattern.
Numerically, the book is mainly focused on Monte Carlo methods but it also spends a chapter on trees (binomial) and one on templatised root finding (for the implied vol). PDEs are not dealt with.
The never-ending requests of the "evil boss" are a constant driver in the quest for reusability and generality and the book clearly shows how to achieve these. Knowing how evil bosses can be I would say that this book is certainly a BUY!!!

Good, all the code works.4
Unlike many textbooks, all the code in Joshi's book works and compiles. However, do save yourself time and get the latest version of the code from his website, forget the bundled CD.

Joshi not only explains quickly how to implement the basic pricing techniques (trees, monte carlo), but also offers some good guidance on modern OO C++ techniques (patterns) along the way.

My only criticism is that the book is too short. I would have gladly read another 50% on top.