Skip to main content

Über dieses Buch

This is a hands-on book for programmers wanting to learn how C++ is used in the development of solutions for options and derivatives trading in the financial industry. As an important part of the financial industry, options and derivatives trading has become increasingly sophisticated. Advanced trading techniques using financial derivatives have been used at banks, hedge funds, and pension funds. Because of stringent performance characteristics, most of these trading systems are developed using C++ as the main implementation language.

Options and Derivatives Programming in C++ covers features that are frequently used to write financial software for options and derivatives, including the STL, templates, functional programming, and support for numerical libraries. New features introduced in the C++11 and C++14 standard are also covered: lambda functions, automatic type detection, custom literals, and improved initialization strategies for C++ objects.

Readers will enjoy the how-to examples covering all the major tools and concepts used to build working solutions for quantitative finance. It includes advanced C++ concepts as well as the basic building libraries used by modern C++ developers, such as the STL and Boost, while also leveraging knowledge of object-oriented and template-based programming.

Options and Derivatives Programming in C++ provides a great value for readers who are trying to use their current programming knowledge in order to become proficient in the style of programming used in large banks, hedge funds, and other investment institutions. The topics covered in the book are introduced in a logical and structured way and even novice programmers will be able to absorb the most important topics and competencies.

What You Will Learn

Grasp the fundamental problems in options and derivatives trading Converse intelligently about credit default swaps, Forex derivatives, and more Implement valuation models and trading strategies Build pricing algorithms around the Black-Sholes Model, and also using the Binomial and Differential Equations methods Run quantitative finance algorithms using linear algebra techniques Recognize and apply the most common design patterns used in options trading Save time by using the latest C++ features such as the STL and the Boost libraries

Who This Book Is For

Options and Derivatives Programming in C++ is for professional developers who have some experience with the C++ language and would like to leverage that knowledge into financial software development. This book is written with the goal of reaching readers who need a concise, algorithms-based book, providing basic information through well-targeted examples and ready to use solutions. Readers will be able to directly apply the concepts and sample code to some of the most common problems faced in the analysis of options and derivative contracts.



Chapter 1. Options Concepts

In the last few decades, software development has become an integral part of the investment industry. Advances in trading infrastructure, as well as the need for increased volume and liquidity, has caused financial institutions to adopt computational techniques in their day-to-day operations. This means that there are many opportunities for computer scientists specializing in the design and development of automated strategies for trading and analyzing options and other financial derivatives.

Carlos Oliveira

Chapter 2. Financial Derivatives

Derivative is a general term for contracts that have their price based on the properties of an underlying asset. In particular, options are a standardized type of derivatives that give the right to buy or sell the underlying asset at a particular price. Unlike options, however, general derivatives include a large number of non-standard features that allow them to be created even for illiquid assets such as corporate credit risk or real estate mortgages.

Carlos Oliveira

Chapter 3. Basic Algorithms

To become a proficient software developer, it is essential that you understand the basic algorithms used in your application area. This is especially applicable to financial derivatives, where some basic problems and algorithms are recurring. In this chapter, I examine some common algorithms encountered in C++ applications for analyzing and processing options and derivatives.

Carlos Oliveira

Chapter 4. Object-Oriented Techniques

For the last 30 years, object-oriented techniques have become the standard for software analysis and development. Since C++ fully supports OO programming, it is essential that you have a good understanding of OO techniques in order to solve many of the challenges presented by options and derivatives programming.

Carlos Oliveira

Chapter 5. Design Patterns for Options Processing

Design patterns are a set of common programming design elements that can be used to simplify the solution of recurring problems. With the use of OO techniques, design patterns can be cleanly implemented as a set of classes that work toward the solution of a common goal. These designs can then be reused and shared across applications.

Carlos Oliveira

Chapter 6. Template-Based Techniques

C++ templates allow programmers to write generic code, which works without modification on different datatypes. Through the careful use of templates, C++ programmers can write expressive code with high performance and low overhead, without needing to rely exclusively on more computationally expensive object-oriented techniques, such as the design patterns presented in the previous chapter.

Carlos Oliveira

Chapter 7. STL for Derivatives Programming

Modern financial programming in C++ makes heavy use of template-based algorithms. Many of the basic algorithms related to trading options and their derivatives are implemented in terms of function and class templates. This is done due to the superior advantages of templates in performance as well as their ability to improve code reuse.

Carlos Oliveira

Chapter 8. Functional Programming Techniques

Functional programming is a coding strategy that focuses on the direct use of functions as first-class objects. This means that in a functional program, you are allowed to create, store, and call functions, and otherwise use them as if they were just another variable of the system. Functional code also simplifies programming decisions because it avoids changing state and mutable data. This type of functional manipulation allows programs to more closely express the desired behavior of the system and is particularly suitable to some application areas. Functional programming is especially useful in the development of mathematical software and in the processing of large datasets, as is the case in the analysis options and derivatives. It also can be used with the development of multi-threaded systems, since it allows the use of lock-free code.

Carlos Oliveira

Chapter 9. Linear Algebra Algorithms

Linear algebra techniques are used throughout the area of financial engineering, and in particular in the analysis of options and other financial derivatives. These techniques are used for example to calculate the value of large portfolios, or to quickly price derivative instruments. This chapter contains an overview of LA algorithms and their implementation in C++.

Carlos Oliveira

Chapter 10. Algorithms for Numerical Analysis

Equation solving is one of the main building blocks for financial algorithms used in the analysis of options and financial derivatives. This happens because of the nature of options pricing, which is based on the Black-Scholes pricing model. Many of the techniques that involve options pricing require the efficient solution of equations and other mathematical formulations.

Carlos Oliveira

Chapter 11. Models Based on Differential Equations

Differential equations are equations that involve in their terms both a function as well as their mathematical derivatives. Many of these equations arise naturally from the analysis of economic models used for the pricing of options, such as the Black-Scholes model.

Carlos Oliveira

Chapter 12. Basic Models for Options Pricing

Options pricing is the task of determining the fair value of a particular option, given a set of parameters that exactly determine the features of the option contract, such as its expiration date, current volatility, and prevailing interest rates. Pricing options requires the use of efficient algorithms, because of frequent changes in prices and market volatility. For this reason, a number of models have been employed for this task in the area of quantitative finance.

Carlos Oliveira

Chapter 13. Monte Carlo Methods

Among other programming techniques used for trading equity markets, the Monte Carlo simulation has a special place due to factors such as its wide applicability and easy implementation. These methods can be used to implement strategies for market analysis such as price forecasting, or to validate options trading strategies, for example.

Carlos Oliveira

Chapter 14. Using Ckali Libraries for Finance

Writing good financial code is a difficult task, one that cannot be done in isolation. As a software engineer, you frequently need to collaborate with others to achieve your development goals. You also need to use code that has been written by other groups. In particular, developers are constantly using libraries created by other companies or open source projects. Integrating these libraries into your own work is a major step to improve productivity.

Carlos Oliveira

Chapter 15. Credit Derivatives

A credit derivative is a financial contract that aims at reducing credit risk—that is, the risk of default posed by contracts established with a business counterparty. These kinds of derivatives have become increasingly popular in the last decade, because they allow the hedging of complex financial positions even in industries that are not covered by mainstream markets.

Carlos Oliveira


Weitere Informationen

Premium Partner

Neuer Inhalt

BranchenIndex Online

Die B2B-Firmensuche für Industrie und Wirtschaft: Kostenfrei in Firmenprofilen nach Lieferanten, Herstellern, Dienstleistern und Händlern recherchieren.



Best Practices für die Mitarbeiter-Partizipation in der Produktentwicklung

Unternehmen haben das Innovationspotenzial der eigenen Mitarbeiter auch außerhalb der F&E-Abteilung erkannt. Viele Initiativen zur Partizipation scheitern in der Praxis jedoch häufig. Lesen Sie hier  - basierend auf einer qualitativ-explorativen Expertenstudie - mehr über die wesentlichen Problemfelder der mitarbeiterzentrierten Produktentwicklung und profitieren Sie von konkreten Handlungsempfehlungen aus der Praxis.
Jetzt gratis downloaden!