Modern Computational Finance: Scripting for Derivatives and xVA, 2nd Edition
- Length: 288 pages
- Edition: 2
- Language: English
- Publisher: Wiley
- Publication Date: 2021-11-02
- ISBN-10: 111954078X
- ISBN-13: 9781119540786
- Sales Rank: #566178 (See Top 100 Books)
Scripting of derivatives transactions has been a central piece of financial software since the 1990s. Most derivatives valuation and risk systems, either in-house or from external vendors, feature scripting technology. Yet, the expertise in this field remains unwritten to date, without any dedicated article or publication.
This volume fills the gap. It is written by Jesper Andreasen and Antoine Savine, who have developed scripting systems for leading investment banks since the 1990s, actively contributed to the development of the scripting technology, and co-developed Danske Bank’s award-winning derivatives system.The publication comes with a complete, professional scripting library written in modern C++, and the chapters gradually and pedagogically guide readers towards its construction.
Scripting technology is widely considered as a convenience for the structuring and risk management of exotic derivatives, only. This publication shows that the scripting technology has much wider applications. Specifically, it demonstrates how scripting provides a unique representation of financial transactions that enables the user to interrogate, aggregate and manipulate cash-flows in multiple ways, facilitating portfolio-wide risk assessment and regulatory calculations like XVA. This is essential reading for developers and analysts, all professionals involved with financial derivatives, as well as students and teachers in Masters and PhD programs in finance.
Cover Table of Contents Title Page Copyright My Life in Script by Jesper Andreasen PART I: A Scripting Library in C++ Introduction CHAPTER 1: Opening Remarks INTRODUCTION 1.1 SCRIPTING IS NOT ONLY FOR EXOTICS 1.2 SCRIPTING IS FOR CASH‐FLOWS NOT PAYOFFS 1.3 SIMULATION MODELS 1.4 PRE‐PROCESSING 1.5 VISITORS 1.6 MODERN IMPLEMENTATION IN C++ 1.7 SCRIPT TEMPLATES NOTES CHAPTER 2: Expression Trees 2.1 IN THEORY 2.2 IN CODE NOTE CHAPTER 3: Visitors 3.1 THE VISITOR PATTERN 3.2 THE DEBUGGER VISITOR 3.3 THE VARIABLE INDEXER 3.4 PRE‐PROCESSORS 3.5 CONST VISITORS 3.6 THE EVALUATOR 3.7 COMMUNICATING WITH MODELS NOTES CHAPTER 4: Putting Scripting Together with a Model 4.1 A SIMPLISTIC BLACK‐SCHOLES MONTE‐CARLO SIMULATOR 4.2 CONNECTING THE MODEL TO THE SCRIPTING FRAMEWORK NOTES CHAPTER 5: Core Extensions and the “Pays” Keyword 5.1 IN THEORY 5.2 IN CODE NOTE PART II: Basic Improvements Introduction CHAPTER 6: Past Evaluator CHAPTER 7: Macros CHAPTER 8: Schedules of Cash‐Flows CHAPTER 9: Support for Dates NOTE CHAPTER 10: Predefined Schedules and Functions CHAPTER 11: Support for Vectors 11.1 BASIC FUNCTIONALITY 11.2 ADVANCED FUNCTIONALITY PART III: Advanced Improvements Introduction CHAPTER 12: Linear Products 12.1 INTEREST RATES AND SWAPS 12.2 EQUITIES, FOREIGN EXCHANGE, AND COMMODITIES 12.3 LINEAR MODEL IMPLEMENTATION CHAPTER 13: Fixed Income Instruments 13.1 DELAYED PAYMENTS 13.2 DISCOUNT FACTORS 13.3 THE SIMULATED DATA PROCESSOR 13.4 INDEXING 13.5 UPGRADING “PAYS” TO SUPPORT DELAYED PAYMENTS 13.6 ANNUITIES 13.7 FORWARD DISCOUNT FACTORS 13.8 BACK TO EQUITIES 13.9 LIBOR AND RATE FIXINGS 13.10 SCRIPTS FOR SWAPS AND OPTIONS CHAPTER 14: Multiple Underlying Assets 14.1 MULTIPLE ASSETS 14.2 MULTIPLE CURRENCIES CHAPTER 15: American Monte‐Carlo 15.1 LEAST SQUARES METHOD 15.2 ONE PROXY 15.3 ADDITIONAL REGRESSION VARIABLES 15.4 FEEDBACK AND EXERCISE 15.5 MULTIPLE EXERCISE AND RECURSION NOTES PART IV: Fuzzy Logic and Risk Sensitivities Introduction CHAPTER 16: Risk Sensitivities with Monte‐Carlo 16.1 RISK INSTABILITIES 16.2 TWO APPROACHES TOWARD A SOLUTION 16.3 SMOOTHING FOR DIGITALS AND BARRIERS 16.4 SMOOTHING FOR SCRIPTED TRANSACTIONS NOTE CHAPTER 17: Support for Smoothing CHAPTER 18: An Automated Smoothing Algorithm 18.1 BASIC ALGORITHM 18.2 NESTED AND COMBINED CONDITIONS 18.3 AFFECTED VARIABLES 18.4 FURTHER OPTIMIZATION NOTE CHAPTER 19: Fuzzy Logic NOTE CHAPTER 20: Condition Domains 20.1 FUZZY EVALUATION OF DISCRETE CONDITIONS 20.2 IDENTIFICATION OF CONDITION DOMAINS 20.3 CONSTANT EXPRESSIONS NOTE CHAPTER 21: Limitations 21.1 DEAD AND ALIVE 21.2 NON‐LINEAR USE OF FUZZY VARIABLES CHAPTER 22: The Smoothing Factor 22.1 SCRIPTING SUPPORT 22.2 AUTOMATIC DETERMINATION PART V: Application to xVA CHAPTER 23: xVA NOTE CHAPTER 24: Branching CHAPTER 25: Closing Remarks 25.1 SCRIPT EXAMPLES 25.2 MULTI‐THREADING AND AAD 25.3 ADVANCED LSM OPTIMIZATIONS APPENDIX A: APPENDIX AParsing A.1 PREPARING FOR PARSING A.2 PARSING STATEMENTS A.3 RECURSIVELY PARSING CONDITIONS A.4 RECURSIVELY PARSING EXPRESSIONS A.5 PERFORMANCE NOTES Bibliography Index End User License Agreement
Donate to keep this site alive
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.