Name:
Final Exam FE621
• Please note: for the problems using data we are not interested in all the minor steps performed when analyzing the data. However, you should explain your broad reasoning and hand in a final report.
• Do not include any failed attempts at modeling just to give volume to the final report.
• You need to argument with graphs or selected numerical results all the conclusions you draw. Put important plots and tables within the report and relegate any non essential ones to an appendix at the end of the document.
• Please add supporting arguments (e.g., output) in the appendix. The whole report should be constructed as a regular journal article.
• The final write-up (excluding the appendix) should not be more than 10-15 pages.
• Communication with other students either physical or virtual is strictly forbidden.
For instructor’s use only
Problem
Points
Score
A
100
B
100
C
100
Bonus
20
Total
300
1
Problem A: Asian Option Pricing using Monte Carlo Control Variate.
The payoff of an arithmetic Asian call option is: 1N
N+1 Sti−K .
i=0
+
Its value may be computed using straight Monte Carlo simulations. However, in order to obtain a small standard error, the number of simulations must be very high. To solve this computationally extensive problem, we will use the payoff of a geometric Asian call option as the control variate:
1 N N+1
Sti −K
i=0
+
The idea is to use the known analytic price of the geometric Asian and the distance between MC simulations to obtain an approximate for the analytical formula for the arithmetic Asian price.
In this problem we consider r = 3%, σ = 0.3, S0 = 100, and assume the goal is to price an arithmetic Asian call option with strike K = 100 and maturity T = 5.
We also assume the asset follows the standard log-normal/geometric Brow- nian motion model:
S(∆t) = S(0)e((μ− σ2 )∆t+(σ√∆t)ε) 2
(a) The price of a geometric Asian option in the Black-Scholes model is given by:
where:
σˆ:=σ 6(N+1)
such that σˆ is adjusted sigma and N is the total number of trading days
Pg = e−rT S0eρT N(d1) − KN(d2) 1 12 2
ρ = 2 r − 2 σ + σˆ 2N + 1
(T ∗ 252).
1S0 12 d1:=√Tσˆ ln K + ρ+2σˆ T
1S0 12 d2:=√Tσˆ ln K + ρ−2σˆ T
Use the above formula to price this geometric Asian call option. 2
(b) Implement a Monte Carlo scheme to price an arithmetic Asian call option (Psim). Use M = 1,000,000 simulations. Record the answer, a confidence
interval and the time it takes to obtain the result.
(c) Implement a Monte Carlo scheme to price a geometric Asian Call option
(P sim ). g
(d) Using M = 10, 000 simulations and the same exact random variables create:
• numbers Xi which are M replications for the arithmetic Asian Option
price
• numbers Yi which are M replication for the geometric Asian Option price
Finally calculate b∗ such that:
a
∗ Mi=1(Xi − X)(Yi − Y ) = Mi=1(Xi −X)2
b
Note that b∗ is actually the slope of a regression line Y = a + bX + ε. Please
also record the price of the arithmetic Psim and the geometric Psim. ag
(e) Calculate the error of pricing for the geometric Asian: E = P − P sim ggg
(f) Calculate the modified arithmetic option price (Pa∗) as: P∗ =Psim −b∗E
aag
Compare with the results in (b). Comment. Vary the value of M in part (d). What do you observe.
Bonus For this problem apply the Asian option pricing in practice. Download from the Bloomberg terminal Asian option data for an equity at your choice. Consider five different maturities and five strike prices. Construct a table and repeat the parts (a) to (f) using your data. In order to access Asian options for your equity, follow the instruction below. For example, if you want to access Asian options on IBM Us Equity:
• Enter IBM EQUITY OMON. OMON function stands for Option Mon- itor.
• On the OMON page, type OVME. OVME function (Option Valuation) is Bloomberg main pricing application for options on equity, indexes, funds, bonds, bond futures and short term interest rate futures.
• On the top of the screen, you will find ”Product” tab. Under this tab, click on the ”show all styles”. You will find all types of options.
• Click on number 17 which is Asian option.
• You can click on the ”Matrix” subtab to see your data as a matrix. You can modify this matrix by checking/unchecking variables at the right side of the screen. For this specific question, you can check strike prices and maturities.
3
Problem B: A portfolio construction problem. In this question, you need to create a portfolio which replicates the behavior of a specific select sec- tor SPDR ETF. The goal of this question is to gain a deep understanding in multivariate Monte-Carlo simulation and option pricing.
1. Please identify and select a specific sector’s SPDR ETF, for example XLF, XLE, etc. This site http://finviz.com/ presents details about the tick- ers in each sector. In the sector you choose download 4 equity prices since 2012. Please only select equities that trade at $5 or above. Try picking equities at random among the ones that have this criteria. Using the same equities is a sure method to create suspicions.
2. For the 4 equities that you chose, we will use the geometric BM: dSt = θ1Stdt + θ2StdWt
Using the data you downloaded, please estimate the parameter values (θ1,θ2) for each equity. Please report these values.
3. Estimate the correlation matrix Σ for the 4 stocks based on historical data.
4. Using the correlation matrix in the part 3 and the parameters you esti-
mated in part 2 generate Monte-Carlo paths for the 4 stocks. Use this ma-
trix to generate correlated increments for your Monte Carlo paths. Please
use the Euler-Milstein scheme for generation. Use T = 1 year, ∆t = 1 255
and n = 1000 paths in your simulation. Once it is done, you only need to keep the final value ST for each stock. You should have 4 vectors in total each with n replications. Please report basic statistics (mean, standard deviation, skewness, and kurtosis) for each stock.
5. Download daily data for the main ETF for the same exact period as before. We will fit a geometric Brownian motion to it:
dSt =μStdt+σStdWt
Get the values for μ and σ in a similar way with what you did in part 2.
6. Run a multivariate regression using the historical data. The response is the ETF return and the predictors are the 4 stocks you chose earlier. Please record the regression coefficients. These are going to be the weights wi for i ∈ {1, 2, 3, 4} for the basket option we will price next.
7. We will price a nonstandard contract next. The contract buyer has the option to exchange 1 ETF share with a weighted average of the 4 stocks. Specifically,denotewithST theETFvalueandwithS1(T),…,S4(T)the stock value for the 4 equities. The option payoff is:
4 wiSi(T)−ST
i=1
4
+
use T = 1 year. Calculate the option price today (premium). What if the buyer has the option to exchange the weighted average for the ETF.
4 ST −wiSi(T)
i=1 Calculate the premium for this option.
+
5
Problem C. Local volatility. We shall consider in this problem two volatility models: implied and local volatility, and compare them from the perspective of pricing, numerical efficiency, and stability. Please find the attached file SPX.xls, containing option prices for the S&P 500 index for different maturities and strikes, with the following structure: on the first row you are given (in this order) today’s date, today’s price, and the interest rate in percents, assumed constant. The dividend yield is assumed 0. Starting with row 2, a four column table is given, containing the expiry date, time to maturity (calculated from the expiry date), the strike price and the European call option price. Please note that the dates are given in a number format, and the difference between any two cells represent the number of days. Use this file to answer the rest of this problem.
(a) Compute the implied volatilities from the Black–Scholes model, using the given file. For this purpose, implement any efficient root–finding method to compute the roots (or zeroes) of your function. You should also produce a plot of the points {Ki,Tj,σij}, with i = 1,…,20, j = 1,…,4 in 3– dimensions, in the space (K, T, σ).
(b) Compute and plot the implied volatility surface. For this purpose, you should interpolate the points {Ki,Tj,σij}, with i = 1,…,20, j = 1,…,4. Hint. Consider a cubic spline interpolation in 2 dimensions. You may use any package or toolbox that computes the interpolation.
(c) For the points on the surface you just calculated is the non–arbitrage con- dition holding?
(d) A conceptually different volatility model, the so–called local volatility, in- troduced by Dupire in [1], gives the volatility in terms of (K,T) in a non- parametric way, and is model independent.
Assuming that we are given European option prices C = C(K,T), Dupire’s local volatility is given by:
∂C +(r−q)K∂C +qC Σ(K,T)= ∂T ∂K
where r ≥ 0 is the risk–free interest rate and q ≥ 0 is the dividend yield. Further, by noting that the implied volatility σ is a function of strike and expiry, i.e., σ = σ(K, T ), the partial derivatives in (1) can be obtained with respect to σ, i.e. the local volatility function can be expressed as a function of implied volatility rather than of option prices:
∂σ2 ∂σ 2σ∂T (T −t)+σ +2σ(r−q)(T −t)K∂K
Σ(K,T)=1+Kd ∂σ√T−t2+K2(T−t)σ∂2σ −d ∂σ2√T−t,
1K2 ∂2C 2 ∂K2
, (1)
1∂K
∂K2 1 ∂K
6
(2)
where
lnS +(r−q+1σ2)(T−t)
d1=K √2 . (3)
σT−t
Calculate Dupire’s local volatility {Ki, Tj , Σij }, with i = 1, . . . , 20, j = 1, . . . , 4 using both formulations. Compute and plot the local volatility surface in the space (K, T, Σ) using a cubic spline interpolation. Compare with the implied volatility surface from part (b).
Hint. Use the interpolated implied volatility surface from part (b) and use finite differences to compute the partial derivatives of the implied volatility with respect to strike, maturity, and second partial derivative with respect to strikes. Then use the formula (2) to compute the local variance Σ2(K, T ). Two issues remain to be addressed: how to get rid of negative values in the local variance (one can use linear interpolation) and 3D interpolation of the LV surface.
(e) Calculate the price of an European option C(t, S; T, K), with the volatility equal to Σ(K,T) instead of σ. Can you calculate the price of this option? How? Calculate the option prices in the file using the local vol. Compare with the market prices you downloaded. What can you observe?
(f) Combine and present the results in a table with the following columns: time to maturity, strike price, option market price, implied volatility, local volatility, price obtained using Dupire’s local volatility. You should consider only the outputs corresponding to the pairs (Ki,Tj), not the interpolated values. Comment on your findings. Also, produce a new file, SPXvolatil- ity.xls, that would add the following columns to the existing ones: implied volatility, local volatility, Black–Scholes price, and the prices obtained using Dupire’s local volatility.
(g) Download using the Bloomberg terminal option data for an equity of your choice. You should consider at least 5 different maturities and 20 strike prices. Construct an Excel file with the same structure as SPX.xls. Repeat the parts (a)–(f) using your file. Note that you need to proper implement all the parts above, to make sure that your code will work with the new file. Also, the code that you submit will be tested with our file having the same structure as SPX.xls, for which the results are known. To get full credit in this questions, your results should match with the correct ones.
Bonus The bonus isn’t required by most students. However if your situation de- mands it for this bonus problem please read the article at: http://www. stat.purdue.edu/research/technical_reports/pdfs/2005/tr05-02.pdf. Then implement the methodology using general smoothing splines. The same package used in the paper also exists in R “gss”. Then apply the methodology to the same data as in the problem 3. Write a few sentences comparing the results obtained here with the surface obtained in problem
3.
7
References
[1] Dupire, Bruno. Pricing with a smile. Risk Magazine, January 1994, Incisive Media.
8