Cover image for Derivatives Algorithms, Volume 1 : Bones.
Derivatives Algorithms, Volume 1 : Bones.
Title:
Derivatives Algorithms, Volume 1 : Bones.
Author:
Hyer, Thomas.
ISBN:
9789814289887
Personal Author:
Physical Description:
1 online resource (319 pages)
Contents:
Contents -- 1. Introduction -- 2. Principles -- 2.1 Our Code -- 2.1.1 auto -- 2.2 Functional Programming -- 2.3 Type and State -- 2.4 Physical Code Structure -- 2.4.1 Facts -- 2.5 Platform -- 2.6 Some Design Patterns -- 2.6.1 Factory Method -- 2.6.2 Decorator -- 2.6.3 Singleton -- 2.7 Optimization -- 2.7.1 Calibration -- 2.7.2 map -- 2.8 Threads -- 3. Types and Interfaces -- 3.1 The User Base -- 3.2 A Public Example -- 3.3 Interface Generation -- 3.4 Interface Types -- 3.4.1 Tables and Cells -- 3.5 Interface Code -- 3.5.1 Customization Directives -- 3.6 Other Containers -- 3.7 Environment -- 3.7.1 Exception Messaging -- 3.7.2 Fast-Path Optimization -- 3.7.3 Macro Hackery -- 3.7.4 Repository Access -- 3.8 Enumerated Types -- 4. Vector and Matrix Computations -- 4.1 Customizing Vectors -- 4.2 Algorithms -- 4.2.1 Join -- 4.3 Matrices and Square Matrices -- 4.3.1 Internal Layout -- 4.3.2 Pasting and Formatting -- 4.4 Matrix Multiplication -- 4.4.1 Inheritance and Substitutability -- 4.5 Decompositions (Square) -- 4.6 Decompositions (Symmetric) -- 4.7 Decompositions (Sparse) -- 4.7.1 Tridiagonal Matrices -- 4.7.2 Band Diagonal Matrices -- 4.7.3 SLAP Format -- 4.7.4 The Symmetric Case -- 4.8 Decompositions (Other) -- 5. Persistence and Memory -- 5.1 Storage -- 5.2 Extraction -- 5.2.1 Public Types -- 5.2.2 Example: Linear Interpolant -- 5.2.3 Reader Registry -- 5.3 Rebuilding -- 5.3.1 Some Syntactic Sugar -- 5.4 Code Generation -- 5.5 A Display Interface -- 5.5.1 Storage -- 5.5.2 Extraction -- 5.5.3 Refinements -- 5.6 Auditing -- 5.6.1 Bag -- 5.6.2 Filling Up -- 5.6.3 Audit Types -- 5.7 More on Repositories -- 5.7.1 Unique Objects -- 5.7.2 Naming -- 5.7.3 Matching -- 6. Testing Framework -- 6.1 Component Tests -- 6.1.1 Physical Structure -- 6.1.2 Reuse -- 6.2 Regression Tests -- 6.2.1 Repository Instrumentation -- 6.3 No Silver Bullet.

7. Further Maths -- 7.1 Interpolation -- 7.2 Special Functions -- 7.2.1 The Normal Distribution -- 7.3 Root Solvers -- 7.4 Underdetermined Search -- 7.4.1 Function and Jacobian -- 7.4.2 Weights and Smoothing -- 7.4.3 Monitoring Progress -- 7.5 Quadrature -- 7.5.1 Gaussian Quadrature -- 7.5.2 Adaptive Quadrature -- 7.6 Distributions -- 7.6.1 Implied Vol -- 7.7 Baskets -- 7.7.1 Whole-Basket Moment Matching -- 7.7.2 Taylor Expansion of Projected Vols -- 7.7.3 Midpoint Variance -- 7.8 Random and Quasi-Random Numbers -- 7.8.1 Random Deviate Streams -- 7.8.2 Generator Implementation -- 7.8.3 Transforms -- 7.8.4 Low-Discrepancy Sequences -- 7.8.5 Spectral and Spining Methods -- 7.9 PDE Solvers -- 7.9.1 Cube -- 7.9.2 Coordinate Mapping -- 7.9.3 Coefficient Calculators -- 7.9.4 Forward Induction -- 7.10 American Monte Carlo -- 7.10.1 Recursive Partitioning -- 7.10.2 Biases -- 8. Schedules -- 8.1 Enumerated Switches -- 8.1.1 Groundwork for Extensibility -- 8.1.2 30E/360 ISDA, ACT/ACT ISMA -- 8.1.3 BUS/252 -- 8.1.4 Other Enumerations -- 8.2 Holidays -- 8.2.1 Cities -- 8.2.2 Holiday Sets -- 8.3 Currencies -- 8.3.1 Internals -- 8.4 Increments -- 8.5 Legs -- 8.5.1 Stubs -- 8.5.2 Build from Parameters -- 8.5.3 CDS -- 8.5.4 Inflation Instruments -- 9. Indices -- 9.1 Naming and Parsing -- 9.1.1 Short Names -- 9.1.2 Nonstandard Indices -- 9.2 Fixings -- 9.2.1 Composites -- 9.3 Sorting and Hashing -- 9.4 Implied Vol -- 10. Pricing Protocols -- 10.0.1 Which is a Model? -- 10.1 Past and Future -- 10.2 Underlyings -- 10.3 Payments and Streams -- 10.3.1 Payment Reporting -- 10.3.2 Commitment to Streams -- 10.3.3 Destinations -- 10.4 Index Paths -- 10.4.1 Historical Paths -- 10.5 Defaults and Contingent Payments -- 10.5.1 Immediate Payments -- 10.5.2 Viewing Indices -- 10.6 Requests and Promises -- 10.6.1 Help for Models -- 10.6.2 Destinations -- 10.7 Bermudans and Barriers.

10.8 Payouts -- 10.8.1 Trade State -- 10.8.2 Values Store -- 10.9 Steps -- 10.9.1 Valuation and Reevaluation -- 10.10 Use Case Review: PDE -- 10.11 Use Case Review: Monte Carlo and Hedge -- 10.11.1 Causality -- 10.12 Costs and Benefits -- 10.13 Assembling the Class Hierarchy -- 10.13.1 Stepper -- 10.13.2 Asset Values and Tokens -- 10.13.3 SDE -- 10.13.4 Model -- 10.13.5 Trade -- 10.13.6 Historical Data Access -- 10.13.7 Assets -- 10.13.8 Solvers -- 11. Standardized Trades -- 11.1 Trade Classes -- 11.2 Cash -- 11.3 Equity and FX -- 11.3.1 Equity Forward Payout -- 11.3.2 Equity Index -- 11.3.3 Equity Forward Data -- 11.3.4 FX Option -- 11.3.5 Forcing Backward Induction -- 11.4 Legs and Swaps -- 11.4.1 Putting it Together -- 11.5 Caps -- 11.6 Swaps and Swaptions -- 11.7 Bermudans -- 11.7.1 Two Views -- 11.8 Composites -- 11.8.1 Rescaled Trades -- 11.8.2 Sums and Collections -- 12. Curves -- 12.1 Risk -- 12.2 Libor and Funding -- 12.3 Build Instruments -- 12.3.1 Tenor -- 12.4 Dividend -- 12.5 Hazard -- 13. Models -- 13.1 Vasicek-Hull-White -- 13.1.1 Parametrization -- 13.1.2 Model Contents -- 13.2 Interface to Numerical Pricing -- 13.3 Interface to Valuation Requests -- 13.3.1 Index Paths -- 13.3.2 Efficiency -- 13.3.3 Back to Libor -- 13.4 Cox-Ingersoll-Ross -- 13.5 Black-Karasinski -- 13.5.1 Forward Induction PDE Sweep -- 13.6 Single Equity with Local Vol -- 13.6.1 Interpolated Vol -- 13.6.2 Derivation from Implied Vol -- 13.6.3 Model and SDE -- 13.7 A Simple Hybrid Model -- 13.7.1 The Case for Components -- 13.7.2 State Bounds Checks -- 14. Semianalytic Pricers -- 14.1 A Moment-Matching Pricer -- 14.2 Multimethod Objects -- 14.3 Method Registry -- 14.4 Interaction with Re-evaluator -- 14.5 Interaction with Composites -- 14.6 Pure Pricers -- 14.7 Trade-Dependent Calibration -- 14.7.1 Stabilization -- 15. Risk -- 15.1 Slides and Bumps -- 15.2 Mutants.

15.3 Reports -- 15.3.1 Barewords -- 15.4 Portfolios -- 15.5 Tasks -- 15.6 Slide Utilities -- 15.7 Conclusions -- 16. Additional Code -- 16.1 Add Multiple -- 16.2 ArrayFunctor -- 16.3 Boolean -- 16.4 Composite -- 16.5 Cube -- 16.6 Handle -- 16.7 Matrix -- 16.8 Maybe -- 16.9 PWC (Piecewise Constant) -- 16.10 Vector -- 16. Acknowledgements and Further Reading -- Index.
Abstract:
"Derivatives Algorithms" provides a unique expert overview of the abstractions and coding methods which support real-world derivatives trading. Written by an industry professional with extensive experience in large-scale trading operations, it describes the fundamentals of library code structure, and innovative advanced solutions to thorny issues in implementation. For the reader already familiar with C++ and arbitrage-free pricing, the book offers an invaluable glimpse of how they combine on an industrial scale. Topics range from interface design through code generation to the protocols that support ever more complex trades and models.
Local Note:
Electronic reproduction. Ann Arbor, Michigan : ProQuest Ebook Central, 2017. Available via World Wide Web. Access may be limited to ProQuest Ebook Central affiliated libraries.
Electronic Access:
Click to View
Holds: Copies: