UID:
edoccha_9961612700302883
Format:
1 online resource (335 pages)
Edition:
1st ed.
ISBN:
9783031605758
Series Statement:
Springer Undergraduate Texts in Mathematics and Technology Series
Note:
Intro -- 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.
Additional Edition:
Print version: Kelly, Cónall Computation and Simulation for Finance Cham : Springer International Publishing AG,c2024 ISBN 9783031605741
Language:
English