Description
This is a hands-on book for programmers who want to learn about how C++ is used in the financial industry. The book concentrates on the parts of the language that are more frequently used to write financial software, including the STL (standard template library), templates, and support for numerical libraries. I also describe many of the important problems in financial engineering that are part of the day-to-day work of financial programmers and quantitative analysts in investment banks and hedge funds.
The book provides how-to examples that cover all the major tools and concepts used to build working solutions for financial applications. Each chapter teaches readers how to use advanced C++ concepts as well as the basic building libraries used by modern C++ developers, such as the STL and Boost. I discuss how to create correct and efficient applications, leveraging knowledge of object-oriented and templatebased programming. I assume only a basic knowledge of C and C++, and build on these concepts to explain techniques already mastered by developers who are familiar with modern C++. In the process of writing this book, I was concerned with providing a great value for readers who are trying to use their programming knowledge to become proficient in the style of programming used in financial institutions such as banks, hedge funds, and other companies in the financial industry. However, I have introduced the topics covered in the book in a logical and structured way, so that even novice programmers will be able to absorb the most important topics and competencies necessary to develop financial applications in C++.
An important feature of the book is its focus on specific themes and practical solutions for financial problems. While the emphasis is not on the theoretical aspects of finance, I do discuss topics such as numerical algorithms, integration techniques, and differential equations for derivative valuation. Moreover, the reader will gain a good understanding of how to model such problems using modern C++ concepts. The financial literature for programmers typically has a large number of books written from an academic standpoint, with most of the time spent on the discussion of mathematics concepts behind algorithms, rather than the software engineering challenges that developers need to overcome ers. Therefore, in this book, I decided to focus on working solutions for common programming problems, in the form of code examples, offering readers much more value for their reading efforts.
Audience
This book is intended for readers who already have a working knowledge of programming in C, C++, or another mainstream language. These are usually professionals or advanced students in computer science, engineering, physics, and mathematics, who have an interest in learning C++ financial programming either for personal improvement or for professional reasons. The book is also directed at practitioners of C++ programming in financial institutions, who would use the book as a ready-to-use reference for common development problems.
By reading this book, you will learn how to use modern C++ techniques to implement practical applications. Being a multi-paradigm language, C++ is used slightly differently in each application area. Therefore, skills that are valuable for developing desktop applications are not necessarily the same as those used to write high-performance software. A large part of major high-performance financial applications are written in C++, which means that programmers who want to enter this lucrative market need to acquire a working knowledge of a few specific and relevant parts of the language. This book therefore would be an excellent choice for developers who want to advance their knowledge effectively, while learning one of the most sought after and marketable skill sets for modern application and high-performance software development.