2025-04-30 09:21:14
This post is the second part of a series of book recommendations for novice quantitative analysts. Other articles in this series will focus on derivative pricing, numerical methods, and Python programming.
The previous article discussed the theoretical foundations of mathematical finance, which are extremely important. However, in practice, quantitative analysts in the industry spend most of their time implementing models in code.
Learning how to apply models requires a deep understanding of theory, which will enable the use of mathematical strategies necessary for code optimization. Additionally, it is essential to be proficient in modern software engineering tools, such as version control and Agile development. PhD students in technical fields were once highly sought after for positions in financial engineering because they have the ability to independently create technical models. However, the academic environment often downplays the importance of software development, which is a necessary skill for modern quantitative analysts.
Even with the popularity of languages like Python, C++ remains a widely used programming language in financial institutions. Understanding C++ will be essential for job interviews for the position of derivatives pricing quant. Additionally, understanding C++ makes learning other programming languages easier, as it involves more complex concepts such as manual memory management.
There are several books listed here that are more than those found in the derivatives pricing article because C++ has developed faster than mathematical finance concepts. Additionally, understanding programming books is often quicker compared to mathematical books.
When starting to learn C++ from scratch, the first thing to consider is where and how to write code. You will need to install an Integrated Development Environment (IDE) to write commands and run your programs. Depending on the operating system you use, you might want to download tools like Microsoft's VSCode or use the gcc compiler, which is part of many Linux distributions. Specifically, if you are using Ubuntu Linux, you will need to run the command `sudo apt-get install build-essential` to download these tools. In a Linux development environment, text editors like Vim and Emacs are popular. Another option is SublimeText, which has a large user base. Text editors like Vim and Emacs are popular. Another option is SublimeText, which has a large user base.
There are several beginner books about learning C++ for those who have no prior programming experience. Two frequently recommended ones are "Sams Teach Yourself C++ in One Hour a Day, 8th Edition" by Siddhartha Rao and "Sams Teach Yourself C++ in 24 Hours, 6th Edition" by Rogers Cadenhead and Jesse Liberty. These books will provide a solid foundation in the C++ language and its syntax, including functions, program flow, memory management, and object-oriented programming. They will teach about the Standard Template Library (STL) and also cover the C++14 and C++17 standards.
Scott Meyers is renowned as a C++ expert, and several of his books on how to improve C++ coding will be beneficial even for experienced developers. The first book, Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition) Focusing on memory management and object-oriented programming, written in 2005, it may be older compared to newer books, but it remains a must-read for C++ developers.
Meyers also has a more modern book on the same topic titled Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14, which covers topics such as the auto keyword, smart pointers, move semantics, concurrency, and lambda functions.
Herb Sutter has a book titled Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions, which is an interesting read, focusing on exception safety and object-oriented programming in the form of "programming puzzles."
Learning C++ to the level recommended by Scott Meyers will be sufficient for an interview for the position of a desk quant derivatives pricing analyst. However, if your goal is to become a C++ expert, learning about Design Patterns and STL would be the next reasonable step. The book "Design Patterns: Elements of Reusable Object-Oriented Software" by the "Gang of Four" is the standard book on Design Patterns, which is popular in high-performance programs in quant code.
Josuttis's book on STL titled The C++ Standard Library: A Tutorial and Reference (2nd edition) is highly recommended, but it is quite difficult to read. It should be read after you are familiar with the syntax and idioms of C++. Additionally, Meyers has a recommended book on using STL effectively titled Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library, which, despite being older, still holds value.
Reference: Quant Reading List C++ Programming
From https://www.quantstart.com/articles/Quant-Reading-List-C-Programming/
2025-01-10 10:12:01
2024-05-31 03:06:49
2024-05-28 03:09:25
There are many other interesting articles, try selecting them from below.
2024-02-23 05:19:59
2025-01-24 02:47:13
2023-10-18 04:37:58
2024-03-25 03:46:48
2024-02-27 04:35:12
2024-03-18 04:29:28
2023-12-12 04:31:29
2024-08-19 01:21:43
2024-11-13 05:58:26