{"product_id":"financial-instrument-pricing-using-c-isbn-9780470855096","title":"Financial Instrument Pricing Using C++","description":"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.  \u003cp\u003eIn 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:\u003c\/p\u003e \u003cul\u003e \u003cli\u003eUsing the Standard Template Library (STL) in finance\u003c\/li\u003e \u003cli\u003eCreating your own template classes and functions\u003c\/li\u003e \u003cli\u003eReusable data structures for vectors, matrices and tensors\u003c\/li\u003e \u003cli\u003eClasses for numerical analysis (numerical linear algebra ?)\u003c\/li\u003e \u003cli\u003eSolving the Black Scholes equations, exact and approximate solutions\u003c\/li\u003e \u003cli\u003eImplementing the Finite Difference Method in C++\u003c\/li\u003e \u003cli\u003eIntegration with the ?Gang of Four? Design Patterns\u003c\/li\u003e \u003cli\u003eInterfacing with Excel (output and Add-Ins)\u003c\/li\u003e \u003cli\u003eFinancial engineering and XML\u003c\/li\u003e \u003cli\u003eCash flow and yield curves\u003c\/li\u003e \u003c\/ul\u003e \u003cp\u003eIncluded 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.\u003c\/p\u003e \u003cp\u003e'Unique... Let's all give a warm welcome to modern pricing tools.'\u003cbr\u003e -- Paul Wilmott, mathematician, author and fund manager\u003c\/p\u003e  \u003cp\u003e\u003cb\u003e1 Executive Overview of this Book 1\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e1.1 What is this book? 1\u003c\/p\u003e \u003cp\u003e1.2 What’s special about this book? 1\u003c\/p\u003e \u003cp\u003e1.3 Who is this book for? 2\u003c\/p\u003e \u003cp\u003e1.4 Software requirements 3\u003c\/p\u003e \u003cp\u003e1.5 The structure of this book 4\u003c\/p\u003e \u003cp\u003e1.6 Pedagogical approach 5\u003c\/p\u003e \u003cp\u003e1.7 What this book is not 6\u003c\/p\u003e \u003cp\u003e1.8 Source code on the CD 6\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePART I TEMPLATE PROGRAMMING IN C++\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e2 A Gentle Introduction to Templates in C++ 9\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e2.1 Introduction and objectives 9\u003c\/p\u003e \u003cp\u003e2.2 Motivation and background 10\u003c\/p\u003e \u003cp\u003e2.3 Defining a template 11\u003c\/p\u003e \u003cp\u003e2.3.1 An example 13\u003c\/p\u003e \u003cp\u003e2.4 Template instantiation 15\u003c\/p\u003e \u003cp\u003e2.5 Function templates 16\u003c\/p\u003e \u003cp\u003e2.5.1 An example 17\u003c\/p\u003e \u003cp\u003e2.6 Default values and typedefs 18\u003c\/p\u003e \u003cp\u003e2.7 Guidelines when implementing templates 18\u003c\/p\u003e \u003cp\u003e2.8 Conclusions and summary 19\u003c\/p\u003e \u003cp\u003e\u003cb\u003e3 An Introduction to the Standard Template Library 20\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e3.1 Introduction and objectives 20\u003c\/p\u003e \u003cp\u003e3.2 A Bird’s-eye view of STL 20\u003c\/p\u003e \u003cp\u003e3.3 Sequence containers 23\u003c\/p\u003e \u003cp\u003e3.4 Associative containers 27\u003c\/p\u003e \u003cp\u003e3.5 Iterators in STL 30\u003c\/p\u003e \u003cp\u003e3.6 Algorithms 33\u003c\/p\u003e \u003cp\u003e3.7 Using STL for financial instruments 35\u003c\/p\u003e \u003cp\u003e3.8 Conclusions and summary 35\u003c\/p\u003e \u003cp\u003e\u003cb\u003e4 STL for Financial Engineering Applications 36\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e4.1 Introduction and objectives 36\u003c\/p\u003e \u003cp\u003e4.2 Clever data structures 36\u003c\/p\u003e \u003cp\u003e4.3 Set theory and STL 40\u003c\/p\u003e \u003cp\u003e4.4 Useful algorithms 43\u003c\/p\u003e \u003cp\u003e4.5 STL adaptor containers 45\u003c\/p\u003e \u003cp\u003e4.6 Conclusions and summary 46\u003c\/p\u003e \u003cp\u003e\u003cb\u003e5 The Property Pattern in Financial Engineering 47\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e5.1 Introduction and objectives 47\u003c\/p\u003e \u003cp\u003e5.2 The Property pattern 47\u003c\/p\u003e \u003cp\u003e5.3 An example 51\u003c\/p\u003e \u003cp\u003e5.4 Extending the Property pattern: property sets and property lists 52\u003c\/p\u003e \u003cp\u003e5.5 Properties and exotic options 57\u003c\/p\u003e \u003cp\u003e5.6 Conclusions and summary 59\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePART II BUILDING BLOCK CLASSES\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e6 Arrays, Vectors and Matrices 63\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e6.1 Introduction and objectives 63\u003c\/p\u003e \u003cp\u003e6.2 Motivation and background 64\u003c\/p\u003e \u003cp\u003e6.3 A layered approach 66\u003c\/p\u003e \u003cp\u003e6.4 The Array and Matrix classes in detail 66\u003c\/p\u003e \u003cp\u003e6.5 The Vector and NumericMatrix classes in detail 72\u003c\/p\u003e \u003cp\u003e6.6 Associative arrays and matrices 74\u003c\/p\u003e \u003cp\u003e6.7 Conclusions and summary 77\u003c\/p\u003e \u003cp\u003e\u003cb\u003e7 Arrays and Matrix Properties 78\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e7.1 Introduction and objectives 78\u003c\/p\u003e \u003cp\u003e7.2 An overview of the functionality 78\u003c\/p\u003e \u003cp\u003e7.3 Software requirements 79\u003c\/p\u003e \u003cp\u003e7.4 The core processes 80\u003c\/p\u003e \u003cp\u003e7.5 Other function categories 85\u003c\/p\u003e \u003cp\u003e7.6 Using the functions 87\u003c\/p\u003e \u003cp\u003e7.7 An introduction to exception handling 88\u003c\/p\u003e \u003cp\u003e7.8 Conclusions and summary 90\u003c\/p\u003e \u003cp\u003e\u003cb\u003e8 Numerical Linear Algebra 91\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e8.1 Introduction and objectives 91\u003c\/p\u003e \u003cp\u003e8.2 An introduction to numerical linear algebra 91\u003c\/p\u003e \u003cp\u003e8.3 Tridiagonal systems 94\u003c\/p\u003e \u003cp\u003e8.4 Block tridiagonal systems 99\u003c\/p\u003e \u003cp\u003e8.5 What requirements should our matrix satisfy? 101\u003c\/p\u003e \u003cp\u003e8.6 Conclusions and summary 102\u003c\/p\u003e \u003cp\u003e\u003cb\u003e9 Modelling Functions in C++ 103\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e9.1 Introduction and objectives 103\u003c\/p\u003e \u003cp\u003e9.2 Function pointers in C++ 103\u003c\/p\u003e \u003cp\u003e9.3 Function objects in STL 106\u003c\/p\u003e \u003cp\u003e9.4 Some function types 109\u003c\/p\u003e \u003cp\u003e9.5 Creating your own function classes 111\u003c\/p\u003e \u003cp\u003e9.6 Arrays of functions 114\u003c\/p\u003e \u003cp\u003e9.7 Vector functions 115\u003c\/p\u003e \u003cp\u003e9.8 Real-valued functions 115\u003c\/p\u003e \u003cp\u003e9.9 Vector-valued functions 116\u003c\/p\u003e \u003cp\u003e9.10 Conclusions and summary 116\u003c\/p\u003e \u003cp\u003e\u003cb\u003e10 C++ Classes for Statistical Distributions 117\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e10.1 Introduction and objectives 117\u003c\/p\u003e \u003cp\u003e10.2 Discrete and continuous probability distribution functions 117\u003c\/p\u003e \u003cp\u003e10.3 Continuous distributions 119\u003c\/p\u003e \u003cp\u003e10.4 Discrete distributions 124\u003c\/p\u003e \u003cp\u003e10.5 Tests 127\u003c\/p\u003e \u003cp\u003e10.6 Conclusions and summary 128\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePART III ORDINARY AND STOCHASTIC DIFFERENTIAL EQUATIONS\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e11 Numerical Solution of Initial Value Problems: Fundamentals 131\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e11.1 Introduction and objectives 131\u003c\/p\u003e \u003cp\u003e11.2 A model problem 132\u003c\/p\u003e \u003cp\u003e11.3 Discretisation 133\u003c\/p\u003e \u003cp\u003e11.4 Common schemes 134\u003c\/p\u003e \u003cp\u003e11.5 Some theoretical issues 136\u003c\/p\u003e \u003cp\u003e11.6 Fitting: Special schemes for difficult problems 137\u003c\/p\u003e \u003cp\u003e11.7 Non-linear scalar problems and predictor–corrector methods 138\u003c\/p\u003e \u003cp\u003e11.8 Extrapolation techniques 139\u003c\/p\u003e \u003cp\u003e11.9 C++ design and implementation 140\u003c\/p\u003e \u003cp\u003e11.10 Generalisations 143\u003c\/p\u003e \u003cp\u003e11.11 Conclusions and summary 144\u003c\/p\u003e \u003cp\u003e\u003cb\u003e12 Stochastic Processes and Stochastic Differential Equations 145\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e12.1 Introduction and objectives 145\u003c\/p\u003e \u003cp\u003e12.2 Random variables and random processes 145\u003c\/p\u003e \u003cp\u003e12.3 An introduction to stochastic differential equations 151\u003c\/p\u003e \u003cp\u003e12.4 Some finite difference schemes 152\u003c\/p\u003e \u003cp\u003e12.5 Which scheme to use? 153\u003c\/p\u003e \u003cp\u003e12.6 Systems of SDEs 154\u003c\/p\u003e \u003cp\u003e12.7 Conclusions and summary 154\u003c\/p\u003e \u003cp\u003e\u003cb\u003e13 Two-Point Boundary Value Problems 155\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e13.1 Introduction and objectives 155\u003c\/p\u003e \u003cp\u003e13.2 Description of problem 155\u003c\/p\u003e \u003cp\u003e13.3 (Traditional) centred-difference schemes 157\u003c\/p\u003e \u003cp\u003e13.4 Approximation of the boundary conditions 158\u003c\/p\u003e \u003cp\u003e13.5 Exponentially fitted schemes and convection–diffusion 160\u003c\/p\u003e \u003cp\u003e13.6 Approximating the derivatives 160\u003c\/p\u003e \u003cp\u003e13.7 Design issues 161\u003c\/p\u003e \u003cp\u003e13.8 Conclusions and summary 163\u003c\/p\u003e \u003cp\u003e\u003cb\u003e14 Matrix Iterative Methods 164\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e14.1 Introduction and objectives 164\u003c\/p\u003e \u003cp\u003e14.2 Iterative methods 165\u003c\/p\u003e \u003cp\u003e14.3 The Jacobi method 165\u003c\/p\u003e \u003cp\u003e14.4 Gauss–Seidel method 166\u003c\/p\u003e \u003cp\u003e14.5 Successive overrelaxation (SOR) 166\u003c\/p\u003e \u003cp\u003e14.6 Other methods 166\u003c\/p\u003e \u003cp\u003e14.7 The linear complementarity problem 168\u003c\/p\u003e \u003cp\u003e14.8 Implementation 169\u003c\/p\u003e \u003cp\u003e14.9 Conclusions and summary 171\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePART IV PROGRAMMING THE BLACK–SCHOLES ENVIRONMENT\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e15 An Overview of Computational Finance 175\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e15.1 Introduction and objectives 175\u003c\/p\u003e \u003cp\u003e15.2 The development life cycle 175\u003c\/p\u003e \u003cp\u003e15.3 Partial differential equations 176\u003c\/p\u003e \u003cp\u003e15.4 Numerical approximation of PDEs 177\u003c\/p\u003e \u003cp\u003e15.5 The class of finite difference schemes 179\u003c\/p\u003e \u003cp\u003e15.6 Special schemes for special problems 179\u003c\/p\u003e \u003cp\u003e15.7 Implementation issues and the choice of programming language 180\u003c\/p\u003e \u003cp\u003e15.8 Origins and application areas 180\u003c\/p\u003e \u003cp\u003e15.9 Conclusions and summary 181\u003c\/p\u003e \u003cp\u003e\u003cb\u003e16 Finite Difference Schemes for Black–Scholes 182\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e16.1 Introduction and objectives 182\u003c\/p\u003e \u003cp\u003e16.2 Model problem: The one-dimensional heat equation 182\u003c\/p\u003e \u003cp\u003e16.3 The Black–Scholes equation 186\u003c\/p\u003e \u003cp\u003e16.4 Initial conditions and exotic options payoffs 187\u003c\/p\u003e \u003cp\u003e16.5 Implementation 190\u003c\/p\u003e \u003cp\u003e16.6 Method of lines: A whirlwind introduction 190\u003c\/p\u003e \u003cp\u003e16.7 Conclusions and summary 191\u003c\/p\u003e \u003cp\u003e\u003cb\u003e17 Implicit Finite Difference Schemes for Black–Scholes 192\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e17.1 Introduction and objectives 192\u003c\/p\u003e \u003cp\u003e17.2 Fully implicit method 193\u003c\/p\u003e \u003cp\u003e17.3 An introduction to the Crank–Nicolson method 194\u003c\/p\u003e \u003cp\u003e17.4 A critique of Crank–Nicolson 195\u003c\/p\u003e \u003cp\u003e17.5 Is there hope? the Keller scheme 199\u003c\/p\u003e \u003cp\u003e17.6 Conclusions and summary 202\u003c\/p\u003e \u003cp\u003e\u003cb\u003e18 Special Schemes for Plain and Exotic Options 203\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e18.1 Introduction and objectives 203\u003c\/p\u003e \u003cp\u003e18.2 Motivating exponentially fitted schemes 203\u003c\/p\u003e \u003cp\u003e18.3 Exponentially fitted schemes for parabolic problems 205\u003c\/p\u003e \u003cp\u003e18.4 What happens when the volatility goes to zero? 208\u003c\/p\u003e \u003cp\u003e18.5 Exponential fitting with explicit time 209\u003c\/p\u003e \u003cp\u003e18.6 Exponential fitting and exotic options 210\u003c\/p\u003e \u003cp\u003e18.7 Some final remarks 211\u003c\/p\u003e \u003cp\u003e\u003cb\u003e19 My First Finite Difference Solver 212\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e19.1 Introduction and objectives 212\u003c\/p\u003e \u003cp\u003e19.2 Modelling partial differential equations in C++ 214\u003c\/p\u003e \u003cp\u003e19.3 Finite difference schemes as C++ classes, Part I 218\u003c\/p\u003e \u003cp\u003e19.4 Finite difference schemes as C++ classes, Part II 219\u003c\/p\u003e \u003cp\u003e19.5 Initialisation issues 220\u003c\/p\u003e \u003cp\u003e19.6 Interfacing with Excel 224\u003c\/p\u003e \u003cp\u003e19.7 Conclusions and summary 224\u003c\/p\u003e \u003cp\u003e\u003cb\u003e20 An Introduction to ADI and Splitting Schemes 225\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e20.1 Introduction and objectives 225\u003c\/p\u003e \u003cp\u003e20.2 A model problem 226\u003c\/p\u003e \u003cp\u003e20.3 Motivation and history 227\u003c\/p\u003e \u003cp\u003e20.4 Basic ADI scheme for the heat equation 228\u003c\/p\u003e \u003cp\u003e20.4.1 Three-dimensional heat equation 229\u003c\/p\u003e \u003cp\u003e20.5 Basic splitting scheme for the heat equation 230\u003c\/p\u003e \u003cp\u003e20.6 Approximating cross-derivatives 231\u003c\/p\u003e \u003cp\u003e20.7 Handling boundary conditions 232\u003c\/p\u003e \u003cp\u003e20.8 Algorithms and design issues 234\u003c\/p\u003e \u003cp\u003e20.9 Conclusions and summary 236\u003c\/p\u003e \u003cp\u003e\u003cb\u003e21 Numerical Approximation of Two-Factor Derivative Models 237\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e21.1 Introduction and objectives 237\u003c\/p\u003e \u003cp\u003e21.2 Two-factor models in financial engineering 237\u003c\/p\u003e \u003cp\u003e21.3 Finite difference approximations 241\u003c\/p\u003e \u003cp\u003e21.4 ADI schemes for Asian options 242\u003c\/p\u003e \u003cp\u003e21.5 Splitting schemes 243\u003c\/p\u003e \u003cp\u003e21.6 Conclusions and summary 243\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePART V DESIGN PATTERNS\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e22 A C++ Application for Displaying Numeric Data 247\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e22.1 Introduction and objectives 247\u003c\/p\u003e \u003cp\u003e22.2 Input mechanisms 248\u003c\/p\u003e \u003cp\u003e22.3 Conversion and processing mechanisms 249\u003c\/p\u003e \u003cp\u003e22.4 Output and display mechanisms 250\u003c\/p\u003e \u003cp\u003e22.5 Putting it all together 252\u003c\/p\u003e \u003cp\u003e22.6 Output 252\u003c\/p\u003e \u003cp\u003e22.7 Other functionality 252\u003c\/p\u003e \u003cp\u003e22.8 Using Excel and property sets 258\u003c\/p\u003e \u003cp\u003e22.9 Extensions and the road to design patterns 259\u003c\/p\u003e \u003cp\u003e22.10 Conclusions and summary 260\u003c\/p\u003e \u003cp\u003e\u003cb\u003e23 Object Creational Patterns 261\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e23.1 Introduction and objectives 261\u003c\/p\u003e \u003cp\u003e23.2 The Singleton pattern 263\u003c\/p\u003e \u003cp\u003e23.3 The Prototype pattern 270\u003c\/p\u003e \u003cp\u003e23.4 Factory Method pattern (virtual constructor) 272\u003c\/p\u003e \u003cp\u003e23.5 Abstract Factory pattern 275\u003c\/p\u003e \u003cp\u003e23.6 Applications to financial engineering 279\u003c\/p\u003e \u003cp\u003e23.7 Conclusions and summary 279\u003c\/p\u003e \u003cp\u003e\u003cb\u003e24 Object Structural Patterns 281\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e24.1 Introduction and objectives 281\u003c\/p\u003e \u003cp\u003e24.2 Kinds of structural relationships between classes 281\u003c\/p\u003e \u003cp\u003e24.3 Whole–Part pattern 286\u003c\/p\u003e \u003cp\u003e24.4 The Composite pattern 288\u003c\/p\u003e \u003cp\u003e24.5 The Fa¸cade pattern 289\u003c\/p\u003e \u003cp\u003e24.6 The Bridge pattern 290\u003c\/p\u003e \u003cp\u003e24.7 Conclusions and summary 295\u003c\/p\u003e \u003cp\u003e\u003cb\u003e25 Object Behavioural Patterns 296\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e25.1 Introduction and objectives 296\u003c\/p\u003e \u003cp\u003e25.2 Kinds of behavioural patterns 297\u003c\/p\u003e \u003cp\u003e25.3 Iterator pattern 298\u003c\/p\u003e \u003cp\u003e25.4 The Visitor pattern 301\u003c\/p\u003e \u003cp\u003e25.5 Notification patterns 305\u003c\/p\u003e \u003cp\u003e25.6 Conclusions and summary 307\u003c\/p\u003e \u003cp\u003e\u003cb\u003ePART VI DESIGN AND DEPLOYMENT ISSUES\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e\u003cb\u003e26 An Introduction to the Extensible Markup Language 311\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e26.1 Introduction and objectives 311\u003c\/p\u003e \u003cp\u003e26.2 A short history of XML 312\u003c\/p\u003e \u003cp\u003e26.3 The XML structure 312\u003c\/p\u003e \u003cp\u003e26.4 Document Type Definition 315\u003c\/p\u003e \u003cp\u003e26.5 Extensible Stylesheet Language Transformation (XSLT) 320\u003c\/p\u003e \u003cp\u003e26.6 An application of XML: Financial products Markup Language 324\u003c\/p\u003e \u003cp\u003e26.7 Conclusions and summary 327\u003c\/p\u003e \u003cp\u003e\u003cb\u003e27 Advanced XML and Programming Interface 328\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e27.1 Introduction and objectives 328\u003c\/p\u003e \u003cp\u003e27.2 XML Schema 328\u003c\/p\u003e \u003cp\u003e27.3 Accessing XML data: The Document Object Model 334\u003c\/p\u003e \u003cp\u003e27.4 DOM and C++: The essentials 335\u003c\/p\u003e \u003cp\u003e27.5 DOM, entities and property sets 338\u003c\/p\u003e \u003cp\u003e27.6 XML structures for plain and barrier options 342\u003c\/p\u003e \u003cp\u003e27.7 Conclusions and summary 345\u003c\/p\u003e \u003cp\u003e\u003cb\u003e28 Interfacing C++ and Excel 346\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e28.1 Introduction and objectives 346\u003c\/p\u003e \u003cp\u003e28.2 Object model in Excel: An overview 346\u003c\/p\u003e \u003cp\u003e28.3 Under the bonnet: Technical details of C++ interfacing to Excel 348\u003c\/p\u003e \u003cp\u003e28.4 Implementing the core process 351\u003c\/p\u003e \u003cp\u003e28.5 Extensions 354\u003c\/p\u003e \u003cp\u003e28.6 Application areas 355\u003c\/p\u003e \u003cp\u003e28.7 Conclusions and summary 355\u003c\/p\u003e \u003cp\u003e\u003cb\u003e29 Advanced Excel Interfacing 356\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e29.1 Introduction and objectives 356\u003c\/p\u003e \u003cp\u003e29.2 Status report and new requirements 356\u003c\/p\u003e \u003cp\u003e29.3 A gentle introduction to Excel add-ins 357\u003c\/p\u003e \u003cp\u003e29.4 Automation add-in in detail 359\u003c\/p\u003e \u003cp\u003e29.5 Creating a COM add-in 367\u003c\/p\u003e \u003cp\u003e29.6 Future trends 373\u003c\/p\u003e \u003cp\u003e29.7 Conclusions and summary 373\u003c\/p\u003e \u003cp\u003e\u003cb\u003e30 An Extended Application: Option Strategies and Portfolios 374\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003e30.1 Introduction and objectives 374\u003c\/p\u003e \u003cp\u003e30.2 Spreads 374\u003c\/p\u003e \u003cp\u003e30.3 Combinations: Straddles and strangles 375\u003c\/p\u003e \u003cp\u003e30.4 Designing and implementing spreads 376\u003c\/p\u003e \u003cp\u003e30.5 Delta hedging 378\u003c\/p\u003e \u003cp\u003e30.6 An example 379\u003c\/p\u003e \u003cp\u003e30.7 Tips and guidelines 381\u003c\/p\u003e \u003cp\u003e\u003cb\u003eAppendices\u003c\/b\u003e\u003c\/p\u003e \u003cp\u003eA1 My C++ refresher 383\u003c\/p\u003e \u003cp\u003eA2 Dates and other temporal types 394\u003c\/p\u003e \u003cp\u003eReferences 397\u003c\/p\u003e \u003cp\u003eIndex 401\u003c\/p\u003e \u003cb\u003eDaniel Duffy\u003c\/b\u003e 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  One of the best languages for the development of financial engineering and instrument pricing applications is C++. It has several features that allow developers to write robust, flexible and extensible software systems. It 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.  \u003cp\u003eIn this book we bring C++ to the next level by applying it to the design and implementation of classes, libraries and applications for option and derivative pricing models. We employ modern software engineering techniques to produce industrial-strength applications: -\u003c\/p\u003e \u003cul\u003e \u003cli\u003eUsing the Standard Template Library (STL) in finance\u003c\/li\u003e \u003cli\u003eCreating your own template classes and functions\u003c\/li\u003e \u003cli\u003eReusable data structures for vectors, matrices and tensors\u003c\/li\u003e \u003cli\u003eClasses for numerical analysis (numerical linear algebra …)\u003c\/li\u003e \u003cli\u003eSolving the Black Scholes equations, exact and approximate solutions\u003c\/li\u003e \u003cli\u003eImplementing the Finite Difference Method in C++\u003c\/li\u003e \u003cli\u003eIntegration with the ‘Gang of Four’ Design Patterns\u003c\/li\u003e \u003cli\u003eInterfacing with Excel (output and Add-Ins)\u003c\/li\u003e \u003cli\u003eFinancial engineering and XML\u003c\/li\u003e \u003cli\u003eCash flow and yield curves\u003c\/li\u003e \u003c\/ul\u003e \u003cp\u003eIncluded with the book is a CD containing the source code in the Datasim Financial Toolkit that you can use directly. This will get you up to speed with your C++ applications by reusing existing classes and libraries.\u003c\/p\u003e \u003cp\u003e'Unique... Let's all give a warm welcome to modern pricing tools.' \u003cb\u003ePaul Wilmott, mathematician, author and fund manager\u003c\/b\u003e\u003c\/p\u003e","brand":"Wiley","offers":[{"title":"Default Title","offer_id":47989210185957,"sku":"NP9780470855096","price":150.0,"currency_code":"USD","in_stock":false}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1842\/7735\/files\/9780470855096.jpg?v=1761783221","url":"https:\/\/k12savings.com\/products\/financial-instrument-pricing-using-c-isbn-9780470855096","provider":"K12savings","version":"1.0","type":"link"}