Options and Derivatives Programming in C++23 : Algorithms and Programming Techniques for the Financial Industry
معرفی کتاب «Options and Derivatives Programming in C++23 : Algorithms and Programming Techniques for the Financial Industry» نوشتهٔ Douglas Adams و Carlos Oliveira، منتشرشده توسط نشر Apress L. P. در سال 2023. این کتاب در فرمت pdf، زبان انگلیسی ارائه شده است.
This book is a hands-on guide for programmers who want to learn how C++ is used to develop solutions for options and derivatives trading in the financial industry. It explores the main algorithms and programming techniques used in implementing systems and solutions for trading options and derivatives. This updated edition will bring forward new advances in C++ software language and libraries, with a particular focus on the new C++23 standard. The book starts by covering C++ language features that are frequently used to write financial software for options and derivatives. These features include the STL (standard template library), generic templates, functional programming, and support for numerical code. Examples include additional support for lambda functions with simplified syntax, improvements in automatic type detection for templates, custom literals, modules, constant expressions, and improved initialization strategies for C++ objects. This book also provides how-to examples that cover all the major tools and concepts used to build working solutions for quantitative finance. It discusses how to create bug-free and efficient applications, leveraging the knowledge of object-oriented and template-based programming. It has two new chapters covering backtesting option strategies and processing financial data.. It introduces the topics covered in the book in a logical and structured way, with lots of examples that will bring them to life. Options and Derivatives Programming in C++23 has been written with the goal of reaching readers who are looking for a concise, algorithms-based book that provides basic information through well-targeted examples and ready to use solutions. What You Will Learn Gain insight into the fundamental challenges of the options and derivatives market Master the features of the C++ language used in quantitative financial programming Understand quantitative finance algorithms for options and derivatives Build pricing algorithms around the Black-Scholes model, and use binomial and differential equations methods Who This Book Is For Professional developers who have some experience with the C++ language and would like to leverage that knowledge into financial software development. Table of Contents About the Author About the Technical Reviewer Introduction Chapter 1: Options Concepts Basic Definitions Option Greeks Using C++23 to Analyze Options Availability Performance Standardization Expressiveness Modeling Options in C++ Creating Well-Behaved Classes Computing the Option Value at Expiration Complete Listing Using the auto Keyword Initializing Variables in C++ Printing Values in C++ Building and Testing Further References Conclusion Chapter 2: Financial Derivatives Models for Derivative Pricing Credit Default Swaps Collateralized Debt Obligations FX Derivatives Equations for Derivative Modeling Numerical Models Binomial Trees Simulation Models Coding in C++ with the STL Generating a Random Walk in C++ Complete Listing Building and Testing Further References Conclusion Chapter 3: Basic C++ Algorithms Date and Time Handling Date Operations Computing the Day of the Week Using the ++ Operator Determining Trading Dates Complete Listing A Compact Date Representation Complete Listings Building and Testing Using the Standard Chrono Header Working with Networks Creating a Dictionary Class Calculating a Shortest Path Complete Listings Building and Testing Conclusion Chapter 4: Object-Oriented Techniques OO Programming Concepts Encapsulation Inheritance Polymorphism Polymorphism and Virtual Tables Virtual Functions and Virtual Destructors Abstract Functions Building Class Hierarchies Object Composition When to Use Object-Oriented Features? Objects and C++23 Conclusion Chapter 5: Design Patterns for Options Processing Introduction to Design Patterns The Factory Method Design Pattern The Singleton Pattern Using the Singleton Design Pattern Clearing House Implementation in C++ The Observer Design Pattern Complete Code The Visitor Pattern Conclusion Chapter 6: Template-Based Techniques Introduction to Templates Compilation-Time Polymorphism Template Functions Implementing Recursive Functions Recursive Functions and Template Classes Containers and Smart Pointers Avoiding Lengthy Template Instantiations Preinstantiating Templates Templates in C++23 The constexpr Syntax in C++23 Conclusion Chapter 7: STL for Derivatives Programming Introduction to Algorithms in the STL Sorting Presenting Frequency Data Copying Container Data Finding Elements Selecting Option Data STL Improvements in C++23 Array Slices in C++23 Conclusion Chapter 8: Functional Programming Techniques Functional Programming Concepts Function Objects Functional Predicates in the STL The Bind Function Lambda Functions in C++23 Complete Code Changes to Lambda Functions in C++23 Change in the Scope of Lambda Trailing Return Type Attributes on Lambdas Conclusion Chapter 9: Linear Algebra Algorithms Vector Operations Scalar-to-Vector Operations Vector-to-Vector Operations Matrix Implementation Using the uBLAS Library Complete Code Syntax Change in C++23: Multidimensional Subscripts Conclusion Chapter 10: Algorithms for Numerical Analysis Representing Mathematical Functions Using Horner’s Method Finding Roots of Equations Newton’s Method Integration Complete Code Conclusion Chapter 11: Models Based on Differential Equations General Differential Equations Ordinary Differential Equations Euler’s Method Implementing the Method The Runge-Kutta Method Runge-Kutta Implementation Complete Code Conclusion Chapter 12: Basic Models for Options Pricing Lattice Models Binomial Model Binomial Model Implementation Pricing American-Style Options Solving the Black-Scholes Model Numerical Solution of the Model Complete Code Conclusion Chapter 13: Monte Carlo Methods Introduction to Monte Carlo Methods Random Number Generation Probability Distributions Using Common Probability Distributions Using Random Walks Creating Random Walks Conclusion Chapter 14: Backtesting Trading Strategies in C++ Obtaining Historical Market Data Data Cleaning and Preprocessing Adjustments for Corporate Actions How to Design Your Trading Strategy Backtest and Validation Phase Developing the Backtesting Engine Read Historical Market Data Create the Backtesting Engine Conclusion Chapter 15: Using C++ Libraries for Finance Boost Libraries Installing Boost Solving ODEs with Boost Solving a Simple ODE Creating Histograms with Boost The QuantLib Library Handling Dates Working with Calendars Computing Solutions for Black-Scholes Equations Creating a C++ Interface Complete Code Conclusion Chapter 16: Credit Derivatives Introduction to Credit Derivatives Modeling Credit Derivatives Using Barrier Options A Solver Class for Barrier Options Barrier Option Classes in QuantLib An Example Using QuantLib Complete Code Conclusion Chapter 17: Processing Financial Data Introduction to XML in Finance Using XML in Finance Understanding the XML Structure XML Tags and Elements Attributes Hierarchy and Nesting XML Schema (XSD) and Document Type Definition (DTD) XML Parsing in C++ Installing the pugixml Library XML Parsing with pugixml Performing Data Processing and Analysis Error Handling Loading XML File and Checking for Errors Checking for Node Existence Handling Missing Attributes Other Techniques for Error Checking Using the HDF5 Format Using HDF5 Compile and Run HDF5 for Trading Data Conclusion Index
دانلود کتاب Options and Derivatives Programming in C++23 : Algorithms and Programming Techniques for the Financial Industry