In "Computational Finance Using C and C#" George Levy has done a credible job riding two horses at once, only lightly bridled together:
HORSE ONE are the proofs of common stochastic processes used for securities and options pricing, covered in chapter two. Much of this material is stated both worse (say, Oksendal) and better (say, Joshi) elsewhere, but Levy's summary is made both in the interest of the book being a self-contained "one stop shopping" for a teaching text, and because his selected (it is a wide selection) of processes will lead directly to practical technical code.
In chapter three, Levy very ably and in a compressed manner addresses one of the uber-nerd problems of finance and computation: how do you generate random numbers from something (both the metal and the instructions) that reduces to binary? The topic is nearly endlessly discussed on CompFin bulletin boards and Levy goes a step beyond....say Wilmott's "good enough solution "(()Rand+()Rand+()Rand+()Rand+()Rand+()Rand+()Rand+()Rand+"()Rand+()Rand+()Rand+()Rand)/12" and covers adequate methods of seeds, and pseudo-random number generation. For those of us who grew up on the early days of ArpaNet and laughed at the "LavaRand" site maintained for years by Digital Graphics (which provided random seeds), his is a good (although thin, considering how technical the problem is) chapter on the topic.
The following chapters then treat European and American options and multi-asset options and other derivatives individually, and offers narrative and mathematical descriptions.
Which brings us to HORSE TWO: coding. Most coders today grew up with stable, robust, cut-and-paste code and want everyone to do the heavy lifting for them. But in a world where desktops are more powerful than big iron of ten years ago, platforms are often assumed to be fungible and code instantly droppable into whatever is present, and therefore produce a lot of whiny lazy people when they find our the real world is often married to some outdated iron in the basement or proprietary interface which is perpetuated by those multi-headed daemons of inertia, rent-seeking behavior of folks in incumbent sinecures, and inability to kill something because of IT security breach fears.
So cut-and-paste code is often forbidden by policy.
Nevertheless, Levy provides quite a lot of example code in C and C# that is robust and stable and de-bugged. Of course, this does not apply to the fact that you still have to code data look-ups, indexes, output spaces and reporting, etc. etc. when using the code here to do what it is supposed to do ("I-Price-A-Vanilla-American-Option" [END].) and what you want to do (where? What platform? Report how? Distribute report to whom?, etc.)
Levy wisely aims the provided material at teaching you to think about what it is you are doing and what it is you want to do. This is a teaching text for financial utility and application coders, not a "Numerical Recipes in C++" where you can cut-n-paste and cobble together code and then expect it all to be stable and compile error free. A lot of the reviews here apparently can't tell the difference between a cookbook and a teaching exercise book. It is as if they want to read the manual of an exercise machine and then complain they did not loose weight.
So, whom is this book for? Levy's strength and flaw is he has written a book he wished he had himself when he started: a book on Finance and applied finance for mathematicians, physicists, or high-level computer scientists who are switching over from their fields to banking. Many levels of mathematical familiarity are sort of blithely assumed (upper level calculus) while jaw-droopingly obvious finance stuff is over-explained (for me). So for finance people, the math is a bit of a stretch. For coders, they cry-baby whine that Levy doesn't do it all for you ("I want my numerical recipes...stable, and de-bugged...whaaaaaaww!").
Which makes this a surprisingly GOOD book for rest-on-your oars Finance-lite types (because they have to stretch on the math) and lazy coders (because they have to think and problem solve at nodes of transition and platform and output issues, etc. and these exercises make you think rather than point and click), and of course is good for folks who are transitioning from other fields (with high theoretical and thin applied math) to Finance, because Finance is where it is all bout what you can DO as opposed to what you are capable of THINKING.
The writing style is a little dry and direct, but I like it. This is a much better book than the lazy reviewers here have whined about. If you can do the exercises in this book and Joshi's "C++ Design Patterns and Derivatives Pricing" then you are on your way to a credible career as a quant with a reputation for solving problems instead of whining about how the world should be perfect for your lazy ass.
Please e-mail the author for supplementary material (code sets) and an errata sheet. Few authors take the time to support their work after publication. George Levy does. He is a good man.
Author(s): George Levy DPhil University of Oxford
Series: Quantitative Finance
Edition: Har/Pas
Publisher: Academic Press
Year: 2008
Language: English
Pages: 385