Description

Book Synopsis

An incisive and essentialguide to building a complete system for derivative scripting

InVolume 2 ofModern Computational Finance Scripting for Derivatives and xVA,quantitative finance expertsand practitioners Drs. Antoine Savine and Jesper Andreasen deliver an indispensable and insightfulroadmap to the interrogation, aggregation, and manipulation of cash-flows in a variety of ways. The book demonstrates how to facilitate portfolio-wide risk assessment andregulatory calculations (like xVA).

Complete with a professional scripting library written in modern C++, this stand-alone volumewalks readers through the construction of a comprehensiverisk and valuationtool.Thisessentialbook also offers:

  • Effective strategies for improving scripting libraries, from basic exampleslikesupport for dates and vectorsto advanced improvements, including American Monte Carlo techniques
  • Exploration of the concepts of fuzzy logic and risk sensitivities,includi

    Trade Review

    “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 au courant 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.”

    - Prof. Alexander Lipton, Founder and CEO, Stronghold Labs; Fellow, Connection Science and Engineering, Massachusetts Institute of Technology



    Table of Contents

    My Life in Script by Jesper Andreasen xi

    Part I A Scripting Library in C++

    Introduction 3

    Chapter 1 Opening Remarks 7

    Introduction 7

    1.1 Scripting is not only for exotics 12

    1.2 Scripting is for cash-flows not payoffs 13

    1.3 Simulation models 15

    1.4 Pre-processing 17

    1.5 Visitors 19

    1.6 Modern implementation in C++ 21

    1.7 Script templates 22

    Chapter 2 Expression Trees 25

    2.1 In theory 25

    2.2 In code 35

    Chapter 3 Visitors 41

    3.1 The visitor pattern 41

    3.2 The debugger visitor 47

    3.3 The variable indexer 50

    3.4 Pre-processors 54

    3.5 Const visitors 55

    3.6 The evaluator 57

    3.7 Communicating with models 65

    Chapter 4 Putting Scripting Together with a Model 71

    4.1 A simplistic Black-Scholes Monte-Carlo simulator 71

    4.1.1 Random number generators 71

    4.1.2 Simulation models 73

    4.1.3 Simulation engines 76

    4.2 Connecting the model to the scripting framework 76

    Chapter 5 Core Extensions and the “Pays” Keyword 81

    5.1 In theory 81

    5.2 In code 83

    Part II Basic Improvements

    Introduction 93

    Chapter 6 Past Evaluator 95

    Chapter 7 Macros 97

    Chapter 8 Schedules of Cash-Flows 99

    Chapter 9 Support for Dates 105

    Chapter 10 Predefined Schedules and Functions 109

    Chapter 11 Support for Vectors 113

    11.1 Basic functionality 113

    11.2 Advanced functionality 115

    11.2.1 New node types 116

    11.2.2 Support in the parser 116

    11.2.3 Processing 117

    11.2.4 Evaluation 117

    Part III Advanced Improvements Introduction 121

    Chapter 12 Linear Products 123

    12.1 Interest rates and swaps 123

    12.2 Equities, foreign exchange, and commodities 125

    12.3 Linear model implementation 126

    Chapter 13 Fixed Income Instruments 127

    13.1 Delayed payments 127

    13.2 Discount factors 128

    13.3 The simulated data processor 129

    13.4 Indexing 129

    13.5 Upgrading “pays” to support delayed payments 131

    13.6 Annuities 132

    13.7 Forward discount factors 132

    13.8 Back to equities 132

    13.9 Libor and rate fixings 133

    13.10 Scripts for swaps and options 134

    Chapter 14 Multiple Underlying Assets 137

    14.1 Multiple assets 137

    14.2 Multiple currencies 139

    Chapter 15 American Monte-Carlo 143

    15.1 Least Squares Method 143

    15.2 One proxy 147

    15.3 Additional regression variables 149

    15.4 Feedback and exercise 149

    15.5 Multiple exercise and recursion 152

    Part IV Fuzzy Logic and Risk Sensitivities Introduction 157

    Chapter 16 Risk Sensitivities with Monte-Carlo 161

    16.1 Risk instabilities 161

    16.2 Two approaches toward a solution 165

    16.3 Smoothing for digitals and barriers 166

    16.4 Smoothing for scripted transactions 168

    Chapter 17 Support for Smoothing 169

    Chapter 18 An Automated Smoothing Algorithm 175

    18.1 Basic algorithm 176

    18.2 Nested and combined conditions 179

    18.3 Affected variables 179

    18.4 Further optimization 180

    Chapter 19 Fuzzy Logic 183

    Chapter 20 Condition Domains 189

    20.1 Fuzzy evaluation of discrete conditions 189

    20.1.1 Condition domains 189

    20.1.2 Constant conditions 190

    20.1.3 Boolean conditions 191

    20.1.4 Binary conditions 193

    20.1.5 Discrete conditions 193

    20.1.6 Putting it all together 197

    20.2 Identification of condition domains 198

    20.3 Constant expressions 201

    Chapter 21 Limitations 203

    21.1 Dead and alive 203

    21.2 Non-linear use of fuzzy variables 206

    Chapter 22 The Smoothing Factor 209

    22.1 Scripting support 209

    22.2 Automatic determination 211

    Part V Application to xVA

    Chapter 23 xVA 215

    Chapter 24 Branching 219

    Chapter 25 Closing Remarks 223

    25.1 Script examples 223

    25.2 Multi-threading and AAD 228

    25.3 Advanced LSM optimizations 229

    Appendix A Parsing 231

    A.1 Preparing for parsing 231

    A.2 Parsing statements 234

    A.3 Recursively parsing conditions 238

    A.4 Recursively parsing expressions 244

    A.5 Performance 252

    Bibliography 255

    Index 257

Modern Computational Finance

    Product form

    £67.50

    Includes FREE delivery

    RRP £75.00 – you save £7.50 (10%)

    Order before 4pm today for delivery by Sat 4 Jul 2026.

    A Hardback by Antoine Savine, Jesper Andreasen

    15 in stock

      Trusted by thousands of customers. See 2,385+ Customer Reviews

      View other formats and editions of Modern Computational Finance by Antoine Savine

      Publisher: John Wiley & Sons Inc
      Publication Date: 20/12/2021
      ISBN13: 9781119540786, 978-1119540786
      ISBN10: 111954078X

      Description

      Book Synopsis

      An incisive and essentialguide to building a complete system for derivative scripting

      InVolume 2 ofModern Computational Finance Scripting for Derivatives and xVA,quantitative finance expertsand practitioners Drs. Antoine Savine and Jesper Andreasen deliver an indispensable and insightfulroadmap to the interrogation, aggregation, and manipulation of cash-flows in a variety of ways. The book demonstrates how to facilitate portfolio-wide risk assessment andregulatory calculations (like xVA).

      Complete with a professional scripting library written in modern C++, this stand-alone volumewalks readers through the construction of a comprehensiverisk and valuationtool.Thisessentialbook also offers:

      • Effective strategies for improving scripting libraries, from basic exampleslikesupport for dates and vectorsto advanced improvements, including American Monte Carlo techniques
      • Exploration of the concepts of fuzzy logic and risk sensitivities,includi

        Trade Review

        “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 au courant 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.”

        - Prof. Alexander Lipton, Founder and CEO, Stronghold Labs; Fellow, Connection Science and Engineering, Massachusetts Institute of Technology



        Table of Contents

        My Life in Script by Jesper Andreasen xi

        Part I A Scripting Library in C++

        Introduction 3

        Chapter 1 Opening Remarks 7

        Introduction 7

        1.1 Scripting is not only for exotics 12

        1.2 Scripting is for cash-flows not payoffs 13

        1.3 Simulation models 15

        1.4 Pre-processing 17

        1.5 Visitors 19

        1.6 Modern implementation in C++ 21

        1.7 Script templates 22

        Chapter 2 Expression Trees 25

        2.1 In theory 25

        2.2 In code 35

        Chapter 3 Visitors 41

        3.1 The visitor pattern 41

        3.2 The debugger visitor 47

        3.3 The variable indexer 50

        3.4 Pre-processors 54

        3.5 Const visitors 55

        3.6 The evaluator 57

        3.7 Communicating with models 65

        Chapter 4 Putting Scripting Together with a Model 71

        4.1 A simplistic Black-Scholes Monte-Carlo simulator 71

        4.1.1 Random number generators 71

        4.1.2 Simulation models 73

        4.1.3 Simulation engines 76

        4.2 Connecting the model to the scripting framework 76

        Chapter 5 Core Extensions and the “Pays” Keyword 81

        5.1 In theory 81

        5.2 In code 83

        Part II Basic Improvements

        Introduction 93

        Chapter 6 Past Evaluator 95

        Chapter 7 Macros 97

        Chapter 8 Schedules of Cash-Flows 99

        Chapter 9 Support for Dates 105

        Chapter 10 Predefined Schedules and Functions 109

        Chapter 11 Support for Vectors 113

        11.1 Basic functionality 113

        11.2 Advanced functionality 115

        11.2.1 New node types 116

        11.2.2 Support in the parser 116

        11.2.3 Processing 117

        11.2.4 Evaluation 117

        Part III Advanced Improvements Introduction 121

        Chapter 12 Linear Products 123

        12.1 Interest rates and swaps 123

        12.2 Equities, foreign exchange, and commodities 125

        12.3 Linear model implementation 126

        Chapter 13 Fixed Income Instruments 127

        13.1 Delayed payments 127

        13.2 Discount factors 128

        13.3 The simulated data processor 129

        13.4 Indexing 129

        13.5 Upgrading “pays” to support delayed payments 131

        13.6 Annuities 132

        13.7 Forward discount factors 132

        13.8 Back to equities 132

        13.9 Libor and rate fixings 133

        13.10 Scripts for swaps and options 134

        Chapter 14 Multiple Underlying Assets 137

        14.1 Multiple assets 137

        14.2 Multiple currencies 139

        Chapter 15 American Monte-Carlo 143

        15.1 Least Squares Method 143

        15.2 One proxy 147

        15.3 Additional regression variables 149

        15.4 Feedback and exercise 149

        15.5 Multiple exercise and recursion 152

        Part IV Fuzzy Logic and Risk Sensitivities Introduction 157

        Chapter 16 Risk Sensitivities with Monte-Carlo 161

        16.1 Risk instabilities 161

        16.2 Two approaches toward a solution 165

        16.3 Smoothing for digitals and barriers 166

        16.4 Smoothing for scripted transactions 168

        Chapter 17 Support for Smoothing 169

        Chapter 18 An Automated Smoothing Algorithm 175

        18.1 Basic algorithm 176

        18.2 Nested and combined conditions 179

        18.3 Affected variables 179

        18.4 Further optimization 180

        Chapter 19 Fuzzy Logic 183

        Chapter 20 Condition Domains 189

        20.1 Fuzzy evaluation of discrete conditions 189

        20.1.1 Condition domains 189

        20.1.2 Constant conditions 190

        20.1.3 Boolean conditions 191

        20.1.4 Binary conditions 193

        20.1.5 Discrete conditions 193

        20.1.6 Putting it all together 197

        20.2 Identification of condition domains 198

        20.3 Constant expressions 201

        Chapter 21 Limitations 203

        21.1 Dead and alive 203

        21.2 Non-linear use of fuzzy variables 206

        Chapter 22 The Smoothing Factor 209

        22.1 Scripting support 209

        22.2 Automatic determination 211

        Part V Application to xVA

        Chapter 23 xVA 215

        Chapter 24 Branching 219

        Chapter 25 Closing Remarks 223

        25.1 Script examples 223

        25.2 Multi-threading and AAD 228

        25.3 Advanced LSM optimizations 229

        Appendix A Parsing 231

        A.1 Preparing for parsing 231

        A.2 Parsing statements 234

        A.3 Recursively parsing conditions 238

        A.4 Recursively parsing expressions 244

        A.5 Performance 252

        Bibliography 255

        Index 257

      Recently viewed products

      © 2026 Book Curl

        • American Express
        • Apple Pay
        • Diners Club
        • Discover
        • Google Pay
        • Maestro
        • Mastercard
        • PayPal
        • Shop Pay
        • Union Pay
        • Visa

        Login

        Forgot your password?

        Don't have an account yet?
        Create account