Problem 1. The Binomial Tree.
- Construct code to calculate option values using an additive binomial tree. For this part you need four versions: European and American as well as Call and Put. You may use the same tree construction (and function) for all options.
- 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 20 strike prices close to the value at the money. If 3 months does not exist use next one available. Please download the data DURING THE TRADING DAY (9:00am to 4:30pm ET). Otherwise your values will be way off. Do not forget to download the value of the underlying. For each strike price in the data, use the implied vol values in Homework 1 (see Problem 1c) and the current short-term interest rate (today the Feds Fund rate is r = 0.75%). Calculate the option price (European Calls and Puts) using the binomial tree, and compare the results with the BlackScholes price. Use at least 200 steps in your tree construction. Treat the options as American as well and plot these values side by side with the European and Black Scholes values. When you create the plot do not forget to plot the bid-ask values as well. If you downloaded DATA 2 for last assignment you can use that as your data set.
- Comment of the table in the previous part.
- Consider N {10,20,30,40,50,100,150,200,250,300,350,400}. Compute and plot the absolute error for the European Put N for as a function of
N N the number of steps in the tree:
,
where CBSM(S0,K,T,r;) and CNBinomTree(S0,K,T,r;) are the Black ScholesMerton price and the price calculated using a binomial tree with N steps, respectively. What do you observe?
Using the binomial tree for American Calls and Puts, calculate the implied volatility corresponding to the data you have downloaded in part (b). You will need to use the bisection or Newton/secant method of finding roots with the respective binomial trees. Compare these values of the implied volatility with the volatilities calculated using the usual Black Scholes formula (as in Homework 1, Problem 1c). Write detailed observations.
Problem 2 The Trinomial Tree.
- Implement a trinomial tree to price European, American Call and Put options. See Chapter 3 in [1].
- Consider S0 = 100,K = 100, T = 1 year, = 25%,r = 6%, = 0. Repeat the methods in problem 1 b) to d) with these parameters. Use at least N = 200 time steps and you do not need to download data. Make sure
that convergence condition holds, i.e. x 3t (see Section 3.5 in [1]). Create a table containing all results and comment
Problem 3 Pricing Exotic Options. We will use here a synthetic example to illustrate the power of the tree models. Please read Section 2.10 in [1] and Sections 1 and 5.1 in [2] (available here), and solve the following problems.
- Construct a binomial tree to calculate the price of an European Up-and-Out call option. Use S0 = 10, strike K = 10, maturity T = 0.3, volatility = 0.2, short rate r = 0.01, dividends = 0, and barrier H = 11. Use as many steps in your tree as you think are necessary. Read the algorithm in the book [1] and try and figure out how to modify the code there to work with the new option.
- For the European Up-and-Out Call option explicit formulas exist. For example, implement the formula (5.2) from [2] and compare your results with part (a). Use the same parameters as before. Are your results matching?
- Price an European Up-and-In call option, using the same parameters as before. Two methods can be employed: the analytical solution in (5.1) or the In-Out parity. Use both methods in order to verify your results.
- Calculate the price of an AMERICAN Up and In Put option
Problem 4 Finite difference methods.
- Implement the Explicit Finite Difference method to price both European Call and Put options. See Chapter 3 in [1].
- Implement the Implicit Finite Difference method to price European Call and Put options.
- Implement the Crank-Nicolson Finite Difference method and price both European Call and Put options.
- For both the Explicit and Implicit Finite Difference schemes estimate the numbers t, x as well as the total number Nj of points on the space grid x to obtain a desired error of = 0. Hint. You need to this part in a theoretical way. Please use the convergence order as the actual error of the estimate.
- Consider S0 = 100,K = 100, T = 1 year, = 25%,r = 6%, = 0.
Calculate and report the price for European Call and Put using explicit, implicit FD and Crank-Nicolson methods and the number of steps that you calculated in the previous point (part d).
- 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 an accuracy of = 0. Put the results of the 3 methods (EFD, IFD, CNFD) side by side in a table and write your observations.
Implement the Rannacher modification [3], that is, replace the first time step of the Crank-Nicolson method with either two half steps or four quarter steps of implicit method. The modification ensures second order convergence for rough payoff functions.
Bonus Problem A multinomial recombining tree for general Stochastic Volatility models. We consider here an interesting method of option pricing under general assumptions, involving a multinomial recombining tree and particle filtering techniques. Please read the paper [4], and pay special attention to sections 3 and 4.1, 4.2.
- Using synthetic parameters, i.e., chosen by you, estimate the probability distribution for the volatility process Yt at discrete time points t1,t2,,tn. To this end, implement the particle filter described in Section 3 of [4]. You should store from this step the particles {Y1,Y2,,Yn} together with their corresponding probabilities {p1,p2,,pn}.
- Construct the successors in the multinomial tree with synthetic parameters, see Section 4.1. Please note that two separate cases were analyzed.
- You built in part (b) the one period model. Implement now the multi-period model described in Section 4.2. Price for illustrative purposes the European Call option and try to replicate the results in Section 6 of the paper.
- Build a multinomial tree as in [4] to price an American Put Option. Compare your results with Problem 4(a).
- The most important limitation here is that the two Brownian Motions Wt and Zt in equation (1.1) are assumed independent, i.e.
E[W. tZ.t] = 0.
To circumvent this, let (y) = y, (y) = y, and E[W. tZ.t] = in (1.1), i.e., the Heston Model, and consider the transformation
, where
Apply Itos Lemma on Xt and show that X. t can be written as X. t = X(t)t. + X(t)B. t, where Bt is uncorrelated with Wt, and X,X are real valued functions. Build a multinomial tree as in [4] to price an American Put Option. Compare your results with Problem 4(a) and part (d) of this problem.
Reviews
There are no reviews yet.