Modern Computational Finance: Scripting for Derivatives and xVA

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

An incisive and essential guide to building a complete system for derivative scripting 

In Volume 2 of Modern Computational Finance Scripting for Derivatives and xVA, quantitative finance experts and practitioners Drs. Antoine Savine and Jesper Andreasen deliver an indispensable and insightful roadmap to the interrogation, aggregation, and manipulation of cash-flows in a variety of ways. The book demonstrates how to facilitate portfolio-wide risk assessment and regulatory calculations (like xVA). 

Complete with a professional scripting library written in modern C++, this stand-alone volume walks readers through the construction of a comprehensive risk and valuation tool. This essential book also offers: 

  • Effective strategies for improving scripting libraries, from basic examples—like support for dates and vectors—to advanced improvements, including American Monte Carlo techniques 
  • Exploration of the concepts of fuzzy logic and risk sensitivities, including support for smoothing and condition domains 
  • Discussion of the application of scripting to xVA, complete with a full treatment of branching 

Perfect for quantitative analysts, risk professionals, system developers, derivatives traders, and financial analysts, Modern Computational Finance Scripting for Derivatives and xVA: Volume 2 is also a must-read resource for students and teachers in master’s and PhD finance programs. 

Author(s): Antoine Savine, Jesper Andreasen
Edition: 1
Publisher: Wiley
Year: 2021

Language: English
Pages: 288
Tags: C++; finance; aggregation; cash-flows; risk assessment; Monte Carlo; Fuzzy Logic; xVA; Quantitative Analysis;

Cover
Title Page
Copyright Page
Contents
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
Chapter 2 Expression Trees
2.1 In theory
2.2 In code
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
Chapter 4 Putting Scripting Together with a Model
4.1 A simplistic Black‐Scholes Monte‐Carlo simulator
4.1.1 Random number generators
4.1.2 Simulation models
4.1.3 Simulation engines
4.2 Connecting the model to the scripting framework
Chapter 5 Core Extensions and the “Pays” Keyword
5.1 In theory
5.2 In code
Part II Basic Improvements
Introduction
Chapter 6 Past Evaluator
Chapter 7 Macros
Chapter 8 Schedules of Cash‐Flows
Chapter 9 Support for Dates
Chapter 10 Predefined Schedules and Functions
Chapter 11 Support for Vectors
11.1 Basic functionality
11.2 Advanced functionality
11.2.1 New node types
11.2.2 Support in the parser
11.2.3 Processing
11.2.4 Evaluation
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
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
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
Chapter 19 Fuzzy Logic
Chapter 20 Condition Domains
20.1 Fuzzy evaluation of discrete conditions
20.1.1 Condition domains
20.1.2 Constant conditions
20.1.3 Boolean conditions
20.1.4 Binary conditions
20.1.5 Discrete conditions
20.1.6 Putting it all together
20.2 Identification of condition domains
20.3 Constant expressions
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
Chapter 24 Branching
Chapter 25 Closing Remarks
25.1 Script examples
25.2 Multi‐threading and AAD
25.3 Advanced LSM optimizations
Appendix A Parsing
A.1 Preparing for parsing
A.2 Parsing statements
A.3 Recursively parsing conditions
A.4 Recursively parsing expressions
A.5 Performance
Bibliography
Index
EULA