CHF87.00
Download steht sofort bereit
One of the best languages for the development of financial
engineering and instrument pricing applications is C++. This book
has several features that allow developers to write robust,
flexible and extensible software systems. The book is an ANSI/ISO
standard, fully object-oriented and interfaces with many
third-party applications. It has support for templates and generic
programming, massive reusability using templates (?write once?) and
support for legacy C applications.
In this book, author Daniel J. Duffy brings C++ to the next
level by applying it to the design and implementation of classes,
libraries and applications for option and derivative pricing
models. He employs modern software engineering techniques to
produce industrial-strength applications:
Using the Standard Template Library (STL) in finance
Creating your own template classes and functions
Reusable data structures for vectors, matrices and tensors
Classes for numerical analysis (numerical linear algebra
?)
Solving the Black Scholes equations, exact and approximate
solutions
Implementing the Finite Difference Method in C++
Integration with the ?Gang of Four? Design Patterns
Interfacing with Excel (output and Add-Ins)
Financial engineering and XML
Cash flow and yield curves
Included with the book is a CD containing the source code in the
Datasim Financial Toolkit. You can use this to get up to speed with
your C++ applications by reusing existing classes and
libraries.
'Unique... Let's all give a warm welcome to modern pricing
tools.'
-- Paul Wilmott, mathematician, author and fund manager
Autorentext
Daniel Duffy works for Datasim, an Amsterdam-based trainer and software developer (www.datasim-component.com, www.datasim.nl). He has been working in IT since 1979 and with object-oriented technology since 1987. He received his MSc and PhD theses (in numerical analysis) from Trinity College, Dublin. His current interests are in the modelling of financial instruments using numerical methods (for example, finite difference method) and C++. He can be contacted at dduffy@datasim.nl
Zusammenfassung
One of the best languages for the development of financial engineering and instrument pricing applications is C++. This book has several features that allow developers to write robust, flexible and extensible software systems. The book is an ANSI/ISO standard, fully object-oriented and interfaces with many third-party applications. It has support for templates and generic programming, massive reusability using templates (?write once?) and support for legacy C applications.
In this book, author Daniel J. Duffy brings C++ to the next level by applying it to the design and implementation of classes, libraries and applications for option and derivative pricing models. He employs modern software engineering techniques to produce industrial-strength applications:
'Unique... Let's all give a warm welcome to modern pricing tools.'
-- Paul Wilmott, mathematician, author and fund manager
Inhalt
1 Executive Overview of this Book 1
1.1 What is this book? 1
1.2 What's special about this book? 1
1.3 Who is this book for? 2
1.4 Software requirements 3
1.5 The structure of this book 4
1.6 Pedagogical approach 5
1.7 What this book is not 6
1.8 Source code on the CD 6
PART I TEMPLATE PROGRAMMING IN C++
2 A Gentle Introduction to Templates in C++ 9
2.1 Introduction and objectives 9
2.2 Motivation and background 10
2.3 Defining a template 11
2.3.1 An example 13
2.4 Template instantiation 15
2.5 Function templates 16
2.5.1 An example 17
2.6 Default values and typedefs 18
2.7 Guidelines when implementing templates 18
2.8 Conclusions and summary 19
3 An Introduction to the Standard Template Library 20
3.1 Introduction and objectives 20
3.2 A Bird's-eye view of STL 20
3.3 Sequence containers 23
3.4 Associative containers 27
3.5 Iterators in STL 30
3.6 Algorithms 33
3.7 Using STL for financial instruments 35
3.8 Conclusions and summary 35
4 STL for Financial Engineering Applications 36
4.1 Introduction and objectives 36
4.2 Clever data structures 36
4.3 Set theory and STL 40
4.4 Useful algorithms 43
4.5 STL adaptor containers 45
4.6 Conclusions and summary 46
5 The Property Pattern in Financial Engineering 47
5.1 Introduction and objectives 47
5.2 The Property pattern 47
5.3 An example 51
5.4 Extending the Property pattern: property sets and property lists 52
5.5 Properties and exotic options 57
5.6 Conclusions and summary 59
PART II BUILDING BLOCK CLASSES
6 Arrays, Vectors and Matrices 63
6.1 Introduction and objectives 63
6.2 Motivation and background 64
6.3 A layered approach 66
6.4 The Array and Matrix classes in detail 66
6.5 The Vector and NumericMatrix classes in detail 72
6.6 Associative arrays and matrices 74
6.7 Conclusions and summary 77
7 Arrays and Matrix Properties 78
7.1 Introduction and objectives 78
7.2 An overview of the functionality 78
7.3 Software requirements 79
7.4 The core processes 80
7.5 Other function categories 85
7.6 Using the functions 87
7.7 An introduction to exception handling 88
7.8 Conclusions and summary 90
8 Numerical Linear Algebra 91
8.1 Introduction and objectives 91
8.2 An introduction to numerical linear algebra 91
8.3 Tridiagonal systems 94
8.4 Block tridiagonal systems 99
8.5 What requirements should our matrix satisfy? 101
8.6 Conclusions and summary 102
9 Modelling Functions in C++ 103
9.1 Introduction and objectives 103
9.2 Function pointers in C++ 103
9.3 Function objects in STL 106
9.4 Some function types 109
9.5 Creating your own function classes 111
9.6 Arrays of functions 114
9.7 Vector functions 115
9.8 Real-valued functions 115
9.9 Vector-valued functions 116
9.10 Conclusions and summary 116
10 C++ Classes for Statistical Distributions 117
10.1 Introduction and objectives 117
10.2 Discrete and continuous probability distribution functions 117
10.3 Continuous distributions 119
10.4 Discrete distributions 124
10.5 Tests 127
10.6 Conclusions and summary 128
PART III ORDINARY AND STOCHASTIC DIFFERENTIAL EQUATIONS **11 Numerical Solution of Initial Value Problems:...