$30
Finite difference methods.
(a) Implement the Explicit Finite Difference method to price both European Call and Put options. Please derive the final discretized equation and rearrange them appropriately. Clearly state the steps for carrying out the valuation.
(b) Implement the Implicit Finite Difference method to price European Call and Put options. Again underline the steps used particularly clearly separate and label as such the tridiagonal system solver.
(c) Implement the Crank-Nicolson Finite Difference method and price both European Call and Put options. Here derive the final discretized equation and rearrange them appropriately. Clearly state the steps for carrying out the valuation.
(d) For both the Explicit and Implicit Finite Difference schemes estimate the numbers ∆t, ∆x, and the total number Nj of points on the space grid x needed to obtain a desired error of ε = 0.0001. Hint. Remember the order of convergence for each of the schemes. For each schemes select ∆t, ∆x as well as n and Nj so that the order of convergence is smaller than the desired error. Please note that Nj has to be chosen in such a way so that the range of x values span the entire possible range at T.
(e) Consider S0 = 100,K = 100, T = 1 year, σ = 20%,r = 6%,δ = 2%.
Calculate and report the price for the European Call and Put using explicit, implicit, and Crank-Nicolson methods, while including the number of steps that you calculated in the previous point (part d).
(f) Repeat part (d) of this problem, but this time get the empirical number of iterations. Specifically, obtain the Black Scholes price for the data in (e), then do an iterative procedure to figure out the ∆x, ∆t, N, and Nj to obtain the accuracy for ε = 0.0001. Put the results of the 3 methods (EFD, IFD, CNFD) side by side in a table and write your observations.
(g) Using the parameters from part (e), plot on the same graph the implicit finite difference values pu,pm,pd as a function of σ ∈{0.05,0.1,0.15,...,0.6}. Write detailed comments on your observations.
(h) Implement the Crank-Nicolson Finite Difference method and price both European Call and Put options. Use the same parameters as in part (e) and the same number of steps in the grid. Put the results of the 3 methods (EFD, IFD, CNFD) side by side in a table and write your observations.
(i) Calculate the hedge sensitivities for the European call option using the Explicit Finite Difference method. You need to calculate Delta, Gamma, Theta, and Vega.
Problem 2 (50 points). Finite difference methods applied to market data. We will use here the algorithms implemented in Problem 1 to price European Call and Put options using market data, and compare these methods.
(a) Download Option prices (you can use the Bloomberg Terminal, Yahoo! Finance, etc.) for an equity, for 3 different maturities (1 month, 2 months, and 3 months) and 10 strike prices. Use the same method from Homework 1 to calculate the implied volatility. Set the current short-term interest rate equal to the one from the day you downloaded the data.
(b) Use the Explicit, Implicit, and Crank-Nicolson Finite Difference schemes implemented in Problem 1 to price European Call and Put options. Use the calculated implied volatility to obtain a space parameter ∆x that insures stability and convergence with an error magnitude of no greater than 0.001.
(c) For the European style options above (puts and calls) calculate the corresponding Delta, Gamma, Theta, and Vega using the Explicit finite difference method.
(d) Create a table with the following columns: time to maturity T, strike price K, type of the option (Call or Put), ask price A, bid price B, market price CM = (A+B)/2, implied volatility from the BSM model σimp, option price calculated with EFD, IFD, and CNFD. Plot on the same graph A,B,CM, and the 3 option prices obtained with finite difference schemes, as a function of K and T. What do you observe?
Problem 3 (Bonus 30 points). Design an EFD scheme We know that an option price under a certain stochastic model satisfies the following PDE:
.
Assume you have an equidistant grid with points of the form (i,j) = (i∆t,j∆x), where i ∈{1,2,...,N} and j ∈{−NS,NS}. Let Vi,j = (i∆t,j∆x).
1. Discretize the derivatives and give the finite difference equation for an Explicit scheme. Use the notation introduced above.
2. Assume you have to be pricing a European Call. Do you need boundary conditions? If you do what are the boundary conditions?
3. What do you observe about the process of updating coefficients?