Modern Computational Finance : AAD and Parallel Simulations /: AAD and Parallel Simulations. (2018)
- Record Type:
- Book
- Title:
- Modern Computational Finance : AAD and Parallel Simulations /: AAD and Parallel Simulations. (2018)
- Main Title:
- Modern Computational Finance : AAD and Parallel Simulations
- Further Information:
- Note: Antoine Savine, Leif Andersen.
- Authors:
- Savine, Antoine
- Other Names:
- Andersen, Leif writer of preface.
- Contents:
- Modern Computational Finance xi Preface by Leif Andersen xv Acknowledgments xix Introduction xxi About the Companion C++ Code xxv PART I Modern Parallel Programming 1 Introduction 3 CHAPTER 1 Effective C++ 17 CHAPTER 2 Modern C++ 25 2.1 Lambda expressions 25 2.2 Functional programming in C++ 28 2.3 Move semantics 34 2.4 Smart pointers 41 CHAPTER 3 Parallel C++ 47 3.1 Multi-threaded Hello World 49 3.2 Thread management 50 3.3 Data sharing 55 3.4 Thread local storage 56 3.5 False sharing 57 3.6 Race conditions and data races 62 3.7 Locks 64 3.8 Spinlocks 66 3.9 Deadlocks 67 3.10 RAII locks 68 3.11 Lock-free concurrent design 70 3.12 Introduction to concurrent data structures 72 3.13 Condition variables 74 3.14 Advanced synchronization 80 3.15 Lazy initialization 83 3.16 Atomic types 86 3.17 Task management 89 3.18 Thread pools 96 3.19 Using the thread pool 108 3.20 Debugging and optimizing parallel programs 113 PART II Parallel Simulation 123 Introduction 125 CHAPTER 4 Asset Pricing 127 4.1 Financial products 127 4.2 The Arbitrage Pricing Theory 140 4.3 Financial models 151 CHAPTER 5 Monte-Carlo 185 5.1 The Monte-Carlo algorithm 185 5.2 Simulation of dynamic models 192 5.3 Random numbers 200 5.4 Better random numbers 202 CHAPTER 6Serial Implementation 213 6.1 The template simulation algorithm 213 6.2 Random number generators 223 6.3 Concrete products 230 6.4 Concrete models 245 6.5 User interface 263 6.6 Results 268 CHAPTER 7 Parallel Implementation 271 7.1 Parallel code andModern Computational Finance xi Preface by Leif Andersen xv Acknowledgments xix Introduction xxi About the Companion C++ Code xxv PART I Modern Parallel Programming 1 Introduction 3 CHAPTER 1 Effective C++ 17 CHAPTER 2 Modern C++ 25 2.1 Lambda expressions 25 2.2 Functional programming in C++ 28 2.3 Move semantics 34 2.4 Smart pointers 41 CHAPTER 3 Parallel C++ 47 3.1 Multi-threaded Hello World 49 3.2 Thread management 50 3.3 Data sharing 55 3.4 Thread local storage 56 3.5 False sharing 57 3.6 Race conditions and data races 62 3.7 Locks 64 3.8 Spinlocks 66 3.9 Deadlocks 67 3.10 RAII locks 68 3.11 Lock-free concurrent design 70 3.12 Introduction to concurrent data structures 72 3.13 Condition variables 74 3.14 Advanced synchronization 80 3.15 Lazy initialization 83 3.16 Atomic types 86 3.17 Task management 89 3.18 Thread pools 96 3.19 Using the thread pool 108 3.20 Debugging and optimizing parallel programs 113 PART II Parallel Simulation 123 Introduction 125 CHAPTER 4 Asset Pricing 127 4.1 Financial products 127 4.2 The Arbitrage Pricing Theory 140 4.3 Financial models 151 CHAPTER 5 Monte-Carlo 185 5.1 The Monte-Carlo algorithm 185 5.2 Simulation of dynamic models 192 5.3 Random numbers 200 5.4 Better random numbers 202 CHAPTER 6Serial Implementation 213 6.1 The template simulation algorithm 213 6.2 Random number generators 223 6.3 Concrete products 230 6.4 Concrete models 245 6.5 User interface 263 6.6 Results 268 CHAPTER 7 Parallel Implementation 271 7.1 Parallel code and skip ahead 271 7.2 Skip ahead with mrg32k3a 276 7.3 Skip ahead with Sobol 282 7.4 Results 283 PART III Constant Time Differentiation 285 Introduction 287 CHAPTER 8 Manual Adjoint Differentiation 295 8.1 Introduction to Adjoint Differentiation 295 8.2 Adjoint Differentiation by hand 308 8.3 Applications in machine learning and finance 315 CHAPTER 9 Algorithmic Adjoint Differentiation 321 9.1 Calculation graphs 322 9.2 Building and applying DAGs 328 9.3 Adjoint mathematics 340 9.4 Adjoint accumulation and DAG traversal 344 9.5 Working with tapes 349 CHAPTER 10 Effective AAD and Memory Management 357 10.1 The Node class 359 10.2 Memory management and the Tape class 362 10.3 The Number class 379 10.4 Basic instrumentation 398 CHAPTER 11 Discussion and Limitations 401 11.1 Inputs and outputs 401 11.2 Higher-order derivatives 402 11.3 Control flow 402 11.4 Memory 403 CHAPTER 12 Differentiation of the Simulation Library 407 12.1 Active code 407 12.2 Serial code 409 12.3 User interface 417 12.4 Serial results 424 12.5 Parallel code 426 12.6 Parallel results 433 CHAPTER 13 Check-Pointing and Calibration 439 13.1 Check-pointing 439 13.2 Explicit calibration 448 13.3 Implicit calibration 475 CHAPTER 14 Multiple Differentiation in Almost Constant Time 483 14.1 Multidimensional differentiation 483 14.2 Traditional Multidimensional AAD 484 14.3 Multidimensional adjoints 485 14.4 AAD library support 487 14.5 Instrumentation of simulation algorithms 494 14.6 Results 499 CHAPTER 15 Acceleration with Expression Templates 503 15.1 Expression nodes 504 15.2 Expression templates 507 15.3 Expression templated AAD code 524 Debugging AAD Instrumentation 541 Conclusion 547 References 549 Index 555 … (more)
- Edition:
- 1st
- Publisher Details:
- Wiley
- Publication Date:
- 2018
- Extent:
- 1 online resource (592 pages)
- Languages:
- English
- ISBNs:
- 9781119539520
- Access Rights:
- Legal Deposit; Only available on premises controlled by the deposit library and to one user at any one time; The Legal Deposit Libraries (Non-Print Works) Regulations (UK).
- Access Usage:
- Restricted: Printing from this resource is governed by The Legal Deposit Libraries (Non-Print Works) Regulations (UK) and UK copyright law currently in force.
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library HMNTS - ELD.DS.355262
- Ingest File:
- 01_316.xml