Simple implementable of Numerical Analysis to solve the famous Black-Scholes P.D.E. via Finite Difference Methods for the fair price of a European option.
Notes for Volatility Modeling lectures, Antoine Savine at Copenhagen UniversityAntoine Savine
1) The document discusses volatility modeling and trading, focusing on modeling volatility.
2) It introduces Black-Scholes option pricing theory, describing how Black-Scholes derives the partial differential equation for option prices and provides a unique solution through arbitrage arguments.
3) The document emphasizes that Black-Scholes is robust to assumptions like stochastic processes and distributions, with the key assumption being continuity of price processes.
This document provides an introduction to Monte Carlo simulations in finance. It discusses how Monte Carlo methods can be used to value financial derivatives by simulating asset price paths over time based on stochastic processes, and taking the average of the resulting payoffs. It also describes how Monte Carlo integration can be applied to problems involving the numerical evaluation of multi-dimensional integrals. The document outlines the basic concepts and provides examples of applying Monte Carlo techniques to price European options and estimate the value of pi.
Introduction to Interest Rate Models by Antoine SavineAntoine Savine
This document provides an introduction to interest rate models. It begins with a simple model involving parallel shifts of the yield curve. However, this model allows for arbitrage opportunities due to convexity. More advanced models incorporate a risk premium and remove arbitrage by including a drift term representing an average steepening of the curve. Under the historical probability measure, changes in forward rates must satisfy certain conditions to avoid arbitrage. Specifically, the drift must include both a volatility term and a risk premium term, with the risk premium being the same for all rates. Markov models further reduce the dynamics to depend only on a single forward rate.
Structured financial products are created through the securitization of assets like mortgages and other loans. Mortgages are pooled together and interests in the cash flows from the pool are sold to investors in the form of mortgage-backed securities. Securitization allows originators to convert illiquid mortgages into tradable securities, replenish funds for further lending, and remove assets from their balance sheets. Common types of mortgage-backed securities include mortgage passthrough securities and collateralized mortgage obligations, which divide the cash flows from mortgage pools into different classes or tranches.
This document provides an overview of various bullish, neutral, and bearish options trading strategies. It begins with a table of contents listing 27 bullish strategies, 25 neutral strategies, and 9 bearish strategies. It then provides a brief introduction to options, defining call options, put options, and describing option duration and moneyness. The document proceeds to explain 15 specific strategies in more detail, including long call, synthetic long call, short put, covered call, long combo, and others. Each strategy section defines the strategy, risks, rewards, construction, and provides an example to illustrate how it works.
Financial Cash-Flow Scripting: Beyond Valuation by Antoine SavineAntoine Savine
Antoine Savine's QuantMinds and WBS 2018 Presentation
We explore the implementation of scripting in finance and its application to its full potential, in particular for xVA and related regulatory calculation.
The talk is a short summary of some material from our Modern Computational Finance books with Wiley (2018-2019).
Stabilise risks of discontinuous payoffs with Fuzzy Logic by Antoine SavineAntoine Savine
Antoine Savine's Global Derivatives 2016 Talk
We demonstrate that smoothing, a technique derivatives traders use to stabilise the risk management of discontinuous exotics, is a particular use of Fuzzy Logic.
This realisation leads to a general, automated smoothing algorithm.
The algorithm is extensively explained and its implementation in C++ is provided as a part of our book with Wiley (2018):
Modern Computational Finance: Scripting for Derivatives and xVA
The document provides an overview of the simplex algorithm for solving linear programming problems. It begins with an introduction and defines the standard format for representing linear programs. It then describes the key steps of the simplex algorithm, including setting up the initial simplex tableau, choosing the pivot column and pivot row, and pivoting to move to the next basic feasible solution. It notes that the algorithm terminates when an optimal solution is reached where all entries in the objective row are non-negative. The document also briefly discusses variants like the ellipsoid method and cycling issues addressed by Bland's rule.
Notes for Volatility Modeling lectures, Antoine Savine at Copenhagen UniversityAntoine Savine
1) The document discusses volatility modeling and trading, focusing on modeling volatility.
2) It introduces Black-Scholes option pricing theory, describing how Black-Scholes derives the partial differential equation for option prices and provides a unique solution through arbitrage arguments.
3) The document emphasizes that Black-Scholes is robust to assumptions like stochastic processes and distributions, with the key assumption being continuity of price processes.
This document provides an introduction to Monte Carlo simulations in finance. It discusses how Monte Carlo methods can be used to value financial derivatives by simulating asset price paths over time based on stochastic processes, and taking the average of the resulting payoffs. It also describes how Monte Carlo integration can be applied to problems involving the numerical evaluation of multi-dimensional integrals. The document outlines the basic concepts and provides examples of applying Monte Carlo techniques to price European options and estimate the value of pi.
Introduction to Interest Rate Models by Antoine SavineAntoine Savine
This document provides an introduction to interest rate models. It begins with a simple model involving parallel shifts of the yield curve. However, this model allows for arbitrage opportunities due to convexity. More advanced models incorporate a risk premium and remove arbitrage by including a drift term representing an average steepening of the curve. Under the historical probability measure, changes in forward rates must satisfy certain conditions to avoid arbitrage. Specifically, the drift must include both a volatility term and a risk premium term, with the risk premium being the same for all rates. Markov models further reduce the dynamics to depend only on a single forward rate.
Structured financial products are created through the securitization of assets like mortgages and other loans. Mortgages are pooled together and interests in the cash flows from the pool are sold to investors in the form of mortgage-backed securities. Securitization allows originators to convert illiquid mortgages into tradable securities, replenish funds for further lending, and remove assets from their balance sheets. Common types of mortgage-backed securities include mortgage passthrough securities and collateralized mortgage obligations, which divide the cash flows from mortgage pools into different classes or tranches.
This document provides an overview of various bullish, neutral, and bearish options trading strategies. It begins with a table of contents listing 27 bullish strategies, 25 neutral strategies, and 9 bearish strategies. It then provides a brief introduction to options, defining call options, put options, and describing option duration and moneyness. The document proceeds to explain 15 specific strategies in more detail, including long call, synthetic long call, short put, covered call, long combo, and others. Each strategy section defines the strategy, risks, rewards, construction, and provides an example to illustrate how it works.
Financial Cash-Flow Scripting: Beyond Valuation by Antoine SavineAntoine Savine
Antoine Savine's QuantMinds and WBS 2018 Presentation
We explore the implementation of scripting in finance and its application to its full potential, in particular for xVA and related regulatory calculation.
The talk is a short summary of some material from our Modern Computational Finance books with Wiley (2018-2019).
Stabilise risks of discontinuous payoffs with Fuzzy Logic by Antoine SavineAntoine Savine
Antoine Savine's Global Derivatives 2016 Talk
We demonstrate that smoothing, a technique derivatives traders use to stabilise the risk management of discontinuous exotics, is a particular use of Fuzzy Logic.
This realisation leads to a general, automated smoothing algorithm.
The algorithm is extensively explained and its implementation in C++ is provided as a part of our book with Wiley (2018):
Modern Computational Finance: Scripting for Derivatives and xVA
The document provides an overview of the simplex algorithm for solving linear programming problems. It begins with an introduction and defines the standard format for representing linear programs. It then describes the key steps of the simplex algorithm, including setting up the initial simplex tableau, choosing the pivot column and pivot row, and pivoting to move to the next basic feasible solution. It notes that the algorithm terminates when an optimal solution is reached where all entries in the objective row are non-negative. The document also briefly discusses variants like the ellipsoid method and cycling issues addressed by Bland's rule.
The document provides an overview of the simplex method for solving linear programming problems. It discusses:
- The simplex method is an iterative algorithm that generates a series of solutions in tabular form called tableaus to find an optimal solution.
- It involves writing the problem in standard form, introducing slack variables, and constructing an initial tableau.
- The method then performs iterations involving selecting a pivot column and row, and applying row operations to generate new tableaus until an optimal solution is found.
- It also discusses how artificial variables are introduced for problems with non-strict inequalities and provides an example solved using the simplex method.
This document discusses relevant costs and their importance in decision making. It defines relevant costs as those that relate specifically to a management decision and will change depending on the decision. Only future costs that differ between alternatives are relevant. Qualitative and quantitative factors must be considered in decisions. Short-term decisions involve determining if costs are incremental, avoidable, or opportunity costs. Common short-term decisions include whether to make or buy a product, accept special orders, or continue or shut down a business segment. Guidelines for these decisions focus on choosing the option with the lowest costs or highest contribution to profits.
Lufthansa purchased $500 million worth of Boeing jets in 1985 payable in 1986. The head of treasury, Herr Ruhnau, was concerned about exchange rate risk as the dollar had been rising against the Deutschemark. He decided to hedge half the payment using forwards at the current exchange rate of DM3.2/$ and leave half unhedged. When payments were due in 1986, the dollar had weakened to DM2.3/$, exposing Lufthansa to a loss. Ruhnau was called before the board to explain his decision, though he argued the purchase was mandated and a mixed hedging approach reduced risk and cost compared to full hedging. The board ultimately did not
Practical Implementation of AAD by Antoine Savine, Brian Huge and Hans-Jorgen...Antoine Savine
Antoine Savine, Brian Huge and Hans-Jorgen Flyger
Global Derivatives 2015 Talk
We identify some of the most delicate challenges of a practical implementation of AAD for exotics, xVA and capital requirement calculations, and explain the solutions.
Danske Bank earned the In-House System of the Year 2015 Risk award after implementing AAD in its regulatory systems.
The practical implementation of AAD is explained in words, mathematics and code in our book with Wiley (2018):
Modern Computational Finance: AAD and Parallel Simulations
60 Years Birthday, 30 Years of Ground Breaking Innovation: A Tribute to Bruno...Antoine Savine
- Dupire's work from 1992-1996 defined modern finance by establishing conditions for absence of arbitrage, respect of initial yield curves, and respect of initial call prices.
- Dupire showed that models must respect market prices of options through calibration, demonstrating a necessary and sufficient condition for a wide class of diffusion models.
- Dupire's implied volatility formula expresses the implied variance as an average of local variances weighted by probability and gamma, linking market prices to underlying volatility.
This document provides an overview of linear programming problems and methods for solving them. It defines a linear programming problem and describes how to write it in standard form with decision variables and constraints. It then explains the simplex method, including how to form an initial tableau and iterate to reach an optimal solution. Finally, it introduces the Big-M method for handling problems with inequality constraints by adding artificial variables with large penalty coefficients. An example demonstrates both simplex and Big-M methods.
Join CMT Level 1, 2 & 3 Program Courses & become a professional Technical Analyst, CMT USA Best COACHING CLASSES. CMT Institute Live Classes by Expert Faculty. Exams are available in India. Best Career in Financial Market.
https://www.ptaindia.com/chartered-market-technician/
The document discusses permutations and the symmetric group S3. It defines what a permutation is and introduces the six permutations that make up S3: the identity E, a 120 degree rotation R, a 240 degree rotation R2, a vertical reflection V, and reflections RV and R2V. It explains that S3 forms a group under composition of permutations. It also introduces the alternating group A3, which is the subgroup of S3 made up of the even permutations E, R, and R2.
The Simplex Method is an algorithm for solving linear programming problems. It involves setting up the problem in standard form, constructing an initial simplex tableau, and then iteratively selecting pivot columns and performing row operations until an optimal solution is found. The method terminates when all indicators in the tableau are positive or zero, at which point the basic and non-basic variables can be identified to read the optimal solution.
How to handle Initial Value Problems using numerical techniques?
#WikiCourses
https://wikicourses.wikispaces.com/Topic+Initial+Value+Problems
https://eau-esa.wikispaces.com/Topic+Initial+Value+Problems
The document discusses iterative improvement algorithms and provides examples such as the simplex method for solving linear programming problems. It explains the standard form of a linear programming problem and gives an outline of the simplex method, which generates a sequence of feasible solutions with improving objective values until an optimal solution is found. Some notes on limitations of the simplex method and improvements like the ellipsoid and interior-point methods are also mentioned.
Slides for the Differential Machine Learning masterclass given by Brian Huge and Antoine Savine in Barcelona at the Quant Minds International event of December 2021.
This presentation summarises two years of research and development at Danske Bank on the pricing and risk of financial derivatives by machine learning and artificial intelligence.
The presentation develops the themes introduced in two articles in Risk Magazine, October 2020 and October 2021. Those themes are being further developed in the book Modern Computational Finance: Differential Machine Learning, with Chapman and Hall, autumn 2022.
This document discusses transportation models and methods for finding an initial basic feasible solution and testing for optimality in transportation problems. It describes three methods - northwest corner, least cost, and Vogel's approximation - for obtaining an initial solution. It then explains how to test if the initial solution is optimal using the MODI or u-v method by calculating opportunity costs for unoccupied cells and finding a closed path if any cells have negative opportunity costs to obtain an improved solution. The process repeats until all opportunity costs are non-negative, indicating an optimal solution.
This document provides an overview of finite difference methods for solving partial differential equations. It introduces partial differential equations and various discretization methods including finite difference methods. It covers the basics of finite difference methods including Taylor series expansions, finite difference quotients, truncation error, explicit and implicit methods like the Crank-Nicolson method. It also discusses consistency, stability, and convergence of finite difference schemes. Finally, it applies these concepts to fluid flow equations and discusses conservative and transportive properties of finite difference formulations.
The document discusses and debunks 10 common myths about momentum investing. It addresses the myths that momentum returns are too small and sporadic, that it can only be exploited on the short side, that it is stronger for small caps than large caps, and that it cannot survive trading costs. It also discusses myths that momentum does not work for taxable investors, is best used with screens, or that its returns may disappear. Further, it addresses myths that momentum is too volatile, that different measures may yield different results, and that there is no underlying theory for momentum. The document provides evidence and analysis to show that each of these myths about momentum investing are unfounded.
(1) The document discusses algebraic structures like groups, rings, and fields. It provides examples of groups including the symmetries of a square (YSQ) and the integers modulo n (Zn).
(2) It then describes the RSA cryptosystem, which is used to securely transmit messages over the internet. It works by having a public and private key based on large prime numbers.
(3) The document goes on to define properties of groups like associativity, identities, inverses, generators, orders of elements, and subgroups. It provides examples to illustrate these concepts for groups like YSQ and Zn*.
The document provides an overview of the simplex method for solving linear programming problems with more than two decision variables. It describes key concepts like slack variables, surplus variables, basic feasible solutions, degenerate and non-degenerate solutions, and using tableau steps to arrive at an optimal solution. Examples are provided to illustrate setting up and solving problems using the simplex method.
A Solution of Partial Differential Equations by Finite-Difference ApproximationsElliot Newman
Investigated the topic Discretisation Schemes, most notably, Finite Difference Approximations and there ability to accurately provide solutions for Partial Differentials. Three methods in-particular were executed, Forward-Time Backward-Space, Lax Scheme and the Lax-Wendroff Scheme varying key parameters to establish operation supremacy.
The document discusses finite difference methods for solving differential equations. It begins by introducing finite difference methods as alternatives to shooting methods for solving differential equations numerically. It then provides details on using finite difference methods to transform differential equations into algebraic equations that can be solved. This includes deriving finite difference approximations for derivatives, setting up the finite difference equations at interior points, and assembling the equations in matrix form. The document also provides an example of applying a finite difference method to solve a linear boundary value problem and a nonlinear boundary value problem.
The document provides an overview of the simplex method for solving linear programming problems. It discusses:
- The simplex method is an iterative algorithm that generates a series of solutions in tabular form called tableaus to find an optimal solution.
- It involves writing the problem in standard form, introducing slack variables, and constructing an initial tableau.
- The method then performs iterations involving selecting a pivot column and row, and applying row operations to generate new tableaus until an optimal solution is found.
- It also discusses how artificial variables are introduced for problems with non-strict inequalities and provides an example solved using the simplex method.
This document discusses relevant costs and their importance in decision making. It defines relevant costs as those that relate specifically to a management decision and will change depending on the decision. Only future costs that differ between alternatives are relevant. Qualitative and quantitative factors must be considered in decisions. Short-term decisions involve determining if costs are incremental, avoidable, or opportunity costs. Common short-term decisions include whether to make or buy a product, accept special orders, or continue or shut down a business segment. Guidelines for these decisions focus on choosing the option with the lowest costs or highest contribution to profits.
Lufthansa purchased $500 million worth of Boeing jets in 1985 payable in 1986. The head of treasury, Herr Ruhnau, was concerned about exchange rate risk as the dollar had been rising against the Deutschemark. He decided to hedge half the payment using forwards at the current exchange rate of DM3.2/$ and leave half unhedged. When payments were due in 1986, the dollar had weakened to DM2.3/$, exposing Lufthansa to a loss. Ruhnau was called before the board to explain his decision, though he argued the purchase was mandated and a mixed hedging approach reduced risk and cost compared to full hedging. The board ultimately did not
Practical Implementation of AAD by Antoine Savine, Brian Huge and Hans-Jorgen...Antoine Savine
Antoine Savine, Brian Huge and Hans-Jorgen Flyger
Global Derivatives 2015 Talk
We identify some of the most delicate challenges of a practical implementation of AAD for exotics, xVA and capital requirement calculations, and explain the solutions.
Danske Bank earned the In-House System of the Year 2015 Risk award after implementing AAD in its regulatory systems.
The practical implementation of AAD is explained in words, mathematics and code in our book with Wiley (2018):
Modern Computational Finance: AAD and Parallel Simulations
60 Years Birthday, 30 Years of Ground Breaking Innovation: A Tribute to Bruno...Antoine Savine
- Dupire's work from 1992-1996 defined modern finance by establishing conditions for absence of arbitrage, respect of initial yield curves, and respect of initial call prices.
- Dupire showed that models must respect market prices of options through calibration, demonstrating a necessary and sufficient condition for a wide class of diffusion models.
- Dupire's implied volatility formula expresses the implied variance as an average of local variances weighted by probability and gamma, linking market prices to underlying volatility.
This document provides an overview of linear programming problems and methods for solving them. It defines a linear programming problem and describes how to write it in standard form with decision variables and constraints. It then explains the simplex method, including how to form an initial tableau and iterate to reach an optimal solution. Finally, it introduces the Big-M method for handling problems with inequality constraints by adding artificial variables with large penalty coefficients. An example demonstrates both simplex and Big-M methods.
Join CMT Level 1, 2 & 3 Program Courses & become a professional Technical Analyst, CMT USA Best COACHING CLASSES. CMT Institute Live Classes by Expert Faculty. Exams are available in India. Best Career in Financial Market.
https://www.ptaindia.com/chartered-market-technician/
The document discusses permutations and the symmetric group S3. It defines what a permutation is and introduces the six permutations that make up S3: the identity E, a 120 degree rotation R, a 240 degree rotation R2, a vertical reflection V, and reflections RV and R2V. It explains that S3 forms a group under composition of permutations. It also introduces the alternating group A3, which is the subgroup of S3 made up of the even permutations E, R, and R2.
The Simplex Method is an algorithm for solving linear programming problems. It involves setting up the problem in standard form, constructing an initial simplex tableau, and then iteratively selecting pivot columns and performing row operations until an optimal solution is found. The method terminates when all indicators in the tableau are positive or zero, at which point the basic and non-basic variables can be identified to read the optimal solution.
How to handle Initial Value Problems using numerical techniques?
#WikiCourses
https://wikicourses.wikispaces.com/Topic+Initial+Value+Problems
https://eau-esa.wikispaces.com/Topic+Initial+Value+Problems
The document discusses iterative improvement algorithms and provides examples such as the simplex method for solving linear programming problems. It explains the standard form of a linear programming problem and gives an outline of the simplex method, which generates a sequence of feasible solutions with improving objective values until an optimal solution is found. Some notes on limitations of the simplex method and improvements like the ellipsoid and interior-point methods are also mentioned.
Slides for the Differential Machine Learning masterclass given by Brian Huge and Antoine Savine in Barcelona at the Quant Minds International event of December 2021.
This presentation summarises two years of research and development at Danske Bank on the pricing and risk of financial derivatives by machine learning and artificial intelligence.
The presentation develops the themes introduced in two articles in Risk Magazine, October 2020 and October 2021. Those themes are being further developed in the book Modern Computational Finance: Differential Machine Learning, with Chapman and Hall, autumn 2022.
This document discusses transportation models and methods for finding an initial basic feasible solution and testing for optimality in transportation problems. It describes three methods - northwest corner, least cost, and Vogel's approximation - for obtaining an initial solution. It then explains how to test if the initial solution is optimal using the MODI or u-v method by calculating opportunity costs for unoccupied cells and finding a closed path if any cells have negative opportunity costs to obtain an improved solution. The process repeats until all opportunity costs are non-negative, indicating an optimal solution.
This document provides an overview of finite difference methods for solving partial differential equations. It introduces partial differential equations and various discretization methods including finite difference methods. It covers the basics of finite difference methods including Taylor series expansions, finite difference quotients, truncation error, explicit and implicit methods like the Crank-Nicolson method. It also discusses consistency, stability, and convergence of finite difference schemes. Finally, it applies these concepts to fluid flow equations and discusses conservative and transportive properties of finite difference formulations.
The document discusses and debunks 10 common myths about momentum investing. It addresses the myths that momentum returns are too small and sporadic, that it can only be exploited on the short side, that it is stronger for small caps than large caps, and that it cannot survive trading costs. It also discusses myths that momentum does not work for taxable investors, is best used with screens, or that its returns may disappear. Further, it addresses myths that momentum is too volatile, that different measures may yield different results, and that there is no underlying theory for momentum. The document provides evidence and analysis to show that each of these myths about momentum investing are unfounded.
(1) The document discusses algebraic structures like groups, rings, and fields. It provides examples of groups including the symmetries of a square (YSQ) and the integers modulo n (Zn).
(2) It then describes the RSA cryptosystem, which is used to securely transmit messages over the internet. It works by having a public and private key based on large prime numbers.
(3) The document goes on to define properties of groups like associativity, identities, inverses, generators, orders of elements, and subgroups. It provides examples to illustrate these concepts for groups like YSQ and Zn*.
The document provides an overview of the simplex method for solving linear programming problems with more than two decision variables. It describes key concepts like slack variables, surplus variables, basic feasible solutions, degenerate and non-degenerate solutions, and using tableau steps to arrive at an optimal solution. Examples are provided to illustrate setting up and solving problems using the simplex method.
A Solution of Partial Differential Equations by Finite-Difference ApproximationsElliot Newman
Investigated the topic Discretisation Schemes, most notably, Finite Difference Approximations and there ability to accurately provide solutions for Partial Differentials. Three methods in-particular were executed, Forward-Time Backward-Space, Lax Scheme and the Lax-Wendroff Scheme varying key parameters to establish operation supremacy.
The document discusses finite difference methods for solving differential equations. It begins by introducing finite difference methods as alternatives to shooting methods for solving differential equations numerically. It then provides details on using finite difference methods to transform differential equations into algebraic equations that can be solved. This includes deriving finite difference approximations for derivatives, setting up the finite difference equations at interior points, and assembling the equations in matrix form. The document also provides an example of applying a finite difference method to solve a linear boundary value problem and a nonlinear boundary value problem.
This document discusses several numerical methods for solving partial differential equations (PDEs) using Mathematica and MATLAB. It covers finite difference methods like FTCS, Lax, Crank-Nicolson for parabolic PDEs. It also discusses Jacobi's method, SOR method for elliptic PDEs and finite difference schemes for hyperbolic PDEs. MATLAB code examples are provided to implement these methods for different PDEs like heat equation, wave equation and Poisson's equation.
Different analytical and numerical methods are commonly used to solve transient heat conduction problems. In this problem, the use of Alternating Direct Implicit scheme (ADI) was adopted to solve temperature variation within an infinitesimal long bar of a square cross-section. The bottom right quadrant of the square cross-section of the bar was selected. The surface of the bar was maintained at constant temperature and temperature variation within the bar was evaluated within a time frame. The Laplace equation governing the 2-dimesional heat conduction was solved by iterative schemes as a result of the time variation. The modelled problem using COMSOL-MULTIPHYSICS software validated the result of the ADI analysis. On comparing the Modelled results from COMSOL MULTIPHYSICS and the results from ADI iterative scheme graphically, there was an high level of agreement between both results.
The comparative study of finite difference method and monte carlo method for ...Alexander Decker
This document compares the finite difference method and Monte Carlo method for pricing European options. The finite difference method solves the Black-Scholes partial differential equation by approximating it on a grid, while the Monte Carlo method simulates asset price paths and averages discounted payoffs. The study finds that while both methods agree with the Black-Scholes price, the finite difference method converges faster and is more accurate for standard European options, whereas Monte Carlo is better suited for exotic options due to its flexibility.
The document discusses pricing vanilla options in stochastic volatility market models. It presents the Heston model equations for the stock price and volatility processes. Applying Ito's lemma yields a PDE for option pricing. Several numerical methods are listed to solve this PDE, including Fourier transforms, finite differences, and Monte Carlo methods. The document also presents an approximation method where some PDE terms are set to zero, yielding simple closed-form pricing formulas for European and barrier options under the Heston model.
This document describes the development of a modular Monte Carlo pricer. It discusses including random number generators, stochastic processes, payoff structures, and underlying asset dynamics as building blocks. Various variance reduction techniques like control variates, importance sampling, and antithetic variates are compared. The pricer allows pricing European, American, and Asian options with dynamics like geometric Brownian motion and Heston processes. Greeks can also be estimated using pathwise differentiation. The pricer is implemented in MATLAB in an object-oriented way.
Pricing American Options - Duality approach in Monte CarloIlnaz Asadzadeh
The document discusses pricing American options using the duality approach in Monte Carlo simulations. It formulates the American option pricing problem as an optimal stopping problem, where the value is the expected discounted payoff under the optimal exercise rule. It approximates the continuation value function using least squares regression, simulating the regression coefficients with Monte Carlo asset price paths. The approach recursively calculates values moving backward from the expiration to price the option using the estimated continuation values.
Actuarial Application of Monte Carlo Simulation Adam Conrad
This document describes using a Monte Carlo simulation to determine the optimal monthly premium price for a term life insurance policy for a husband and wife. Random variables are generated for the ages of the husband and wife at purchase and death based on statistical data. The simulation is run 1000 times with premiums from $50 to $100 monthly. Results show a $70 monthly premium, or $35 per person, has no risk of losses and ensures total premiums exceed total claims paid.
Monte Carlo simulation is a numerical method used to model probabilistic outcomes in complex systems. It works by simulating random variables many times according to a probability distribution. This allows estimating statistics like expected values. In finance, it is commonly used to price exotic options by simulating the behavior of the underlying asset over time and calculating the option payoff. The method proceeds in stages: defining distributions, simulating variables, repeating to increase accuracy. It is flexible but computationally intensive.
Monte Carlo Simulation Of Heston Model In Matlab(1)Amir Kheirollah
The document discusses Monte Carlo simulation of the Heston stochastic volatility model. It provides background on the Black-Scholes and Heston models. Cholesky decomposition is used to simulate correlated random variables representing stock prices and volatility. MATLAB GUI is developed to price European, Asian and lookback options using Monte Carlo simulation of the Heston model. Empirical tests show the Heston model prices converge to Black-Scholes as the number of iterations increase.
Probability and random processes project based learning template.pdfVedant Srivastava
To understand the concept of Monte –Carlo Method and its various applications and it rely on repeated and random sampling to obtain numerical result.
Developing the computational algorithms to solve the problem related to random sampling.
Objective also contains simulation of specific problem in Matlab Software.
As a winner of the Nobel Prize in 1997, Black-Sholes-Merton option pricing model is perhaps the world's most well-known options pricing model developed by three economists. As a numerical method for solving PDE, finite difference method is highly praised and appreciated by the scientist, taking the advantage of both accuracy and efficiency. In this project, three different finite different methods are implemented on the Black-Sholes-Merton equation and a conclusion is obtained after a comparison in different aspects.
This document summarizes Mario Dell'Era's presentation on finding a closed solution for the Heston PDE using geometrical transformations. It describes the Heston model and the resulting PDE. Existing methods for solving the PDE numerically are outlined. Dell'Era then presents a new methodology using coordinate transformations to solve the PDE, applying three successive transformations to simplify the PDE. This results in an exponential solution for the transformed PDE.
The document outlines the topics that will be covered in Mario Dell'Era's Quantitative Analysis E-QuanT bootcamp in 2014, including estimation theory, properties of estimators, likelihood functions, Bayesian estimators, nonparametric estimation, mean square error, financial time series, empirical financial laws, returns and volatility estimators such as EWMA, ARMA, ARCH and GARCH, long-run volatility forecasting, term structure, energy markets and market models. Mario Dell'Era is a quantitative risk analyst at IntesaSanpaolo and external professor at Pisa University who will teach the bootcamp.
1) The document presents Mario Dell'Era's work on developing a geometrical approximation method for solving partial differential equations related to stochastic volatility market models.
2) The method approximates the payoff function for vanilla options like calls and puts under the Heston model by including a stochastic error term.
3) Numerical experiments show the geometrical approximation method produces option price estimates close to Fourier transform, finite difference, and Monte Carlo methods.
This document discusses quantitative finance topics including bond duration and immunization. It provides an example showing how duration and convexity can be used to approximate changes in bond prices from changes in yields. The document also discusses how to construct a bond portfolio with a target duration and convexity. Finally, it briefly defines interest rate swaps, bond options, interest rate caps, and floors.
Global Derivatives 2014 - Did Basel put the final nail in the coffin of CSA D...Alexandre Bon
FVA in presence of stochastic funding spreads, Inititial Margins and imperfect collateralisation conditions.
Since the birth of CSA discounting during the GFC, major regulatory changes have been reshaping collateral practices in a way that challenges the fundamental assumptions of the method.
Agenda:
- FVA for economic value & incremental pricing
- FVA via CSA discounting or Exposure simulation
- Funding spreads and exposure co-dependence
- Collateralisation regimes in the New Normal and Initial Margins
RiskMinds - Did Basel & IOSCO put the final nail in the coffin of CSA-discoun...Alexandre Bon
FVA in presence of stochastic funding spreads, Inititial Margins and imperfect collateralisation conditions.
Since the birth of CSA discounting during the GFC, major regulatory changes have been reshaping collateral practices in a way that challenges the fundamental assumptions of the method.
Agenda:
- FVA via CSA discounting or Exposure simulation
- Funding spreads and exposure co-dependence
- Collateralisation regimes in the New Normal and Initial Margins
- FVA/MVA for VaR-based IMs and the SBA-M
- FVA for economic value & incremental pricing
Black-Scholes Model
Introduction
Key terms
Black Scholes Formula
Black Scholes Calculators
Wiener Process
Stock Pricing Model
Ito’s Lemma
Derivation of Black-Sholes Equation
Solution of Black-Scholes Equation
Maple solution of Black Scholes Equation
Figures
Option Pricing with Transaction costs and Stochastic Volatility
Introduction
Key terms
Stochastic Volatility Model
Quanto Option Pricing Model
Key Terms
Pricing Quantos in Excel
Black-Scholes Equation of Quanto options
Solution of Quanto options Black-Scholes Equation
This document describes an uncertain volatility model for pricing equity option trading strategies when the volatilities are uncertain. It uses the Black-Scholes Barenblatt equation developed by Avellaneda et al. to derive price bounds. The model is implemented in C++ using recombining trinomial trees to discretize the asset prices over time and space. The code computes the upper and lower price bounds by solving the Black-Scholes Barenblatt PDE using numerical techniques, with the volatility set based on the sign of the option gamma.
This document compares the Black-Scholes model and Merton jump diffusion model for accurately estimating option prices. It estimates parameters for both models using historical stock price and option data from several large companies. The results do not conclusively show that Merton jump diffusion more accurately prices derivatives, but it may better approximate moments from the data. The document provides background on geometric Brownian motion, the Black-Scholes option pricing formula, and the maximum likelihood estimation and EM algorithm used to estimate Merton jump diffusion model parameters.
The objective of this chapter is to present the main ideas related to option theory
within the very simple mathematical framework of discrete-time models. Essentially,
we are exposing the first part of the paper by Harrison and Pliska (1981).
Cox, Ross and Rubinstein's model is detailed at the end of the chapter in the form
of a problem with its solution.
The document analyzes the decline of the Italian company Saras S.p.A. It begins with an overview of the company and analysis of its stock performance from 2007-2012, noting a decline coinciding with the 2008 financial crisis. It then performs a change point analysis that identifies a reduction in stock volatility in January 2012 following announcements denying rumors of delisting. The document next discusses option valuation models, focusing on the Black-Scholes model for pricing European stock options under assumptions such as stock prices following a continuous random process.
The document summarizes key aspects of the Black-Scholes model for pricing options. It discusses:
1) How the Black-Scholes model can be derived as the limiting case of the binomial model as the number of time periods approaches infinity.
2) How the Black-Scholes formula provides the same intuition as the binomial model, with the stock price weighted by the hedge ratio and strike price weighted by probability of being in-the-money.
3) Important properties of the Black-Scholes formulas, such as how they relate to forward contracts in the limits of high/low stock prices, approach a maximum value as volatility approaches zero, and can be interpreted using risk-
The document provides an overview of the Black-Scholes option pricing model (BSOPM). It describes how BSOPM calculates option prices based on stock price, strike price, time to expiration, risk-free rate, and volatility. It outlines the model's key assumptions and how each variable impacts option value. The document also discusses calculating implied volatility, historical vs implied volatility, and limitations of the BSOPM.
Peter Warken - Effective Pricing of Cliquet Options - Masters thesis 122015Peter Warken
This thesis examines pricing methods for cliquet options, a type of path-dependent option linked to equity indices. The author develops a semi-closed form pricing formula for cliquet options in a Black-Scholes market and compares it to Monte Carlo simulation. The impact of stochastic volatility and interest rates on pricing is also examined. Numerical experiments illustrate how market parameters affect cliquet option prices. The pricing approach is also applied to similar products like sum cap contracts.
The document provides an overview of the Black-Scholes option pricing model (BSOPM). It describes the key assumptions of the BSOPM, including that the underlying stock pays no dividends, markets are efficient, and prices are lognormally distributed. It also outlines how the BSOPM can be used to calculate theoretical option prices from historical data on the stock price, strike price, time to expiration, interest rate, and volatility. The document discusses implied volatility and how it differs from historical volatility, as well as limitations of the BSOPM.
Interest Rate Modeling With Cox Ingersoll Rossstretyakov
The document describes the Monte Carlo method for estimating integrals and its application to pricing financial derivatives. It discusses using Monte Carlo simulation to price a European call option and a caplet by generating random stock prices and short-term interest rates based on stochastic processes, and taking averages of the discounted payoffs over many sample paths. It also examines how the parameters of the short-rate Cox-Ingersoll-Ross model affect the generated term structure of interest rates.
A Comparison of Option Pricing ModelsEkrem Kilic 11.0.docxevonnehoggarth79783
This document compares the Black-Scholes and binomial tree models for pricing options. The Black-Scholes model provides an analytical formula but can only be used for European options, while the binomial tree model uses a numerical procedure to value both European and American options. Volatility estimation is important for both models, and the document estimates volatility using historical average, EWMA, and GARCH models. Hypothetical options are valued using both models to compare results. In general, the binomial tree model is more accurate for American options but slower than the Black-Scholes formula.
This document presents the pricing, hedging, and risk management of a portfolio containing two basket Asian options. It first describes the contractual terms of the two options and the stocks in their respective baskets. It then outlines the necessary preliminary computations, including bootstrapping the discount curve, determining reset dates, and analyzing historical stock data. The document models the stock price dynamics under both Normal Inverse Gaussian (NIG) and Geometric Brownian Motion (GBM) and prices the options using Monte Carlo simulation. It further examines the Greeks, hedging strategy, and calculates Value at Risk both with and without hedging using different approximations.
This document discusses issues with the derivation of the Black-Scholes equation and option pricing model. It highlights two popular derivations of the Black-Scholes equation, noting ambiguities in the original derivation. It proposes defining the hedged portfolio over a variable time interval to address these ambiguities. The document also notes drawbacks of the Black-Scholes price, including that it only guarantees a risk-free return over an infinitesimal time period and does not reflect market prices which may incorporate other strategies.
The document summarizes the Black-Scholes formula for pricing European call options. It describes the assumptions made, such as stock prices following geometric Brownian motion and constant interest rates. It then shows how applying Ito's lemma and constructing a riskless portfolio leads to a partial differential equation. The Black-Scholes formula is obtained by solving this equation, with the option price a function of the stock price, strike price, time to maturity, interest rate and volatility. Extensions to puts, implied volatility and American options are also briefly discussed.
Derivatives pricing and Malliavin CalculusHugo Delatte
1. The document discusses using Malliavin calculus to compute Greeks, which measure the sensitivity of derivative prices to changes in variables like the underlying asset price. Malliavin calculus can improve the convergence speed for computing Greeks compared to finite difference methods, especially for options with discontinuous payoffs.
2. Traditional approaches to computing Greeks include using binomial trees or the Black-Scholes PDE. Finite difference methods introduce errors from both the Monte Carlo simulation and the derivative approximation. Malliavin calculus avoids differentiating the discontinuous payoff function.
3. The document provides an overview of Malliavin calculus, including the Malliavin derivative operator and integration by parts formula. It then compares
Option Pricing Models Lecture NotesThis week’s assignment is .docxhopeaustin33688
Option Pricing Models Lecture Notes:
This week’s assignment is quite complex. Keep in mind that the theory behind these pricing models is the important thing to remember for this week’s assignment.
If you feel the need to understand the Black Scholes (BSOPM) model in greater detail, I direct you to and http://en.wikipedia.org/wiki/Black_Scholes.
The models we discuss this week can be used via MS Excel templates, which you will find uploaded to the course content section of our classroom under this week’s folder. There is also an alternative calculator, courtesy of 888options.com located at the Binomial & Black Scholes Calculator link. I strongly encourage you to try these out to get a feel for how the different variables play into the final determination of pricing.
1. Binomial options pricing model
In finance, the binomial options pricing model provides a generalisable numerical method for the valuation of options. The binomial model was first proposed by Cox, Ross and Rubinstein (1979). Essentially, the model uses a "discrete-time" model of the varying price over time of the underlying financial instrument. Option valuation is then via application of therisk neutrality assumption over the life of the option, as the price of the underlying instrument evolves.
Use of the model
The Binomial options pricing model approach is widely used as it is able to handle a variety of conditions for which other models cannot easily be applied. This is largely because the BOPM models the underlying instrument over time - as opposed to at a particular point. For example, the model is used to value American options which can be exercised at any point and Bermudan options which can be exercised at various points.
The model is also relatively simple, mathematically, and can therefore be readily implemented in a software (or even spreadsheet) environment. Although slower than the Black-Scholes model, it is considered more accurate, particularly for longer-dated options, and options on securities with dividend payments. For these reasons, various versions of the binomial model are widely used by practitioners in the options markets.
For options with several sources of uncertainty (e.g. real options), or for options with complicated features (e.g. Asian options), lattice methods face several difficulties and are not practical. Monte Carlo option models are generally used in these cases. Monte Carlo simulation is, however, time-consuming in terms of computation, and is not used when the Lattice approach (or a formula) will suffice. See Monte Carlo methods in finance.
Methodology
The binomial pricing model uses a "discrete-time framework" to trace the evolution of the option's key underlying variable via a binomial lattice (tree), for a given number of time steps between valuation date and option expiration.
Each node in the lattice represents a possible price of the underlying, at a particular point in time. This price evolution forms the basis for t.
The document summarizes key concepts related to the Black-Scholes partial differential equation. It introduces Black-Scholes, which revolutionized finance by finding the fair price of derivatives. The formula was derived from the heat equation and allowed investors to earn maximum profits without risk. It discusses the variables in the Black-Scholes equation like stock price, exercise price, volatility and risk-free rate. An example valuation of a call and put option is shown. The document also covers fundamental concepts like interest rates, probability, expected value, and continuous random variables.
Fair valuation of participating life insurance contracts with jump riskAlex Kouam
A C++ based program which prices the fair value of a participating life insurance whereby the underlying follows a Kou process and the insurer's default occurs only at contract's maturity.
The document discusses option valuation and pricing models. It introduces the one-period and two-period binomial option pricing models for calculating option prices before expiration. It then covers the Black-Scholes option pricing model, which uses five key inputs - the stock price, strike price, risk-free interest rate, time to expiration, and stock price volatility - to price European stock options. The document provides an example of using the Black-Scholes formula to compute the prices of a call and put option. It also demonstrates verifying the results using put-call parity.
This document discusses numerical methods for pricing financial derivatives. It covers discrete and continuous time frameworks, American and path-dependent options, and Monte Carlo simulation. The key points are:
1) Discrete models compute expected value through backward recursion on a lattice, allowing early exercise of American options. Continuous models generalize Black-Scholes.
2) Path-dependent options like lookbacks require Markovianization by introducing an auxiliary state variable. Lattice methods can be refined non-uniformly using adaptive meshing.
3) Monte Carlo simulation prices derivatives through discretization and sampling, with techniques to reduce variance like control variates.
Similar to Solution to Black-Scholes P.D.E. via Finite Difference Methods (MatLab) (20)
ViewShift: Hassle-free Dynamic Policy Enforcement for Every Data LakeWalaa Eldin Moustafa
Dynamic policy enforcement is becoming an increasingly important topic in today’s world where data privacy and compliance is a top priority for companies, individuals, and regulators alike. In these slides, we discuss how LinkedIn implements a powerful dynamic policy enforcement engine, called ViewShift, and integrates it within its data lake. We show the query engine architecture and how catalog implementations can automatically route table resolutions to compliance-enforcing SQL views. Such views have a set of very interesting properties: (1) They are auto-generated from declarative data annotations. (2) They respect user-level consent and preferences (3) They are context-aware, encoding a different set of transformations for different use cases (4) They are portable; while the SQL logic is only implemented in one SQL dialect, it is accessible in all engines.
#SQL #Views #Privacy #Compliance #DataLake
4th Modern Marketing Reckoner by MMA Global India & Group M: 60+ experts on W...Social Samosa
The Modern Marketing Reckoner (MMR) is a comprehensive resource packed with POVs from 60+ industry leaders on how AI is transforming the 4 key pillars of marketing – product, place, price and promotions.
The Ipsos - AI - Monitor 2024 Report.pdfSocial Samosa
According to Ipsos AI Monitor's 2024 report, 65% Indians said that products and services using AI have profoundly changed their daily life in the past 3-5 years.
06-04-2024 - NYC Tech Week - Discussion on Vector Databases, Unstructured Data and AI
Round table discussion of vector databases, unstructured data, ai, big data, real-time, robots and Milvus.
A lively discussion with NJ Gen AI Meetup Lead, Prasad and Procure.FYI's Co-Found
State of Artificial intelligence Report 2023kuntobimo2016
Artificial intelligence (AI) is a multidisciplinary field of science and engineering whose goal is to create intelligent machines.
We believe that AI will be a force multiplier on technological progress in our increasingly digital, data-driven world. This is because everything around us today, ranging from culture to consumer products, is a product of intelligence.
The State of AI Report is now in its sixth year. Consider this report as a compilation of the most interesting things we’ve seen with a goal of triggering an informed conversation about the state of AI and its implication for the future.
We consider the following key dimensions in our report:
Research: Technology breakthroughs and their capabilities.
Industry: Areas of commercial application for AI and its business impact.
Politics: Regulation of AI, its economic implications and the evolving geopolitics of AI.
Safety: Identifying and mitigating catastrophic risks that highly-capable future AI systems could pose to us.
Predictions: What we believe will happen in the next 12 months and a 2022 performance review to keep us honest.
Beyond the Basics of A/B Tests: Highly Innovative Experimentation Tactics You...Aggregage
This webinar will explore cutting-edge, less familiar but powerful experimentation methodologies which address well-known limitations of standard A/B Testing. Designed for data and product leaders, this session aims to inspire the embrace of innovative approaches and provide insights into the frontiers of experimentation!
End-to-end pipeline agility - Berlin Buzzwords 2024Lars Albertsson
We describe how we achieve high change agility in data engineering by eliminating the fear of breaking downstream data pipelines through end-to-end pipeline testing, and by using schema metaprogramming to safely eliminate boilerplate involved in changes that affect whole pipelines.
A quick poll on agility in changing pipelines from end to end indicated a huge span in capabilities. For the question "How long time does it take for all downstream pipelines to be adapted to an upstream change," the median response was 6 months, but some respondents could do it in less than a day. When quantitative data engineering differences between the best and worst are measured, the span is often 100x-1000x, sometimes even more.
A long time ago, we suffered at Spotify from fear of changing pipelines due to not knowing what the impact might be downstream. We made plans for a technical solution to test pipelines end-to-end to mitigate that fear, but the effort failed for cultural reasons. We eventually solved this challenge, but in a different context. In this presentation we will describe how we test full pipelines effectively by manipulating workflow orchestration, which enables us to make changes in pipelines without fear of breaking downstream.
Making schema changes that affect many jobs also involves a lot of toil and boilerplate. Using schema-on-read mitigates some of it, but has drawbacks since it makes it more difficult to detect errors early. We will describe how we have rejected this tradeoff by applying schema metaprogramming, eliminating boilerplate but keeping the protection of static typing, thereby further improving agility to quickly modify data pipelines without fear.
STATATHON: Unleashing the Power of Statistics in a 48-Hour Knowledge Extravag...sameer shah
"Join us for STATATHON, a dynamic 2-day event dedicated to exploring statistical knowledge and its real-world applications. From theory to practice, participants engage in intensive learning sessions, workshops, and challenges, fostering a deeper understanding of statistical methodologies and their significance in various fields."
Solution to Black-Scholes P.D.E. via Finite Difference Methods (MatLab)
1. 1
AMA 3021: Computational Finance
Business Project 2
Black-Scholes Solution by Finite Differences
Fynn McKay
(40099355)
Submission: 17th Dec 2015
School of Mathematics and Physics
2. 2
Contents
1. Executive Summary
2. Introduction
2.1. Question
2.2. Background Information
2.3. Other Applications
3. Mathematical Theory and Numerical Methods
3.1. Black-Scholes Model
3.2. Method of Finite Differencing
3.3. Implementation of Matrix Notation
3.4. Algorithm and Code
4. Results and Discussion
4.1. Tabulated Figures and Graphs
4.2. Numerical Accuracy
5. Conclusion
5.1. Reiteration of Main Findings
5.2. Closing Remarks: Drawbacks of B-S and What Next?
6. Appendix
7. References
3. 3
1. Executive Summary
Write a program (in MATLAB or C/C++) to calculate the Put option price p given data for the strike
price X, risk-free interest rate r, volatility σ and time to expiry T.
This report was commissioned to solve the Black-Scholes Equation by iterative Finite Difference
Methods in order to attain the fair price of an IBM European Put Option. The results were as follows;
Figure 1: Table of Put Option Values at Varying Strike Prices and Plot of Put
Payoffs at different Time Intervals up to Maturity (For a Strike of X=$110)
Strike Price
$X
European Put Option Price
$P(t,S)
110 0.19236
120 0.96259
130 3.1222
140 7.3562
150 13.753
160 21.828
170 30.924
180 40.531
From the calculation of the above data, we have been able to conclude that as the strike price
exceeded the original share price ($138.50), the payoff of the Put option increased as would be
expected of a Put option at any point in time. More interestingly we have been able to highlight that
as time moved further from maturity the Payoff curve became more rounded around the strike
price representing the inherent uncertainty of share price fluctuations as we iterate back in time
using Finite Differences and hence the resultant uncertainty in the payoff of the Put option at any
point before maturity.
4. 4
2. Introduction
2.1. Question
Write a program (in MATLAB or C/C++) to calculate the Put option price p given data for the strike
price X, risk-free interest rate r, volatility σ and time to expiry T.
Do this by writing the Black-Scholes Equation as a finite-difference equation and then integrating
backwards in time from the expiry date to find the Put price, given the current spot price.
Use the following IBM Put option figures to do so;
Current IBM spot price (As of November 28th 2015): S0=£138.50
Risk-free interest rate: r=1.0% per Annum
Put option expiry: July 15th 2016
Current Volatility of IMB stock: σ=16%
2.2. Background Information
Before delving into the intricacies of the Black-Scholes (B-S) Formula and the iterative numerical
methods required to solve it, it is important to add context to our problem to allow for a better
grasp of the issue at hand.
2.2.1. Derivatives
A derivative is the name given to the group of securities which derive their price from the
performance of one or more underlying assets. The process involves two or more parties entering
into a contract that agrees terms for the potential exchanging of assets at or before some maturity
T, depending on the fluctuations of the underlying assets price.
Derivatives themselves come in varying forms and levels of complexity however for the purpose of
this project we shall be focusing on European/Vanilla options, more specifically longing European
Put options. European options differ from their American/Asian counterparts in that they can only
be exercised at maturity and hence tend to trade at a discount relative to their more flexible
counterparts.
"Longing European Put options" hence refers to the process of buying the right (but not the
obligation) to sell the underlying asset to a counterparty, for an agreed strike price X, at some point
in the future T. Therefore by denoting the underlying asset's final price as St, we can state that at a
maturity T, the payoff of a European option is described by;
Payoff = {
Max[St − X, 0] for a Long Call Option
Max[X − St, 0] for a Long Put Option
(1)
5. 5
2.2.2. Black-Scholes Origins
"Up until the time when Black and Scholes came up with their insight, the options world was full of
uncertainty and risk - uncontrollable and unanalysable. Then, in a moment of tremendous clarity,
Black and Scholes realised that two risky positions taken together could effectively eliminate risk
itself. In that moment of brilliance they created, arguably, the most important equation in the history
of modern day finance." Stan Jonas, MD FIMAT USA
Published in 1973, "The Pricing of Options and Corporate Liabilities"[1]
is the crowning achievement
of both Fischer Black and Myron Scholes and was the basis on which Myron Scholes and Robert
Merton were awarded the 1997 Nobel Prize for Economic Sciences.
In their paper they introduced a Mathematical model that allowed for calculation of the fair price of
a European option at any point up to and including its maturity. Using a no arbitrage assumption
they derived the following PDE in terms of time to maturity t, and the underlying asset price S, which
models the progression of a European option's price V, prior to expiration;
𝜕𝑉
𝜕𝑡
+
1
2
𝜎2
𝑆2 𝜕2 𝑉
𝜕𝑆2
+ 𝑟𝑆
𝜕𝑉
𝜕𝑆
− 𝑟𝑉 = 0
Notably, due to the simplicity of European options we can derive analytical, Closed Form Solutions
for the above Black-Scholes PDE, something which cannot be done for more exotic, complex options
(American/Asian).
The following is the Closed Form Solution for a European Put option;[1]
𝑃(𝑡, 𝑆) = 𝑋𝑒−𝑟𝑡
𝑁(−𝑑2) − 𝑆𝑁(−𝑑1)
where N(.) is the cumulative distribution function of the standard normal distribution and d1 and d2
are variables which will be described later in our code.
2.2.3. Assumptions of Black-Scholes[2]
Whilst some (or arguably all) of the following assumptions can be disputed to some degree, they are
still fundamental in our ability to understand the basics of the Black-Scholes Model and will be
important to know when we later look at the derivation of the model itself.
They are as follows;
No arbitrage opportunities exist within the market
Delta Hedging is done continuously
Assets award no dividends and no transaction costs exist
Risk-free interest rate (r) is a function of time and individuals are free to lend and borrow at
the rate r as they please
Returns on underlying stocks are log-normally distributed
Markets are efficient
(3)
(2)
6. 6
2.3. Other Applications[2]
Whilst we will mainly be looking at how to apply the Black-Scholes PDE to Vanilla options, the
equation has a number of other applications outside of options pricing.
Examples of such additional applications include;
Guarantees and Insurance contracts: Both give the right (but not obligation) to be exploited
under certain conditions. Hence those who purchase or are in possession of either contracts
could be considered to hold a kind of option, which Black-Merton-Scholes' methodology has
allowed the pricing of in many cases.
Investment Decision Flexibility: The flexibility of energy suppliers (in commodities such as
coal and oil) to stop and start production in accordance with market demand is another
example of how B-S can be applied elsewhere. For certain investors the ability to accurately
price said flexibility is fundamental in their investment strategy and B-S has allowed a
platform from which such prices can be derived.
Notably, the B-S Model can also still be used in the pricing of more exotic options such as those of
the aforementioned Asian and American variety however, due to their ability to be exercised at any
point in time, the coding and iterative requirements for the calculation of their fair price is
considerably more demanding.
7. 7
3. Mathematical Theory and Numerical Methods
3.1. Black-Scholes Model
In the following section we will look at the derivation of the Black-Scholes Equation based on the
assumptions made earlier.
3.1.1. Derivation of the Black-Scholes Model[3]
We will assume that the change in a stock's price over time can be modelled as a stochastic
differential equation i.e. Geometric Brownian Motion[4]
;
𝑑𝑆𝑡 = 𝜇 𝑑 𝑆𝑡 𝑑𝑡 + 𝜎𝑆𝑡 𝑍√𝑑𝑡
where µd denotes drift rate, σ denotes volatility of the asset and Z denotes a normally distributed
random variable.
For ease of further calculation we shall replace our stochastic element 𝑍√𝑑𝑡 with a single variable
dW such that;
𝑑𝑆𝑡 = 𝜇 𝑑 𝑆𝑡 𝑑𝑡 + 𝜎𝑆𝑡 𝑑𝑊
Hence if we look to estimate the value of an option at any time t before maturity, we must
understand how V, the price of an option, evolves as a function of S and t.
As V is a time-dependent function of a stochastic process we can hence use Itô's lemma to find its
differential;
𝑑𝑉 = (𝜇𝑆
𝜕𝑉
𝜕𝑆
+
𝜕𝑉
𝜕𝑡
+
1
2
𝜎2
𝑆2 𝜕2 𝑉
𝜕𝑆2) 𝑑𝑡 + 𝜎𝑆
𝜕𝑉
𝜕𝑆
𝑑𝑊
Now consider constructing a portfolio consisting of 2 positions at time t: Short one (unspecified)
option and long
𝜕𝑉
𝜕𝑆
shares in the underlying security. This position is described as a delta-hedge
portfolio and is used to reduce the randomness in our PDE to 0. It can be written;
𝛱 =
𝜕𝑉
𝜕𝑆
𝑆 − 𝑉
By considering a small change in time, the resultant profit/loss due to changes in our underlying
security is described as;
𝛥𝛱 =
𝜕𝑉
𝜕𝑆
𝛥𝑆 − 𝛥𝑉
(4)
(5)
(6)
(7)
(8)
8. 8
Similarly we can discretize our previous 2 equations (5) and (6) by replacing our differentials with
deltas, hence we write;
𝛥𝑆𝑡 = 𝜇 𝑑 𝑆𝑡 𝛥𝑡 + 𝜎𝑆𝑡 𝛥𝑊
𝛥𝑉 = (𝜇𝑆
𝜕𝑉
𝜕𝑆
+
𝜕𝑉
𝜕𝑡
+
1
2
𝜎2
𝑆2
𝜕2
𝑉
𝜕𝑆2
) 𝛥𝑡 + 𝜎𝑆
𝜕𝑉
𝜕𝑆
𝛥𝑊
Subbing into (8) our expression becomes;
𝛥𝛱 =
𝜕𝑉
𝜕𝑆
(𝜇 𝑑 𝑆𝑡 𝛥𝑡 + 𝜎𝑆𝑡 𝛥𝑊) − (𝜇𝑆
𝜕𝑉
𝜕𝑆
+
𝜕𝑉
𝜕𝑡
+
1
2
𝜎2
𝑆2 𝜕2 𝑉
𝜕𝑆2) 𝛥𝑡 + 𝜎𝑆
𝜕𝑉
𝜕𝑆
𝛥𝑊
Which reduces down to;
𝛥𝛱 = (−
𝜕𝑉
𝜕𝑡
−
1
2
𝜎2
𝑆2 𝜕2 𝑉
𝜕𝑆2) 𝛥𝑡
At this point we can notice 2 things. Our 𝛥𝑊 has cancelled out and hence effectively removed the
uncertainty associated within our portfolio. This in turn implies that our portfolio must have a return
equal to other riskless instruments on the market otherwise an arbitrage situation would arise,
violating one of our initial assumptions.
Hence assuming a risk-free rate of return r over a time period 𝛥𝑡, we can write;
𝛥𝛱 = 𝑟𝛱𝛥𝑡
Therefore if we fill in equations (7) and (11) we have;
(−
𝜕𝑉
𝜕𝑡
−
1
2
𝜎2
𝑆2 𝜕2 𝑉
𝜕𝑆2) 𝛥𝑡 = 𝑟 (
𝜕𝑉
𝜕𝑆
𝑆 − 𝑉) 𝛥𝑡
Finally by simplifying we arrive at our previously stated Black-Scholes PDE;
𝜕𝑉
𝜕𝑡
+
1
2
𝜎2
𝑆2
𝜕2
𝑉
𝜕𝑆2
+ 𝑟𝑆
𝜕𝑉
𝜕𝑆
− 𝑟𝑉 = 0
3.2 Finite Differences Method[4]
The finite differences method is a form of numerical analysis used to iteratively solve certain forms
of ordinary and partial differential equations. We will hence be using it in order to solve the B-S PDE
for the fair price of a European Put option.
We begin by first creating a grid formed from discretizing both our S and t values, then define the
boundary conditions of a European Put to later be implemented in the code. From here we then look
to use Taylor approximations for the derivatives in our model so that we are able to iteratively solve
for the price of our European Put in MATLAB and finally we redefine the B-S Model in terms of our
newly derived Taylor approximations.
(9)
(10)
(11)
(12)
(13)
(14)
9. 9
3.2.1. Formation of Finite-Difference Grid
Our first step involves splitting both our time and price intervals such that;
Discretize Time: 0 ≤ 𝑡 ≤ 𝑇
𝑡 = 0, 𝑡1, . . . , 𝑡𝑖, . . . , 𝑡 𝑁
𝑡𝑖 = 𝑖𝛿𝑡 , 𝑖 = 0,1,2, . . . , 𝑁
Discretize Price: 𝑆 𝑚𝑖𝑛 ≤ 𝑆 ≤ 𝑆 𝑚𝑎𝑥
𝑆 = 0, 𝑆1, . . . , 𝑆𝑗−1, 𝑆𝑗, 𝑆𝑗+1, . . . , 𝑆 𝑀
𝑆𝑗 = 𝑗𝛿𝑆 , 𝑗 = 0,1,2, . . . , 𝑀
Figure 2: Example of a Finite-Difference Grid
By dividing our price and time into sufficiently small intervals we can form the above grid which will
be combined with our initial boundary conditions and our Taylor approximations to integrate
backwards over in order to iteratively solve our differential equation.
𝜹𝒕
𝜹𝑺
(15)
(16)
𝑻(𝑴𝒂𝒕𝒖𝒓𝒊𝒕𝒚)
𝑺 𝒎𝒂𝒙
𝑺 𝒎𝒊𝒏
𝑿(𝑬𝒙𝒂𝒎𝒑𝒍𝒆)
𝑰𝒎𝒑𝒍𝒊𝒄𝒊𝒕
𝑬𝒙𝒑𝒍𝒊𝒄𝒊𝒕
𝑺 𝟎
10. 10
3.2.2. Put Boundary Conditions
There are a number of boundary conditions for European Put options which we must consider in
order to allow ourselves the ability to code our Finite Solutions Algorithm in the next section. I will
provide no derivation of said boundaries as they pertain more to common sense than mathematical
theory.
Instead, I will simply state the boundaries below with a small explanation;
𝑃(𝑇, 𝑆) = 𝑀𝑎𝑥[𝑋 − 𝑆𝑡, 0] (as previously stated in (1))
𝑃(𝑡, 0) = 𝑋𝑒−𝑟𝑡
: Max[X-0, 0] = X for X>0. Hence, at any time t, to attain the present
value of X we discount it continuously by discount factor e-rt
.
𝑃(𝑡, 𝑆𝑡 → ∞) = 0 : As St tends to infinity our strike price X becomes comparatively small
hence tending towards Max[-St,0]=0 since negative share prices are impossible.
3.2.3. Framing our Intervals and Boundaries is terms of grid notation
We will first reiterate our grid and boundary conditions;
𝐷𝑖𝑠𝑐𝑟𝑒𝑡𝑖𝑠𝑒𝑑 𝑇𝑖𝑚𝑒 ∶ {0, 𝛿𝑡, 2𝛿𝑡, . . . , 𝑁𝛿𝑡} 𝑤ℎ𝑒𝑟𝑒 𝑁𝛿𝑡 = 𝑇
𝐷𝑖𝑠𝑐𝑟𝑒𝑡𝑖𝑠𝑒𝑑 𝑃𝑟𝑖𝑐𝑒 ∶ {0, 𝛿𝑆, 2𝛿𝑆, . . . , 𝑀𝛿𝑆} 𝑤ℎ𝑒𝑟𝑒 𝑀𝛿𝑆 = 𝑆 𝑚𝑎𝑥
We will also denote the value of our Put function as the above variables change;
𝑃𝑖,𝑗 = 𝑃(𝑖𝛿𝑡, 𝑗𝛿𝑆) 𝑤ℎ𝑒𝑟𝑒 𝑖 = 0,1, . . . , 𝑁 𝑎𝑛𝑑 𝑗 = 0,1, . . . , 𝑀
And hence our previous boundary conditions (17) expressed in terms of our grid are;
𝑃𝑖,0 = 𝑋𝑒−𝑟(𝑁−𝑖)𝛿𝑡
𝑤ℎ𝑒𝑟𝑒 𝑖 = 0,1, . . . , 𝑁
𝑃𝑖,𝑀 = 0 𝑤ℎ𝑒𝑟𝑒 𝑖 = 0,1, . . . , 𝑁
𝑃 𝑁,𝑗 = 𝑀𝑎𝑥[𝑋 − (𝑗𝛿𝑆), 0] 𝑤ℎ𝑒𝑟𝑒 𝑗 = 0,1, . . . , 𝑀
3.2.4. Finite Differences PDE approximations
In our problem we are asked to solve the B-S PDE which we have chosen to do implicitly. We hence
require our above boundary conditions as well as the following derivative terms in order to solve our
problem backwards in time, starting at maturity and working backwards toward present time.
This is done by replacing the partial derivatives in our PDE with Taylor expansion approximations
near the points of interest.
For example we can derive the Forward (and Backward) Difference approximation's to 1st Order DE
by first considering the Taylor Approximation;
𝜕𝑃𝑖,𝑗
𝜕𝑡
=
𝑃𝑖+1,𝑗 − 𝑃𝑖,𝑗
𝛿𝑡
−
𝛿𝑡
2!
𝜕2
𝑃𝑖,𝑗
𝜕𝑡2
+ . . .
(18)
(19)
(20)
(21)
(17)
11. 11
And then by gathering and later discarding our higher order terms giving us;
𝐹𝑜𝑟𝑤𝑎𝑟𝑑 ∶
𝜕𝑃 𝑖,𝑗
𝜕𝑡
≈
𝑃 𝑖+1,𝑗−𝑃 𝑖,𝑗
𝛿𝑡
+ O(𝛿𝑡)
𝐵𝑎𝑐𝑘𝑤𝑎𝑟𝑑 ∶
𝜕𝑃𝑖,𝑗
𝜕𝑡
≈
𝑃𝑖,𝑗 − 𝑃𝑖−1,𝑗
𝛿𝑡
+ O(𝛿𝑡)
By a similar process we can also derive our Central Difference approximation to 1st Order DE by
again looking at the Taylor expansions;
𝜕𝑃 𝑖,𝑗+1
𝜕𝑆
= 𝑃𝑖,𝑗 +
𝛿𝑆
1!
𝜕𝑃 𝑖,𝑗
𝜕𝑆
+
(𝛿𝑆)2
2!
𝜕2 𝑃 𝑖,𝑗
𝜕𝑆2
+ . . .
𝜕𝑃 𝑖,𝑗−1
𝜕𝑆
= 𝑃𝑖,𝑗 −
𝛿𝑆
1!
𝜕𝑃 𝑖,𝑗
𝜕𝑆
+
(𝛿𝑆)2
2!
𝜕2 𝑃 𝑖,𝑗
𝜕𝑆2
− . . .
Then subtracting and later discarding higher order terms producing;
𝐶𝑒𝑛𝑡𝑟𝑎𝑙 ∶
𝜕𝑃 𝑖,𝑗
𝜕𝑆
≈
𝑃 𝑖,𝑗+1−𝑃 𝑖,𝑗−1
2𝛿𝑆
+ O( 𝛿𝑆)2
And hence by a similar process as the above derivation only this time by adding, we can derive the
2nd Order Central Difference approximation giving us;
𝐶𝑒𝑛𝑡𝑟𝑎𝑙 ∶
𝜕2 𝑃 𝑖,𝑗
𝜕𝑆2
≈
𝑃 𝑖,𝑗+1−2𝑃 𝑖,𝑗+𝑃 𝑖,𝑗−1
(𝛿𝑆)2
+ O( 𝛿𝑆)2
Equipped now with the approximations for our derivatives, we can rewrite the B-S equation (14) in
terms of our newly derived backwards and central difference expressions;
𝑃𝑖+1,𝑗 − 𝑃𝑖,𝑗
𝛿𝑡
+
1
2
𝜎2( 𝑗𝛿𝑆)2
𝑃𝑖,𝑗+1 − 2𝑃𝑖,𝑗 + 𝑃𝑖,𝑗−1
( 𝛿𝑆)2
+ 𝑟( 𝑗𝛿𝑆)
𝑃𝑖,𝑗+1 − 𝑃𝑖,𝑗−1
2𝛿𝑆
− 𝑟𝑃𝑖,𝑗 = 0
Finally, by algebraic rearranging, we end up with the formula we shall program in the next section to
attain our results;
𝑃𝑖+1,𝑗 = 𝛼𝑗 𝑃𝑖,𝑗−1 + 𝛽𝑗 𝑃𝑖,𝑗 + 𝛾𝑗 𝑃𝑖,𝑗+1
𝑤ℎ𝑒𝑟𝑒 𝛼𝑗 =
1
2
𝛿𝑡( 𝑟𝑗 − 𝜎2
𝑗2) 𝛽𝑗 = 1 + ( 𝜎2
𝑗2
+ 𝑟) 𝛿𝑡 𝛾𝑗 = −
1
2
𝛿𝑡(𝑟𝑗 + 𝜎2
𝑗2
)
With this expression, along with our aforementioned grid and boundary conditions, we are now
equipped to iteratively solve the Black-Scholes equation by way of the Implicit Finite-Differencing
method using the previously stated information on IBM Put options.
Worth noting is that for each time step we will have a set of M-1 equations with M-1 unknowns to
solve for, as will be seen in the following matrices.
(22)
(23)
(24)
(25)
(26)
(27)
(28)
(29)
12. 12
3.3 Implementation of Matrix Notation
Since we know that by definition the Implicit Difference method solves our set of unknowns
backwards in time, we can see that equation (29) essentially states that we will implicitly calculate 3
unknowns further back in time using one known value in the current time frame.
This is easier understood by considering the following diagram and Matrix notation.
Figure 3: Implicit Finite Difference Method as a Trinomial Tree[5]
Due to the iterative intensity of the Implicit Finite Differences method, the use of some form of
programming is a fundamental necessity to finding a correct solution to our problem.
Hence for the purposes of implementing equation (29) into MATLAB we shall rewrite it in terms of
the following Matrix Notation;
𝐴𝑃𝑖 = 𝑃𝑖+1 − 𝐶𝑖
𝑷𝒊+𝟏,𝒋
𝑷𝒊,𝒋+𝟏
𝑷𝒊,𝒋
𝑷𝒊,𝒋−𝟏
(30)
13. 13
Where Pi represents a matrix of Put solutions at time iδt;
𝑃𝑖 =
(
𝑃𝑖,1
𝑃𝑖,2
⋮
𝑃𝑖,𝑀−2
𝑃𝑖,𝑀−1 )
C represents a matrix containing 2 edge conditions, notably where the second will always equal 0;
𝐶𝑖 =
(
𝛼1 𝑃𝑖,0
0
⋮
0
𝛾 𝑀−1 𝑃𝑖,𝑀 )
Finally A represents a diagonal, square (by necessity) matrix of constants from equation (29) with
dimensions (M-1)x(M-1);
A=
(
𝛽1 𝛾1 0
𝛼2 𝛽2 𝛾2
0 𝛼3 𝛽3
⋯
⋯
⋯
0 0
0 0
0 0
⋮ ⋮ ⋮ ⋱ ⋮ ⋮
0 0 0 ⋯ 𝛼 𝑀−1 𝛽 𝑀−1)
And hence following the formation of these Matrices we will invert our Matrix of constants A to
solve for our Put price backwards in time from Pi+1 ;
𝑃𝑖 = 𝐴−1
(𝑃𝑖+1 − 𝐶𝑖)
3.4 Algorithm and Code
The methodology behind the following code is as follows;
Set up initial variable values as well as parameters necessary for forming our grid of Put
prices. Arbitrarily choose a sensible number of price steps and time steps over which we
seek to integrate. Create 2 variables ‘Sgrid’ and ‘Tgrid’ which mirror the function of
equations (18) noting that ‘Tgrid’ will move backwards in time starting at maturity as
previously detailed.
Create matrix of different Put prices at varying S and t i.e. ‘solngrid’, initialise as a matrix of
zero’s and add in boundary conditions from equations (20), setting values for the initial row
of the matrix (S=0), final column of the matrix (t=T i.e. maturity) and the final row of the
matrix(S=Smax hence P(t,S)=0). Also code variables for αj, βj and γj as detailed in (29).
Create the tri-diagonal matrix A (33) by creating 3 diagonalised matrices of size (M-1)x(M-1),
with alphas offset down 1 position, betas taking the leading diagonal and gamma’s being
offset up one position as seen above, and sum them to form Matrix A.
(31)
(32)
(33)
(34)
14. 14
Finally create Matrix C, ensuring it has the number of rows equal to the number of columns
in A and implement in into our for loop. The for loop, starting at maturity and S=0, will use
values of Pi+1,j to calculate values for Pi,j for all possible prices before “taking a step”
backwards in time and repeating this process. By doing this for all values of t up to current
time we will have created a grid of all possible Put option prices, with the first column of the
“solngrid” representing what fair price of P(t,S) should be at the current time for all S.
%% PLEASE NOTE: Indexes will be displaced by one compared to the above sets
of matrices due to MATLAB conventions i.e. a_1=a(2) for j=0:M etc.
S=138.50; %% Initial Share Price
r=0.01; %% Risk-Free Interest Rate
sigma=0.16; %% Volatility
X=110; %% Example Strike Price
T=0.632876712; %% Years until Expiry
%% Grid Parameters %%
M=250; %% Asset Grid points
N=2310; %% Time Grid points
Szero=0; %% Specify Minimum Share Price
Smax=250; %% Specify Maximum Share Price
%% Grid Setup and Boundary Conditions %%
j=0:M; %% Set up j vector
dt=T/N; %% Construct time step
ds=Smax/M; %% Construct price step
solngrid=zeros(M+1,N+1); %% Initialise Grid i.e. 251x2311 matrix
Sgrid=0:ds:Smax; %% Positive, equally spaced price steps
. %% i.e. 251 elements
Tgrid=T:-dt:0; %% Negative(Backward), equally spaced
ti %% time steps i.e. 2311 elements
solngrid(1,:)=X*exp(-r*Tgrid); %% Boundary Condition : Price=0
solngrid(:,end)=max(X-Sgrid,0); %% Boundary Condition : Payoff of Put
solngrid(end,:)=0; %% Boundary Condition : Price tending
to %% to "infinity"
alpha=(1/2)*dt*(r*j-sigma^2*j.^2); %(29) function alpha
beta=1+(sigma^2*j.^2 +r)*dt; %(29) function beta
gamma=-(1/2)*dt*(r*j+sigma^2*j.^2); %(29) function gamma
%% Construction of Soln Matrix %%
A=diag(alpha(3:M),-1)+diag(beta(2:M))+diag(gamma(2:M-1),1);
% Here we create Matrix (33) with betas on the leading diagonal, alphas
% offset down(-1) and gammas offset up (+1)
Ainv=inv(A); % Create inverse of A to test stability
normi=norm(Ainv,inf); % Stability Test
C=zeros(size(A,2),1); %Create matrix of 0's w/1 column and number of rows
= =no. of columns in A
for i=N:-1:1 %For loop solves our M-1 eqns for every time grid point N=2310
C(1)=alpha(2)*solngrid(1,i); % first element of C
C(end) = gamma(end)*solngrid(end,i); % Will always be zero as
previously previously stated hence irrelevant
solngrid(2:M,i)=A(solngrid(2:M,i+1)-C); %Inverted matrix soln for P_i
end
EuropeanPutOptionPrice=interp1(Sgrid,solngrid(:,1),S) %Finally interpolate
between ds intervals to get exact price for any possible S value 0 upto 250
15. 15
4. Results and Discussion
In this section we will look to analyse the figures that our code has produced for the fair price of an
IBM European Put Option as well as consider how these figures compare against the markets
opinion of what a fair price should be.
We will also look to consider where some error may lie within our approximation and how we
might/have combated .
4.1 Tabulated Figures and Graphs
Given the initial condition's laid out for our task, we can now use our code to calculate the fair price
of an IBM European Put option P(t,S), over a variety of different strike prices. In the displayed code I
opted to show the algorithm for a strike price X=$110, however any of the other given strike price's
would be equally valid.
Below is a plot of the progression of P(t,S) as time and share price vary across our predesignated
ranges, again with strike price X=$110. Refer to Executive Summary or Appendix (3) for cross-plots.
Figure 4: Progression of European Put Option over t and S (Strike X=$110)
mesh(Tgrid,Sgrid,solngrid) %3-D plot of Solution Grid
xlabel("Time t") %Plot labels
ylabel("Price of Asset, S")
zlabel("Price P(t,S)")
16. 16
Furthermore, below is a table of tabulated Put values at varying strike prices computed using the
given data in our task sheet;
Table 1: European Put option prices for IBM Corp. shares expiring 15/07/ 2016
Strike Price
$X
European Put Option Price
$P(t,S)
110 0.19236
120 0.96259
130 3.1222
140 7.3562
150 13.753
160 21.828
170 30.924
180 40.531
A number of observations can be made on both Figure 4 and Table 1 which verify that our solution
for the B-S PDE is at least within the realms of possibility.
Figure 4 initially takes the form of a long Put payoff plot (see Appendix (2)) at expiry and gradually
deforms as we use Taylor approximations to plot further back in time and hence introduce higher
levels of uncertainty regarding share price, as would be expected.
Additionally, the values for P(t,S) in Table 1 begin small but get exponentially bigger as our strike
price rises in value. Logically, the option to sell an asset in the short term future for a value
considerably less than it is currently worth (given that the asset has proven to be not particularly
risky (σ=16%) and is associated with a blue chip company) is not something investors would be
willing to spend much money on hence driving P(t,S) down. By a similar form of logic, the option to
sell the aforementioned asset for considerably more than it is currently worth is something that
investors would be willing to pay money for hence driving P(t,S) up. Both of these facts are reflected
in the above table.
Furthermore if we compare our figures (using current and given Share Price) to the "Market's
opinion" of what a fair value of an IBM European Put option is we get the following table and graph;
Table 2: Comparison of Calculated P(t,S) vs. Market P(t,S)
Strike Price
$X
European Put Option Price
$P(t,S)
Market Put Option Price
$P(t,S)
110 0.19236 2.73
120 0.96259 4.80
130 3.1222 8.15
140 7.3562 13.30
150 13.753 20.25
160 21.828 29.70
170 30.924 40.00
180 40.531 49.00
17. 17
Figure 5: Comparison of Generated Put Price for the given Share Price
($138.50)/Current Share Price ($134.57) and Market Put Price
We can see that in spite of what seems to be some kind of anomaly that differentiates the Markets
opinion from our iterative approach, the general trend of our prices are virtually identical to that of
the Markets, again lending credence to the assumption that our model is at least somewhat correct.
It is worth noting, however, that this is somewhat surprising given that all 3 of our estimations
(Calculated P(t,S), “True” P(t,S) and Outside Source P(t,S)) in the next section all agree, suggesting
that some alteration of the B-S method of option pricing is used in the Markets. We will discuss this
further in our conclusion. (NB Appendix (1) attempts to recreate above Market Put Price/Conditions)
4.2 Numerical Accuracy[6]
As with any form of numerical analysis, it is important to consider the accuracy of the algorithms we
have coded and the data we have produced.
In particular we should be careful to ensure that our algorithms are stable, that error is kept to a
minimum and by extension that our output is converging.
4.2.1. Stability
Standard matrix algebra dictates that for an equation of the form of (30), specifically for a matrix
such as A, stability is achieved if and only if;
||𝐴−1||
∞
≤ 1
where ||𝐴||∞
denotes the infinity norm.
(35)
18. 18
For any MxN matrix, the infinity norm is defined as;
||𝐴||∞
= max(∑|A1j|,
N
j=1
∑|A2j|,
N
j=1
. . . , ∑|AMj|,
N
j=1
)
It is worth noting that for both the Implicit (which we have used) and the Crank-Nicholson method of
finite differences, stability is guaranteed. It is only for the Explicit method that instability can occur
due to the inappropriate choosing of variables, in particular the size of the time grid.
Despite this it is easily demonstrated within MATLAB that our data is stable, hence the following;
A=diag(alpha(3:M),-1)+diag(beta(2:M))+diag(gamma(2:M-1),1);
%Creation of our tri-diagonal matrix of alpha/beta/gammas
Ainv=Inv(a) %Inverse for Infinity Norm
normi=norm(Ainv,inf); %Test for Stability
>> Project2
normi=1.000 %Proof of Stability
4.2.2. Convergence
Another element worth considering is the rate at which our algorithm converges, which is directly
related to the truncation error we introduced to our model whenever we opted to use Taylor
approximations for our PDE's. As such, our algorithm converges at the rates of O( 𝛿𝑡) and O( 𝛿𝑆)2
,
the 2 sets of higher order terms we discarded in order to approximate our derivatives in (22) and
(26)/(27) respectively.
To calculate the truncation error in our data we shall take the Closed Form Solution for a European
Put option in equation (3) as the "true" value of a Put and compare it to the figures our algorithm
has produced.
The following is the algorithm required to code equation (3) for varying strike prices;
%% Closed Form Solution for a European Put
d1=1/(sigma*T^0.5)*(log(S/X)+(r+((sigma^2)/2))*T); %d1 variable
d2=d1-(sigma*T^0.5); %d2 variable
n1=normcdf(-d1); % Normal CDF's
n2=normcdf(-d2);
p=n2*X*exp(-r*T)-n1*S; %Put Price
Additionally, for peace of mind, I will also include figures sourced from an online model[7]
so as to
have examples of an outside source to compare our results against. However it is worth noting that
the outside source only allows the entering of variables to 4 d.p. and hence our Closed Form Solution
is more accurate.
If it is evident that our results contain only a small amount of truncation error and thus are relatively
quick to converge, it will hence be logical to conclude, considering both our error and expectations
of data in the previous section, that the results we have calculated fulfil the purpose of this
assignment.
(36)
19. 19
Table 3: Comparison of Calculated P(t,S) vs. "True" P(t,S) vs. Outside P(t,S)
Strike Price
$X
European Put Option Price
$P(t,S)
Closed Form Solution
$P(t,S)
Outside Source
$P(t,S)
110 0.19236 0.19178 0.19180
120 0.96259 0.96220 0.96230
130 3.1222 3.1224 3.1225
140 7.3562 7.3566 7.3567
150 13.753 13.752 13.752
160 21.828 21.827 21.827
170 30.924 30.923 30.923
180 40.531 40.530 40.530
Figure 3: Truncation Error as % of Calculation; Table and Log(Error) Plot
Strike Price
$X
European Put Option Price
$P(t,S)
Truncation
Error Size
Truncation
Error Size %
110 0.19236 0.0006 3.1192x10-3
120 0.96259 0.0004 4.1555x10-4
130 3.1222 0.0002 6.4057x10-5
140 7.3562 0.0004 5.4376x10-5
150 13.753 0.0005 2.1813 x10-5
160 21.828 0.0006 2.7488 x10-5
170 30.924 0.0005 1.6169 x10-5
180 40.531 0.0005 1.2336 x10-5
Hence by finding the difference between the Calculated Put Option Price and the "True" Put Option
Price, we have attained values for the Truncation Error in our data. From the above figures and plot
it is clear that, due to such small values for Truncation Error, the figures we have computed are
extremely accurate and convergent and hence we conclude our results are of sound credibility.
20. 20
5. Conclusion
5.1 Reiteration of Main Findings
The object of this project was to calculate the fair European Put Option Price for IBM shares expiring
in July of 2016. Whilst there are a number of points you may argue to question the validity of the B-S
Model in allowing for this calculation, the following figures are the best estimate for a fair price
given the information we were initially provided.
Table 4: European Put option prices for IBM Corp. shares expiring 15/07/ 2016
Strike Price
$X
European Put Option Price
$P(t,S)
110 0.19236
120 0.96259
130 3.1222
140 7.3562
150 13.753
160 21.828
170 30.924
180 40.531
5.2 Closing Remarks: Drawbacks of B-S and What Next?
The problem itself has been fairly rudimentary. We attempted to estimate the fair price of a
European Put Option by solving the Black-Scholes Partial Differential Equation via Finite Difference
Methods given a set of initial values for the various variables involved.
At no point during our exploration of the B-S formula, understanding of Finite Differences, framing
of our question in Matrix Notation or the process of coding our solution algorithm did we encounter
any bugs or issues we were unable to resolve or understand. The only notable exception is the
difference between our Calculated Put Price and the Market Put Price which may be due to varying
interest rates or the use of different models. Regardless, we have adequately verified that the
figures we have calculated are correct.
We have proved that the algorithm we have used is stable and that the error within our model is
infinitesimally small and we were even able to verify the validity of our figures both through internal
checks in the form of the Closed Form Put Solution, and external checks in the form of Black-Scholes
online calculators. With that being said there are still notable areas with which concern might arise.
The B-S model is based off of a no-arbitrage assumption which underpins the equation we can derive
in (12). Whilst there are many schools of thought which argue that arbitrage and alpha in general is a
fictitious anomaly (mainly advocates of the Efficient Market Hypothesis), many Hedge Fund
managers and long term value investors would argue the contrary. Hence, for a topic which has no
clear consensus, the no-arbitrage assumption (and by extension the efficient market assumption) is
one that must be treated with care.
21. 21
Secondly, the geometric Brownian motion model implies that the series of first differences of the log
prices must be uncorrelated. But for the S&P 500 as a whole, observed over several decades, daily
from 1 July 1962 to 29 Dec 1995, there are in fact small but statistically significant correlations in the
differences of the logs at short time lags, thus leading to another challenge of a key assumption.[8]
In addition to the figures and concepts we were able to derive given the starting data and time
frame we had to work with, there are a number of other areas I would wish to explore had more
time existed following the conclusion of this project.
American/Asian Options – In this report we have tackled the simplest form of option on the market
i.e. European Options. As previously mentioned this simplicity is derived from the defining feature of
European Options – that they can only be executed at maturity. For more exotic forms of options i.e.
American/Asian or different combinations of option strategies i.e. Straddles, Protective/Covered
etc. is would be convenient to write an algorithm that contained a set of functions which we could
switch between at any given time to cover an array of potential pricing requirements. This would be
considerably more difficult to program as it would involve an iterative approach to calculating the
inverse of Matrix A (33), however given more time I am confident it could be done.
Crank-Nicholson – In the pursuit of the most accurate figure for option prices, we also could have
adopted the Crank-Nicholson Finite Differencing Method which incorporates both forward and
backward difference approximations to essentially get the best approximation of both the implicit
and explicit methods. The key feature of the Crank-Nicholson method is its faster rate of
convergence than that of both Implicit and Explicit methods, however due to our truncation error
being so small and hence our convergence already being so fast, I suspect adopting the Crank-
Nicholson method would produce figures that differ by only an extremely small margin when
compared to the figures we have already produced.
Whilst our figures may not agree with market data, this is indicative of a different approach being
used and not of our figures being incorrect, as verified by multiple sources. As can be seen in
Appendix (1), by altering our given variables to better reflect current market conditions, we can
bring our Put Prices more in line with market opinion. I suspect that the differing prices are derived
from the manner in which the B-S method is incorporated into the world of options trading. Whilst
B-S is good as a guideline it would seem that the markets approach the model with an air of caution
particularly towards the consistency of volatility and the initial assumption of Geometric Brownian
motion. This is to some extend illustrated in the following quote from Clifford Hurvich, Professor at
the Stern School of Business in New York;[8]
"There is the question of constancy of the variance of [B-S]. In practice, it is often found that for
financial time series, after taking logs (if needed) and first differences, the level of volatility (i.e.,
fluctuation) seems to change with time. Often, periods of high volatility follow immediately after a
large change (often downward) in the level of the original series. It may take quite some time for this
heightened volatility to subside. For example, the plot of differences of the logs of the S&P 500
shows very long periods of high volatility interspersed with periods of relative calm."
In conclusion however, we can now say with relative certainty that we have calculated the fair price
of an IBM European Put Option, expiring July 15th
2016, according to the Black-Scholes Model.
22. 22
6. Appendix
Point 1 - Graphs created by changing input variables to mirror Market
conditions (Note each consecutive graph contains previous changes)
23. 23
Point 2 - Comparison of sideways plot of Put Price Solution to standard Put
payout at maturity (X=$110)
24. 24
Point 3 - Plot of Put Prices at different Time Intervals (X=$110)
25. 25
Code for above plots;
X=110:10:180; %Varying Strike Price
Y=[0.1923 0.9625 3.122 7.356 13.75 21.82 30.92 40.53]; % Original SP
Z=[2.73 4.80 8.15 13.30 20.25 29.70 40.00 49.00]; %Actual
A=[0.33143 1.4745 4.3382 9.4524 16.637 25.250 34.641 44.382]; % Current SP
B=[0.38767 1.6683 4.7768 10.187 17.641 26.458 35.995 45.845]; % interest=-0.3%
C=[2.7313 5.5346 9.7054 15.243 22.001 29.753 38.258 47.298]; % sigma=26%
K=110
S=0:250; %For Put Plot
D=max(K-S,0); %For Put Plot
plot(Sgrid,solngrid(:,end),Sgrid,solngrid(:,1155),Sgrid,solngrid(:,578),Sgrid,
solngrid(:,1)) %Prices for various time steps
26. 26
7. References
[1] - Essential's of Investment Chapter 16, Section 3 : Black-Scholes Option Valuation by Bodie, Kane
and Marcus
[2] - Fisher Black & Myron Scholes The Pricing of Options and Corporate Liabilities. The Journal of
Political Economy. Vol 81, Issue 3, 1973.
[3] - Fundamentals of Futures and Options Markets by John C. Hull - Chapter 13
[4] - AMA3021 Chapter 5 Random Processes, Chapter 6 Diffusion Processes - Jim McCann
[5] - Goddard Consulting. Option Pricing Using The Implicit Finite Difference Method. Available at:
http://www.goddardconsulting.ca/option-pricing-finite-diff-implicit.html
[6] - AMA2004 Numerical Analysis Chapters 1 and 4 - Myrta Gruening
[7]- MoneyZine. Black-Scholes Calculator. Available at : http://www.money-
zine.com/calculators/investment-calculators/black-scholes-calculator/
[8] - Clifford Hurvich, Stern University. Some Drawbacks of Black Scholes. Available at:
http://people.stern.nyu.edu/churvich/Forecasting/Handouts/Scholes.pdf