<p><span>This book offers an up-to-date introductory treatment of computational techniques applied to problems in finance, placing issues such as numerical stability, convergence and error analysis in both deterministic and stochastic settings at its core.</span></p><p><span>The first part provides
Computation and Simulation for Finance: An Introduction with Python (Springer Undergraduate Texts in Mathematics and Technology)
โ Scribed by Cรณnall Kelly
- Publisher
- Springer
- Year
- 2024
- Tongue
- English
- Leaves
- 346
- Edition
- 2024
- Category
- Library
No coin nor oath required. For personal study only.
โฆ Synopsis
This book offers an up-to-date introductory treatment of computational techniques applied to problems in finance, placing issues such as numerical stability, convergence and error analysis in both deterministic and stochastic settings at its core.
The first part provides a welcoming but nonetheless rigorous introduction to the fundamental theory of option pricing, including European, American, and exotic options along with their hedge parameters, and combines a clear treatment of the mathematical framework with practical worked examples in Python. The second part explores the main computational methods for valuing options within the Black-Scholes framework: lattice, Monte Carlo, and finite difference methods. The third and final part covers advanced topics for the simulation of financial processes beyond the standard Black-Scholes setting. Techniques for the analysis and simulation of multidimensional financial data, including copulas, are covered and will be of interest to those studying machine learning for finance. There is also an in-depth treatment of exact and approximate sampling methods for stochastic differential equation models of interest rates and volatilities.
Written for advanced undergraduate and masters-level courses, the book assumes some exposure to core mathematical topics such as linear algebra, ordinary differential equations, multivariate calculus, probability, and statistics at an undergraduate level. While familiarity with Python is not required, readers should be comfortable with basic programming constructs such as variables, loops, and conditional statements.
โฆ Table of Contents
Preface
Acknowledgements
Contents
Part I Modelling Assets and Markets
1 Introduction
1.1 Getting Started with Python and NumPy
1.1.1 Jupyter Notebooks
1.1.2 Variables and Arithmetic
1.1.3 Numerical Arrays
1.2 Financial Assets as Stochastic Processes
1.2.1 Two Examples of Derivatives Written on a Single Underlying Asset
1.2.2 The Stochastic Framework for an Asset Price Model
1.2.3 The Time Value of Money
1.2.3.1 Risk-Free Investment: Savings Accounts and Zero-Coupon Bonds
1.2.3.2 The Term Structure of Interest Rates
1.2.4 Python: User-Defined Functions
1.2.5 Incorporating Asset Price Risk
1.2.6 The Itรด Calculus
1.2.7 Solving the Black-Scholes Asset Model SDE
1.3 Sampling and Simulation of the Black-Scholes Asset Model
1.3.1 Pseudo-Random Number Generation
1.3.1.1 The RNG and Direct Sampling
1.3.1.2 Seeds, and Local Versus Global RNGs
1.3.1.3 The Box-Muller Transformation
1.3.1.4 Marsaglia's Polar Variant, and Conditional Operations on NumPy Arrays
1.3.1.5 Box-Muller in Practice: Reshaping and Resizing NumPy Arrays
1.3.2 Properties of the Distribution of the Asset Model
1.3.2.1 Exact Expressions for the Density Function, Mean, and Variance
1.3.2.2 Sampling from the Asset Model at Expiry
1.3.3 Simulating an Ensemble of Trajectories
1.4 Further Reading
1.4.1 Exercises
2 The Pricing of Financial Derivatives
2.1 Risk-Neutral Pricing of Financial Derivatives
2.1.1 A Simple Market Model Without Arbitrage
2.1.2 Replicating Strategies for Derivatives
2.1.3 The Fundamental Theorems of Asset Pricing
2.1.4 The Risk-Neutral Measure for Our Simple Market Model
2.1.4.1 P Is not the Risk-Neutral Measure
2.1.4.2 The Market Price of Risk
2.1.5 Change-of-Measure and Girsanov's Theorem
2.1.5.1 The Radon-Nikodym Derivative and Novikov's Condition
2.1.5.2 Girsanov's Theorem
2.1.6 Market Completeness and the Risk-Neutral PricingFormula
2.1.6.1 The Discounted Value of the Expected Payoff
2.1.6.2 A Replicating Strategy for a Financial Derivative
2.1.6.3 The Risk-Neutral Pricing Formula for Financial Derivatives
2.2 The Black-Scholes-Merton PDE
2.2.1 The Theorem of Feynman-Kac
2.2.2 Application to Our Simple Market Model
2.2.3 The Black-Scholes Pricing Formulae for EuropeanOptions
2.2.3.1 Boundary Conditions and the Price of a European Call
2.2.3.2 Put-Call Parity and the Price of a European Put
2.2.4 Option Price Sensitivities: The Greeks
2.2.4.1 Delta for European Options
2.2.4.2 A Dynamic Hedging Strategy
2.2.4.3 A Python Demonstration of Dynamic Hedging
2.3 Estimation of the Black-Scholes Implied Volatility
2.3.1 Characterising ฯ as the Solution of a Nonlinear Equation
2.3.2 Root-Finding with a Built-in Solver
2.3.2.1 Using fsolve(): A 1-Dimensional Example
2.3.2.2 The Volatility Smile
2.3.2.3 Local and Stochastic Volatility Models
2.4 Further Reading
2.4.1 Exercises
Part II Computational Pricing Methods in the Black-Scholes Framework
3 Binomial Tree Methods
3.1 An Asset Model Evolving in Discrete-Time
3.1.1 The Recombining Random Walk
3.1.2 Calibrating the Model Parameters
3.1.2.1 Constraints on u and d Imposed by the No-Arbitrage Principle
3.1.2.2 A Risk-Neutral Choice of p
3.1.2.3 Change-of-Measure for the Discrete-Time Model
3.1.2.4 Moment Consistency with the Black-Scholes Model
3.1.2.5 Cox-Ross-Rubenstein Parameters
3.1.3 Deviation from the Risk-Neutral Choice of p
3.1.4 Dynamical Consistency Between Discrete- and Continuous-Time Models
3.2 The Binomial Algorithm
3.2.1 Mathematical Characterisation
3.2.2 Python Implementation for a European Option
3.2.2.1 Stage 1: Evolution of the Asset Price Process
3.2.2.2 Stage 2: Option Value at Expiry
3.2.2.3 Stage 3: Backwards Iteration of Option Values to Initial Value
3.3 Modifications for Options Written on Dividend-Paying Assets
3.3.1 Assets Paying a Continuous Dividend Yield
3.3.2 Assets Paying a Discrete Dividend
3.4 Error Analysis
3.4.1 Defining the Error for European Options
3.4.2 Convergence Plots
3.5 The Binomial Algorithm for Options with an Early ExerciseFacility
3.5.1 American and Bermudan Options
3.5.2 The Dynamic Programming Representation of OptionValue
3.5.2.1 Computing Continuation Values in the Binomial Tree
3.5.2.2 Modifications to the Binomial Algorithm
3.6 The Binomial Algorithm for Barrier Options
3.6.1 Python Implementation Using Conditional Indexing
3.6.2 A New Source of Error: The Specified Versus the Effective Barrier
3.6.3 The In-Out Parity Relation for Single-Barrier Options
3.7 Further Reading
3.7.1 Exercises
4 Simulation I: Monte Carlo Methods
4.1 Brute-Force Monte Carlo
4.1.1 Estimation by Independent Statistical Sampling
4.1.2 Python Implementation for a European Option
4.2 A Regression-Based Method for Options with Early Exercise
4.2.1 Approximating the Continuation Value
4.2.2 A Simple Example: Fitting the Legendre Polynomials by Least-Squares
4.2.3 Using Continuation Estimates to Value an American Put Option
4.2.3.1 Computational Complexity of the Longstaff-Schwarz Method
4.3 Monte Carlo for Exotic Options
4.3.1 Barrier Options
4.3.1.1 The Down-and-Out Call Option with Continuous or Discrete Monitoring
4.3.1.2 Python Implementation
4.3.2 Asian Options
4.3.2.1 The Geometric Average Asian Call Option
4.3.2.2 The Arithmetic Average Asian Call Option
4.4 Variance Reduction
4.4.1 Control Variates
4.4.1.1 A Python Example of the Control Variate Technique for Asian Options
4.4.2 Antithetic Variates
4.4.2.1 An Antithetic Variate Example for Power Options
4.4.3 Importance Sampling
4.4.3.1 The Example of a European Option far Out-of-the-Money
4.4.3.2 Implementation in Python
4.5 Estimating the Greeks: Bump-and-Revalue
4.6 Further Reading
4.6.1 Exercises
5 Finite Difference Methods
5.1 The Black-Scholes-Merton PDE
5.1.1 The General Form of the PDE
5.1.2 Asset Price Domain and Boundary Conditions for European and Barrier Options
5.1.2.1 European Options
5.1.2.2 Barrier Options
5.1.3 Parabolic PDEs and the Heat Equation
5.1.4 Transforming the Black-Scholes-Merton PDE to the Heat Equation
5.1.5 A Uniform Finite Difference Mesh Over a Rectangular Domain
5.1.5.1 Construction of the Mesh, and Notation
5.1.5.2 Python Representation of the Mesh Using np.meshgrid()
5.2 Construction of an Explicit Discretisation Scheme
5.2.1 Taylor series Expansion of Partial Derivatives
5.2.2 Building the FTCS Scheme
5.2.3 Python Implementation of the FTCS Scheme and Numerical Instability
5.3 Error Control for the FTCS Scheme
5.3.1 Global Error of a Numerical Scheme
5.3.2 Stability and Consistency Together Imply Convergence
5.3.3 Stability in the Sense of von Neumann
5.3.4 Matrix Stability
5.3.4.1 The Matrix-Vector Form of the FTCS Scheme
5.3.4.2 Characterising Stability in Terms of the Matrix F
5.3.5 Local Accuracy and Consistency of the FTCS Scheme
5.4 Two Unconditionally Stable Schemes
5.4.1 Construction and Stability of an Implicit Scheme
5.4.1.1 The Matrix-Vector Form of the BTCS Scheme
5.4.2 The Crank-Nicolson Finite Difference Approximation
5.4.2.1 Taylor Series Expansion of Partial Derivatives
5.4.2.2 The Difference Equation of the Numerical Scheme
5.4.2.3 The Matrix-Vector Form of the Numerical Scheme
5.5 Python Valuation of Options Using an Implicit Scheme
5.5.1 Implementation of the BTCS Scheme for a European Call Option
5.5.1.1 Step 1: Parameters Are Defined for the Option, then Transformed
5.5.1.2 Step 2: Parameters Are Defined for the Scheme
5.5.1.3 Step 3: Set Up the Iteration Matrix G and Invert
5.5.1.4 Step 4: Set Up an Array to Contain the Solution Values
5.5.1.5 Step 5: Define the Initial Profile and Boundary Conditions
5.5.1.6 Step 6: Set Up the Collection of Vectors q Containing the Boundary Conditions
5.5.1.7 Step 7: Compute the Interior Solution Values via the BTCS Scheme
5.5.1.8 Step 8: Transform Back to the Black-Scholes Variables
5.5.1.9 Step 9: Plot the Surfaces U and V
5.5.2 Modification for a Down-and-Out Barrier Call Option
5.5.3 Modification for a Cash-or-Nothing Call Option
5.6 The Finite Difference Approach for American Options
5.6.1 The Free Boundary Formulation of an American Put
5.6.2 The Compact Linear Complementarity Formof the Problem
5.6.3 Valuing an American Put Using the Method of Projected Successive Over-Relaxation (PSOR)
5.6.3.1 Implementation Details
5.7 The Link to Binomial Methods
5.8 Further Reading
5.8.1 Exercises
Part III Simulation Methods Beyond the Black-Scholes Framework
6 Simulation II: Modelling Multivariate Financial Data
6.1 Rainbow Options
6.2 Jointly Distributed Random Variables
6.3 Joint Centred Normal Distributions
6.3.1 Incorporating a Covariance Structure by Cholesky Factorisation
6.3.2 A Python Implementation in Two Dimensions
6.3.3 The Probability Integral Transform
6.3.4 Simulating Correlated Black-Scholes Asset Models
6.4 Dimension Reduction via Change-of-Measure
6.5 Fitting a Bivariate Normal Distribution to Equity Log-Returns
6.6 Heavy-Tails: The Multivariate Student's tฮฝ Distribution
6.6.1 Mathematical Characterisation of the Distribution
6.6.1.1 The Univariate Student's tฮฝ Distribution
6.6.2 Sampling from a Bivariate Student's tฮฝ Distribution Using Python
6.6.2.1 Modelling the Equity Log-Returns with a Bivariate Student's tฮฝ Distribution
6.7 Copulas for d-Dimensional Random Variables
6.7.1 The Definition and Role of a Copula
6.7.2 Defining a Copula from a Joint CDF, and Vice Versa
6.7.3 Examples of Bivariate Copulas
6.7.3.1 The Gaussian Copula
6.7.3.2 The Student Copula
6.7.3.3 Tail Dependence
6.7.4 Fitting a Copula to a Data Set
6.7.4.1 The Empirical Copula of a Sample
6.7.4.2 Fitting a Copula to the MSFT-INTC Daily Log-Returns
6.8 Further Reading
6.8.1 Exercises
7 Stochastic Models for Interest Rates
7.1 Calibrating a Black-Scholes Asset Model to Bond Prices
7.1.1 A Risk Free Rate that Varies in Time
7.1.2 An Example of Risk-Neutral Model Calibration
7.1.3 Interpolating Individual Asset Price Trajectories
7.1.4 Brownian Bridging in Python
7.2 A Review of Bonds and Interest Rates
7.2.1 The Spot Rate and the Term Structure
7.2.2 The Short Rate
7.2.3 Yield-to-Maturity for Coupon-Bearing Bonds
7.2.4 Forward Rates
7.3 Risk-Neutral Valuation of Bonds and Interest Rate Derivatives
7.3.1 The Fundamental Equation for Bond Pricing
7.3.2 Interest Rates Derivatives with Payoff Depending on a Forward Curve
7.3.3 The Discounted Feynman-Kac Theorem for Interest Rate Derivatives
7.4 SDEs for Risk-Neutral Models of the Short Rate
7.4.1 Affine Term Structures Arising from Linear SDE Models
7.4.2 Linear SDE Models of the Short Rate
7.4.2.1 The Class of General Gaussian Markov Processes
7.4.2.2 The Hull-White Model: Solutions and Conditional Distributions
7.4.2.3 The Vasicek Model: Long-Run Behaviour and Sampling
7.4.2.4 The Vasicek Model: Bond Pricing and Term Structure
7.4.2.5 The Ho-Lee Model: Calibration to an Initial Forward Curve
7.4.3 A Nonlinear SDE Model of the Short Rate: CIR
7.4.3.1 The Non-central Chi-Squared Distribution
7.4.3.2 The Lamperti Transform Applied to the CIR Model
7.4.3.3 The Conditional Distribution of the CIR Model
7.4.3.4 The CIR Model: Long-Run Behaviour and Sampling
7.4.3.5 Bond Pricing and Affine Term Structure Under the CIR Model
7.4.3.6 CIR Processes and the Heston Model
7.5 Sampling for the Monte Carlo Valuation of Interest RateDerivatives
7.5.1 Joint Sampling of an Interest Rate Model and Its Discount Factor
7.5.2 Pricing Interest Rate Derivatives Under the Forward Risk-Neutral Measure
7.6 Further Reading
7.6.1 Exercises
8 Simulation III: Numerical Approximation of SDE Models
8.1 Strong Approximation Methods for Itรด-Type SDEs
8.1.1 The ฮธ-Maruyama Class of Numerical Methods
8.1.2 Pathwise Error for Euler Schemes Applied to a Linear SDE Model
8.1.2.1 The CIR Model and Dynamical Consistency
8.1.2.2 Nonlinear Stochastic and Local Models of Volatility
8.2 Stochastic Notions of Stability
8.2.1 Asymptotic Stability in Mean-Square
8.2.2 Regions of Stability and A-Stability in Mean-Square
8.2.3 Almost Sure Asymptotic Stability
8.3 Stochastic Notions of Convergence
8.3.1 Theoretical and Numerical Demonstrationsof Convergence
8.3.1.1 The SDE Model and Its Properties
8.3.1.2 The Discretisation and Its Properties
8.3.2 Order of Weak Convergence for the Explicit Euler-Maruyama Scheme
8.3.3 Order of Strong Convergence for the Explicit Euler-Maruyama Scheme
8.4 The Milstein Scheme
8.4.1 Motivation in the 1-Dimensional Diffusion-Only Case
8.4.2 The General Form of the Milstein Scheme
8.4.3 Mean-Square Asymptotic Stability of the MilsteinScheme
8.5 A Review of Advanced Numerical Methods for Nonlinear Financial Models
8.5.1 Weakly Convergent Numerical Methods
8.5.2 Strongly Convergent Numerical Methods
8.5.2.1 Direct Approximation
8.5.2.2 Approximation of the Lamperti Transform
8.5.2.3 The Truncated Milstein Method
8.6 Multilevel Monte Carlo (MLMC) Approximation
8.6.1 Motivating the MLMC Estimator
8.6.2 A Python Demonstration of Variance Reduction by MLMC Sampling
8.6.3 Algorithm, and the Roles of Weak and StrongConvergence
8.7 Further Reading
8.7.1 Exercises
References
Index
๐ SIMILAR VOLUMES
<p><span>This book offers an up-to-date introductory treatment of computational techniques applied to problems in finance, placing issues such as numerical stability, convergence and error analysis in both deterministic and stochastic settings at its core.</span></p><p><span>The first part provides
<p><span>Thirty years ago mathematical, as opposed to applied numerical, computation was difficult to perform and so relatively little used. Three threads changed that: the emergence of the personal computer; the discovery of fiber-optics and the consequent development of the modern internet; and th
<p><span>Mathematical Modeling for Epidemiology and Ecology provides readers with the mathematical tools needed to understand and use mathematical models and read advanced mathematical biology books. It presents mathematics in biological contexts, focusing on the central mathematical ideas and the b
This textbook is designed with the needs of todayโs student in mind. It is the ideal textbook for a first course in elementary differential equations for future engineers and scientists, including mathematicians. This book is accessible to anyone who has a basic knowledge of precalculus algebra and