Details

Modern Computational Finance


Modern Computational Finance

AAD and Parallel Simulations
1. Aufl.

von: Antoine Savine, Leif Andersen

73,99 €

Verlag: Wiley
Format: PDF
Veröffentl.: 13.11.2018
ISBN/EAN: 9781119539544
Sprache: englisch
Anzahl Seiten: 592

DRM-geschütztes eBook, Sie benötigen z.B. Adobe Digital Editions und eine Adobe ID zum Lesen.

Beschreibungen

Arguably the strongest addition to numerical finance of the past decade, Algorithmic Adjoint Differentiation (AAD) is the technology implemented in modern financial software to produce thousands of accurate risk sensitivities, within seconds, on light hardware.<br /><br />AAD recently became a centerpiece of modern financial systems and a key skill for all quantitative analysts, developers, risk professionals or anyone involved with derivatives. It is increasingly taught in Masters and PhD programs in finance.<br /><br />Danske Bank's wide scale implementation of AAD in its production and regulatory systems won the In-House System of the Year 2015 Risk award. The Modern Computational Finance books, written by three of the very people who designed Danske Bank's systems, offer a unique insight into the modern implementation of financial models. The volumes combine financial modelling, mathematics and programming to resolve real life financial problems and produce effective derivatives software.<br /><br />This volume is a complete, self-contained learning reference for AAD, and its application in finance. AAD is explained in deep detail throughout chapters that gently lead readers from the theoretical foundations to the most delicate areas of an efficient implementation, such as memory management, parallel implementation and acceleration with expression templates.<br /><br />The book comes with professional source code in C++, including an efficient, up to date implementation of AAD and a generic parallel simulation library. Modern C++, high performance parallel programming and interfacing C++ with Excel are also covered. The book builds the code step-by-step, while the code illustrates the concepts and notions developed in the book.
<p>Modern Computational Finance xi</p> <p>Preface by Leif Andersen xv</p> <p>Acknowledgments xix</p> <p>Introduction xxi</p> <p>About the Companion C++ Code xxv</p> <p><b>PART I Modern Parallel Programming 1</b></p> <p>Introduction 3</p> <p><b>CHAPTER 1 Effective C++ 17</b></p> <p><b>CHAPTER 2 Modern C++ 25</b></p> <p>2.1 Lambda expressions 25</p> <p>2.2 Functional programming in C++ 28</p> <p>2.3 Move semantics 34</p> <p>2.4 Smart pointers 41</p> <p><b>CHAPTER 3 Parallel C++ 47</b></p> <p>3.1 Multi-threaded Hello World 49</p> <p>3.2 Thread management 50</p> <p>3.3 Data sharing 55</p> <p>3.4 Thread local storage 56</p> <p>3.5 False sharing 57</p> <p>3.6 Race conditions and data races 62</p> <p>3.7 Locks 64</p> <p>3.8 Spinlocks 66</p> <p>3.9 Deadlocks 67</p> <p>3.10 RAII locks 68</p> <p>3.11 Lock-free concurrent design 70</p> <p>3.12 Introduction to concurrent data structures 72</p> <p>3.13 Condition variables 74</p> <p>3.14 Advanced synchronization 80</p> <p>3.15 Lazy initialization 83</p> <p>3.16 Atomic types 86</p> <p>3.17 Task management 89</p> <p>3.18 Thread pools 96</p> <p>3.19 Using the thread pool 108</p> <p>3.20 Debugging and optimizing parallel programs 113</p> <p><b>PART II Parallel Simulation 123</b></p> <p>Introduction 125</p> <p><b>CHAPTER 4 Asset Pricing 127</b></p> <p>4.1 Financial products 127</p> <p>4.2 The Arbitrage Pricing Theory 140</p> <p>4.3 Financial models 151</p> <p><b>CHAPTER 5 Monte-Carlo 185</b></p> <p>5.1 The Monte-Carlo algorithm 185</p> <p>5.2 Simulation of dynamic models 192</p> <p>5.3 Random numbers 200</p> <p>5.4 Better random numbers 202</p> <p><b>CHAPTER 6Serial Implementation 213</b></p> <p>6.1 The template simulation algorithm 213</p> <p>6.2 Random number generators 223</p> <p>6.3 Concrete products 230</p> <p>6.4 Concrete models 245</p> <p>6.5 User interface 263</p> <p>6.6 Results 268</p> <p><b>CHAPTER 7 Parallel Implementation 271</b></p> <p>7.1 Parallel code and skip ahead 271</p> <p>7.2 Skip ahead with mrg32k3a 276</p> <p>7.3 Skip ahead with Sobol 282</p> <p>7.4 Results 283</p> <p><b>PART III Constant Time Differentiation 285</b></p> <p>Introduction 287</p> <p><b>CHAPTER 8 Manual Adjoint Differentiation 295</b></p> <p>8.1 Introduction to Adjoint Differentiation 295</p> <p>8.2 Adjoint Differentiation by hand 308</p> <p>8.3 Applications in machine learning and finance 315</p> <p><b>CHAPTER 9 Algorithmic Adjoint Differentiation 321</b></p> <p>9.1 Calculation graphs 322</p> <p>9.2 Building and applying DAGs 328</p> <p>9.3 Adjoint mathematics 340</p> <p>9.4 Adjoint accumulation and DAG traversal 344</p> <p>9.5 Working with tapes 349</p> <p><b>CHAPTER 10 Effective AAD and Memory Management 357</b></p> <p>10.1 The Node class 359</p> <p>10.2 Memory management and the Tape class 362</p> <p>10.3 The Number class 379</p> <p>10.4 Basic instrumentation 398</p> <p><b>CHAPTER 11 Discussion and Limitations 401</b></p> <p>11.1 Inputs and outputs 401</p> <p>11.2 Higher-order derivatives 402</p> <p>11.3 Control flow 402</p> <p>11.4 Memory 403</p> <p><b>CHAPTER 12 Differentiation of the Simulation Library 407</b></p> <p>12.1 Active code 407</p> <p>12.2 Serial code 409</p> <p>12.3 User interface 417</p> <p>12.4 Serial results 424</p> <p>12.5 Parallel code 426</p> <p>12.6 Parallel results 433</p> <p><b>CHAPTER 13 Check-Pointing and Calibration 439</b></p> <p>13.1 Check-pointing 439</p> <p>13.2 Explicit calibration 448</p> <p>13.3 Implicit calibration 475</p> <p><b>CHAPTER 14 Multiple Differentiation in Almost Constant Time 483</b></p> <p>14.1 Multidimensional differentiation 483</p> <p>14.2 Traditional Multidimensional AAD 484</p> <p>14.3 Multidimensional adjoints 485</p> <p>14.4 AAD library support 487</p> <p>14.5 Instrumentation of simulation algorithms 494</p> <p>14.6 Results 499</p> <p><b>CHAPTER 15 Acceleration with Expression Templates 503</b></p> <p>15.1 Expression nodes 504</p> <p>15.2 Expression templates 507</p> <p>15.3 Expression templated AAD code 524</p> <p>Debugging AAD Instrumentation 541</p> <p>Conclusion 547</p> <p>References 549</p> <p>Index 555</p>
<p><b>ANTOINE SAVINE</b> is a mathematician and derivatives practitioner with leading investment banks. After globally running quantitative research in a major French bank for ten years, Antoine joined Jesper Andreasen to participate in the development of Danske Bank's award winning systems.Antoine also lectures in the University of Copenhagen's Masters of Science in Mathematics-Economics program, on topics including volatility modeling and numerical finance, for which this book is the curriculum. Antoine holds a Masters in Mathematics from the University of Paris-Jussieu and a PhD in Mathematics from the University of Copenhagen. He is best known for his work on volatility, multi-factor interest rate models, scripting, AAD and parallel Monte-Carlo. His computational finance books combine the unique insight of a leading practitioner with the rigor and pedagogy of an accomplished lecturer.
<p><b>Praise for <i>Modern Computational Finance: AAD and Parallel Simulations</i></b> <p>"A passion to instruct.</br> A knack for clarity.</br> An obsession with detail.</br> A luminous writer.</br> An instant classic."</br> <b>—Bruno Dupire,</b> Head of Quantitative Research, Bloomberg L.P. <p>"It would not be much of an exaggeration to say that Antoine Savine's book ranks as the 21st century peer to Merton's <i>Continuous-Time Finance</i>. <p>It makes modern computational techniques such as multi-threaded parallel AAD as accessible to finance professionals as Merton's introduction of stochastic calculus into finance. A first in a three-book series authored by Danske Bank's powerhouse quant team makes intricate concepts inherent to production-quality implementation of AAD easy to understand and follow through. No other quant finance-focused book has gone so deeply into parallel C++ and AAD with such clarity, level of detail and thoroughness. I can hardly wait for the remaining two volumes to see what else the wizards of AAD have up their sleeves."</br> <b>—Vladimir V. Piterbarg,</b> Partner at Rokos Capital Management, co-author of the three-volume set <i>Interest Rate Modelling</i> <p>"This book [...] addresses the challenges of AAD head on. [...] The exposition is [...] ideal for a finance audience. The conceptual, mathematical, and computational ideas behind AAD are patiently developed in a step-by-step manner, where the many brain-twisting aspects of AAD are demystified. For real-life application projects, the book is loaded with modern C++ code and battle-tested advice on how to get AAD to run for real. [...] Start reading!"</br> <b>—Leif Andersen, </b>Global Head of the Quantitative Strategies Group at Bank of America Merrill Lynch, co-author of the three-volume <i>set Interest Rate Modelling</i> <p>"This three-book series is an indispensable resource for any quant. Written by experts in the field and filled with practical examples and industry insights that are hard to find elsewhere, the books set a new standard for computational finance."</br> <b> —Paul Glasserman,</b> Jack R. Anderson Professor of Business, Columbia University <p>"The global financial crisis resulted in profound changes in quants' Modus Operandi. This timely three-volume set describes some of the tools necessary to deal with these changes. Individual volumes cover in detail several important topics of interest to anyone who wants to stay<i>au courant</i> with modern developments in financial engineering. While the books are predominantly practically oriented, they strike a fine balance between theoretical and applied considerations. The authors are prominent practitioners and indisputable thought-leaders in the field. I recommend this set enthusiastically to anyone who wishes to understand the current and emerging trends in financial engineering."</br> <b>—Professor Alexander Lipton,</b> connection science fellow at MIT, visiting professor at EPFL, co-founder and CTO of SilaMoney, former co-head of the Global Analytics Group at BAML
<p>"A passion to instruct<br />A knack for clarity<br />An obsession to detail<br />A luminous writer<br /><br />An instant classic"<br />—<b>Bruno Dupire</b>, Head of Quantitative Research, Bloomberg L.P.</p> <p>"It would not be much of an exaggeration to say that Antoine Savine's book ranks as the 21st century peer to Merton's <i>Continuous-Time Finance</i>; it makes modern computational techniques such as multi-threaded parallel AAD as accessible to finance professionals as Merton's introduction of stochastic calculus into finance. A first in a three-book series authored by Danske Bank's powerhouse quant team makes intricate concepts inherent to production-quality implementation of AAD easy to understand and follow through. No other quant finance focused book has gone so deeply into parallel C++ and AAD with such clarity, level of detail and thoroughness. I can hardly wait for the remaining two volumes to see what else the wizards of AAD have up their sleeves."<br />—<b>Vladimir V. Piterbarg</b>, Partner at Rokos Capital Management, co-author of the three-volume set <i>Interest Rate Modelling</i></p> <p>"This book [...] addresses the challenges of AAD head on. [...] The exposition is […] ideal for a Finance audience. The conceptual, mathematical, and computational ideas behind AAD are patiently developed in a step-by-step manner, where the many brain-twisting aspects of AAD are de-mystified. For real-life application projects, the book is loaded with modern C++ code and battle-tested advice on how to get AAD to run for real. [...] Start reading!"<br />—<b>Leif Andersen</b>, Global Head of the Quantitative Strategies Group at Bank of America Merrill Lynch</p> <p>"This three-book series is an indispensable resource for any quant. Written by experts in the field and filled with practical examples and industry insights that are hard to find elsewhere, the books set a new standard for computational finance."<br />—<b>Paul Glasserman</b>, Jack R. Anderson Professor of Business, Columbia University</p> <p>"The Global Financial Crisis resulted in profound changes in quants' Modus Operandi. This timely three-volume set describes some of the tools necessary to deal with these changes. Individual volumes cover in detail several important topics of interest to anyone who wants to stay <i>au courant</i> with modern developments in financial engineering. While the books are predominantly practically oriented, they strike a fine balance between theoretical and applied considerations. The authors are prominent practitioners and indisputable thought-leaders in the field. I recommend this set enthusiastically to anyone who wishes to understand the current and emerging trends in financial engineering."<br />—<b>Professor Alexander Lipton</b></p>

Diese Produkte könnten Sie auch interessieren:

DPSM for Modeling Engineering Problems
DPSM for Modeling Engineering Problems
von: Dominique Placko, Tribikram Kundu
PDF ebook
159,99 €
Mathematical Analysis
Mathematical Analysis
von: Bernd S. W. Schröder
PDF ebook
114,99 €