|
Numerical Recipes in C++ (William H. Press et al) -- This book covers a variety of numerical algorithms, ranging from numerical differentiation and integration to statistical analysis, all implemented in C++. I consider Numerical Recipes a very useful reference. Note that if you already own the C version of this book there is no need to upgrade.
|
|
Randomized Algorithms (Rajeev Motwani et al) -- This is one of my favorite computer science books. The authors do an excellent job of demonstrating the usefulness of probabilistic algorithms and data structures and choose the right balance between theoretical background and applied examples. |
|
Financial Engineering and Computation (Yuh-Dauh Lyuu) -- Instead of getting bogged down in mathematics, this underrated textbook focuses on the algorithms used to price derivatives instruments. This may be the most natural introduction to quantitative finance for computer scientists. |
|
C++ Design Patterns and Derivatives Pricing (Mark S. Joshi et al) -- As the title suggests, this book applies design patterns to develop a well structured, extendable Monte Carlo framework for pricing derivatives instruments. I recommend this book and my full review can be read here. |
|
Financial Instrument Pricing Using C++ (Daniel J. Duffy) -- Duffy chooses a slightly different approach than Joshi to the same topic. Instead of focusing on design patterns and Monte Carlo simulation, this book uses finite difference methods and discusses some more practical aspects, such as integration with Excel. Both books are worth reading. |
|
Building Financial Derivatives Applications with C++ (Robert Brooks) -- Do NOT buy this book. After the initial sticker shock you will find that the code in this book is quite ugly and that the author has obviously never heard of design patterns or error handling. Amusingly, Joshi's Before example is very similar to the code in this text. Don't say I didn't warn you. |
|
Design Patterns (Erich Gamma et al) -- This is the classic collection of design patterns. Everyone needs a copy of this book to effectively communicate software design ideas to co-workers. |
|
Introduction to the Theory of Computation (Michael Sipser) -- This is an excellent introduction to theoretical computer science. If you are interested in decidability, classes of time and space complexity, NP-completeness, and turing machines, this book is for you. |
|
Mathematica Navigator (Heikki Ruskeepaa) -- Mathematica is one of the greatest software packages ever devised. Of course, you are more likely to encounter this software in academia than on the job. Regardless, this book provides a lucid introduction to the power of Mathematica. |
|
Computational Economics and Finance (Hal R. Varian) -- This collection of economics papers focuses on applying Mathematica to solve real-world finance and economics problems. The book also includes one of the most readable descriptions of the Simplex optimization algorithm I have found. |
|
Advanced Modelling in Finance using Excel and VBA (Marry Jackson et al) -- This book teaches little about finance but it does a good job of teaching Excel programming in VBA beyond the basics. |