CHAPTER (r D)S V(S,T)= (S), 2 V 0asS, = 0onS = 0,

Similar documents
MATH60082 Example Sheet 6 Explicit Finite Difference

MASM006 UNIVERSITY OF EXETER SCHOOL OF ENGINEERING, COMPUTER SCIENCE AND MATHEMATICS MATHEMATICAL SCIENCES FINANCIAL MATHEMATICS.

Definition Pricing Risk management Second generation barrier options. Barrier Options. Arfima Financial Solutions

Advanced Corporate Finance. 5. Options (a refresher)

American Equity Option Valuation Practical Guide

4. Black-Scholes Models and PDEs. Math6911 S08, HM Zhu

Extensions to the Black Scholes Model

Math Computational Finance Barrier option pricing using Finite Difference Methods (FDM)

2 f. f t S 2. Delta measures the sensitivityof the portfolio value to changes in the price of the underlying

Exercises for Mathematical Models of Financial Derivatives

CS476/676 Mar 6, Today s Topics. American Option: early exercise curve. PDE overview. Discretizations. Finite difference approximations

The Black-Scholes Equation

Valuation of Convertible Bonds

.5 M339W/389W Financial Mathematics for Actuarial Applications University of Texas at Austin Sample In-Term Exam 2.5 Instructor: Milica Čudina

MATH4143: Scientific Computations for Finance Applications Final exam Time: 9:00 am - 12:00 noon, April 18, Student Name (print):

MATH 476/567 ACTUARIAL RISK THEORY FALL 2016 PROFESSOR WANG. Homework 3 Solution

Queens College, CUNY, Department of Computer Science Computational Finance CSCI 365 / 765 Spring 2018 Instructor: Dr. Sateesh Mane.

In chapter 5, we approximated the Black-Scholes model

MFE/3F Questions Answer Key

MATH6911: Numerical Methods in Finance. Final exam Time: 2:00pm - 5:00pm, April 11, Student Name (print): Student Signature: Student ID:

Fractional Black - Scholes Equation

Homework Assignments

Practical Hedging: From Theory to Practice. OSU Financial Mathematics Seminar May 5, 2008

King s College London

Math489/889 Stochastic Processes and Advanced Mathematical Finance Solutions to Practice Problems

LECTURE 12. Volatility is the question on the B/S which assumes constant SD throughout the exercise period - The time series of implied volatility

Options. An Undergraduate Introduction to Financial Mathematics. J. Robert Buchanan. J. Robert Buchanan Options

Queens College, CUNY, Department of Computer Science Computational Finance CSCI 365 / 765 Fall 2017 Instructor: Dr. Sateesh Mane.

MFE/3F Questions Answer Key

2.3 Mathematical Finance: Option pricing

Derivative Securities Fall 2012 Final Exam Guidance Extended version includes full semester

Monte Carlo Simulations

Homework Set 6 Solutions

No ANALYTIC AMERICAN OPTION PRICING AND APPLICATIONS. By A. Sbuelz. July 2003 ISSN

Computational Finance Finite Difference Methods

FINITE DIFFERENCE METHODS

Barrier options. In options only come into being if S t reaches B for some 0 t T, at which point they become an ordinary option.

Black-Scholes-Merton Model

Advanced Topics in Derivative Pricing Models. Topic 4 - Variance products and volatility derivatives

Lecture Quantitative Finance Spring Term 2015

TEACHING NOTE 98-04: EXCHANGE OPTION PRICING

A distributed Laplace transform algorithm for European options

Rho and Delta. Paul Hollingsworth January 29, Introduction 1. 2 Zero coupon bond 1. 3 FX forward 2. 5 Rho (ρ) 4. 7 Time bucketing 6

Completeness and Hedging. Tomas Björk

A Study on Numerical Solution of Black-Scholes Model

Calibration Lecture 4: LSV and Model Uncertainty

- 1 - **** d(lns) = (µ (1/2)σ 2 )dt + σdw t

FE610 Stochastic Calculus for Financial Engineers. Stevens Institute of Technology

MATH3075/3975 FINANCIAL MATHEMATICS TUTORIAL PROBLEMS

Queens College, CUNY, Department of Computer Science Computational Finance CSCI 365 / 765 Fall 2017 Instructor: Dr. Sateesh Mane.

Queens College, CUNY, Department of Computer Science Computational Finance CSCI 365 / 765 Fall 2017 Instructor: Dr. Sateesh Mane.

FINANCIAL MATHEMATICS WITH ADVANCED TOPICS MTHE7013A

CHAPTER 9. Solutions. Exercise The payoff diagrams will look as in the figure below.

Hull, Options, Futures, and Other Derivatives, 9 th Edition

FINANCIAL MATHEMATICS WITH ADVANCED TOPICS MTHE7013A

Hedging. MATH 472 Financial Mathematics. J. Robert Buchanan

Financial derivatives exam Winter term 2014/2015

The Black-Scholes Model

Lecture 4 - Finite differences methods for PDEs

non linear Payoffs Markus K. Brunnermeier

Computational Finance

The Greek Letters Based on Options, Futures, and Other Derivatives, 8th Edition, Copyright John C. Hull 2012

Option Valuation with Sinusoidal Heteroskedasticity

Chapter 5 Finite Difference Methods. Math6911 W07, HM Zhu

Lecture 4. Finite difference and finite element methods

A Moment Matching Approach To The Valuation Of A Volume Weighted Average Price Option

Finance & Stochastic. Contents. Rossano Giandomenico. Independent Research Scientist, Chieti, Italy.

Stochastic Calculus, Application of Real Analysis in Finance

MAFS Computational Methods for Pricing Structured Products

Hedging with Options

Math 623 (IOE 623), Winter 2008: Final exam

Financial Risk Management

Option pricing models

Pricing Barrier Options under Local Volatility

Course MFE/3F Practice Exam 2 Solutions

1 Implied Volatility from Local Volatility

From Discrete Time to Continuous Time Modeling

Correlations in Asynchronous Markets

PAijpam.eu ANALYTIC SOLUTION OF A NONLINEAR BLACK-SCHOLES EQUATION

Stochastic Differential Equations in Finance and Monte Carlo Simulations

A matched asymptotic expansions approach to continuity corrections for discretely sampled options. Part 2: Bermudan options.

Option Pricing. Simple Arbitrage Relations. Payoffs to Call and Put Options. Black-Scholes Model. Put-Call Parity. Implied Volatility

Greek Maxima 1 by Michael B. Miller

Option Trading and Positioning Professor Bodurtha

Attempt QUESTIONS 1 and 2, and THREE other questions. Do not turn over until you are told to do so by the Invigilator.

Pricing Options with Binomial Trees

CHAPTER 10 OPTION PRICING - II. Derivatives and Risk Management By Rajiv Srivastava. Copyright Oxford University Press

Attempt QUESTIONS 1 and 2, and THREE other questions. Do not turn over until you are told to do so by the Invigilator.

Review Direct Integration Discretely observed options Summary QUADRATURE. Dr P. V. Johnson. School of Mathematics

STOCHASTIC CALCULUS AND BLACK-SCHOLES MODEL

A&J Flashcards for Exam MFE/3F Spring Alvin Soh

Utility Indifference Pricing and Dynamic Programming Algorithm

Lecture 8: The Black-Scholes theory

Chapter 9 - Mechanics of Options Markets

Black-Scholes Option Pricing

SOA Exam MFE Solutions: May 2007

Econ 174 Financial Insurance Fall 2000 Allan Timmermann. Final Exam. Please answer all four questions. Each question carries 25% of the total grade.

Finance II. May 27, F (t, x)+αx f t x σ2 x 2 2 F F (T,x) = ln(x).

Short-time-to-expiry expansion for a digital European put option under the CEV model. November 1, 2017

Uncertain Parameters, an Empirical Stochastic Volatility Model and Confidence Limits

Transcription:

CHAPTER 28 FINITE-DIFFERENCE METHODS FOR ONE-FACTOR MODELS 1. Write a program to value European call and put options by solving Black Scholes equation with suitable final and boundary conditions. Include a constant, continuous dividend yield on the underlying share. + 1 2 σ 2 S 2 2 V + (r D)S V(S,T)= (S), rv = 0, where 0asS, S2 = 0onS = 0, S2 (S) = max(s E,0), for a call and (S) = max(e S,0), for a put. The following code solves this problem using an explicit finite difference scheme: When param=0, the code values a call option and when param=1, the code values a put option. Function OptionValue(Asset As Double, Strike As Double, Expiry As _ Double, Volatility As Double, IntRate As Double, Div _ As Double, param As Integer, NoAssetSteps) Dim VOld(0 To 100) As Double Dim VNew(0 To 100) As Double Dim Delta(0 To 100) As Double

126 FINITE-DIFFERENCE METHODS FOR ONE-FACTOR MODELS Dim Gamma(0 To 100) As Double Dim S(0 To 100) As Double Dim Ssqd(0 To 100) As Double halfvolsqd = 0.5 * Volatility * Volatility AssetStep = 2 * Strike / NoAssetSteps NearestGridPt = Int(Asset / AssetStep) dummy = (Asset - NearestGridPt * AssetStep) / AssetStep Timestep = AssetStep * AssetStep / Volatility / Volatility / _ (4 * Strike * Strike) NoTimesteps = Int(Expiry / Timestep) + 1 Timestep = Expiry / NoTimesteps S(i) = i * AssetStep If param = 0 Then VOld(i) = max(s(i) - Strike, 0) If param = 1 Then VOld(i) = max(strike - S(i), 0) For j = 1 To NoTimesteps For i = 1 To NoAssetSteps - 1 Delta(i) = (VOld(i + 1) - VOld(i - 1)) / (2 * AssetStep) Gamma(i) = (VOld(i + 1) - 2 * VOld(i) + VOld(i - 1)) _ / (AssetStep * AssetStep) VNew(i) = VOld(i) + Timestep * (halfvolsqd * Ssqd(i) * _ Gamma(i) + (IntRate - Div) * S(i) * Delta(i) - IntRate _ * VOld(i)) VNew(0) = 2 * VNew(1) - VNew(2) VNew(NoAssetSteps) = 2 * VNew(NoAssetSteps - 1) - _ VNew(NoAssetSteps - 2) Next j VOld(i) = VNew(i) OptionValue = (1 - dummy) * VOld(NearestGridPt) + _ dummy * VOld(NearestGridPt + 1) End Function 2. Adjust your program to value call options with the forward price as underlying. The partial differential equation for the value of an option, V(F,t), with the forward price, F, as underlying is + 1 2 σ 2 F 2 2 V rv = 0. F2

INSTRUCTOR S MANUAL 127 This is just the usual Black Scholes equation without the delta term. The final remain unchanged. We therefore alter our OptionValue code to remove the delta term by changing the line VNew(i) = VOld(i) + Timestep * (halfvolsqd * Ssqd(i) * Gamma(i) + _ (IntRate - Div) * S(i) * Delta(i) - IntRate * VOld(i)) to VNew(i) = VOld(i) + Timestep * (halfvolsqd * Ssqd(i) * Gamma(i) - _ IntRate * VOld(i)) 3. Write a program to value a down-and-out call option, with barrier below the strike price. + 1 2 σ 2 S 2 2 V + (r D)S V(S,T)= max(s E,0), 0asS, S2 V(X,t)= 0, rv = 0, where the out barrier is at S = X. We must alter our code (from Question 1) to take account of the new lower boundary condition. It is also sensible to change the code so that the program only works out values for S X instead of S 0, since we know V = 0 for 0 S X. The following code solves this problem using an explicit finite difference scheme: When param=0, the code values a call option and when param=1, the code values a put option. Function BarrierValue(Asset As Double, Strike As Double, Expiry As _ Double, Volatility As Double, IntRate As Double, Div _ As Double, param As Integer, Barrier as Double, _ NoAssetSteps) Dim VOld(0 To 100) As Double Dim VNew(0 To 100) As Double

128 FINITE-DIFFERENCE METHODS FOR ONE-FACTOR MODELS Dim Delta(0 To 100) As Double Dim Gamma(0 To 100) As Double Dim S(0 To 100) As Double Dim Ssqd(0 To 100) As Double halfvolsqd = 0.5 * Volatility * Volatility AssetStep = 2 * Strike / NoAssetSteps NearestGridPt = Int((Asset - Barrier)/ AssetStep) dummy = ((Asset - Barrier) - NearestGridPt * AssetStep) / AssetStep Timestep = AssetStep * AssetStep / Volatility / Volatility / _ (4 * Strike * Strike) NoTimesteps = Int(Expiry / Timestep) + 1 Timestep = Expiry / NoTimesteps S(i) = Barrier + i * AssetStep If param = 0 Then VOld(i) = max(s(i) - Strike, 0) If param = 1 Then VOld(i) = max(strike - S(i), 0) For j = 1 To NoTimesteps For i = 1 To NoAssetSteps - 1 Delta(i) = (VOld(i + 1) - VOld(i - 1)) / (2 * AssetStep) Gamma(i) = (VOld(i + 1) - 2 * VOld(i) + VOld(i - 1)) _ / (AssetStep * AssetStep) VNew(i) = VOld(i) + Timestep * (halfvolsqd * Ssqd(i) * _ Gamma(i) + (IntRate - Div) * S(i) * Delta(i) - IntRate _ * VOld(i)) VNew(0) = 0 VNew(NoAssetSteps) = 2 * VNew(NoAssetSteps - 1) - _ VNew(NoAssetSteps - 2) Next j VOld(i) = VNew(i) BarrierValue = (1 - dummy) * VOld(NearestGridPt) + _ dummy * VOld(NearestGridPt + 1) End Function 4. Write a program to value compound options of the following form: (a) Call on a call, (b) Call on a put, (c) Put on a call, (d) Put on a put.

INSTRUCTOR S MANUAL 129 + 1 2 σ 2 S 2 2 V + (r D)S rv = 0, V(S,T)= (S), where 0asS, S2 = 0onS = 0, S2 (S) = max(c BS E,0), for a call on a call, (S) = max(p BS E,0), for a call on a put, for a put on a call, and (S) = max(e C BS, 0), (S) = max(e P BS, 0), for a put on a put. We must therefore alter the final condition in the OptionValue code of Question 1, to S(i) = i * AssetStep If param = 0 Then VOld(i) = max(callvalue(s(i), Expiry1) _ - Strike, 0) If param = 1 Then VOld(i) = max(putvalue(s(i), Expiry1) _ - Strike, 0) If param = 2 Then VOld(i) = max(strike - CallValue(S(i), _ Expiry1), 0) If param = 3 Then VOld(i) = max(strike - PutValue(S(i), _ Expiry1), 0) where param=0 values a call on a call, param=1 values a call on a put, param=2 values a put on a call and param=3 values a put on a put.

130 FINITE-DIFFERENCE METHODS FOR ONE-FACTOR MODELS CallValue(S,T) and PutValue(S,T) are functions which give the value of a European call and put option respectively, with current share price S and expiry after a time T. The OptionValue function from Question 1 could be used to calculate these values. Alternatively, we could rewrite the code so that these values are calculated first, since the code to do this is very similar to the code for the main program. A third option would be to use the explicit Black Scholes formulae for these option values. 5. Alter your compound option program to value a chooser option which allows you to buy a call or a put at expiry. + 1 2 σ 2 S 2 2 V + (r D)S rv = 0, V(S,T)= max(c BS E 1,P BS E 2, 0) 0asS, S2 = 0onS = 0. S2 We must therefore alter the final condition in the OptionValue code of Question 1, to S(i) = i * AssetStep VOld(i) = max(callvalue(s(i), Expiry1) - Strike1, _ PutValue(S(i), Expiry1) - Strike2, 0)