Final Project - FRE 6831
Longstaff(2001)[1] proposed a pricing model for American options by simulation. The model is flexible and applicable in path-dependent and multi-factor situations where traditional finite difference techniques cannot be used. In this project, we implemented this pricing model in Python and briefly evaluated this mode. Also we developed FD and binomial method for American options and the results turn out to be really close and verify the feasibility of these methods.
We value American options by simulating enough paths of underlying asset price and compute option price of these paths at each time backwards. At a certain time
where
where
In order to estimate continuation value only using out simulated asset price processes, we project continuation value on current asset value
We now give Python-style pseudo code of valuing American options using our model:
Full Python codes used in experiment could be found in appendix A. Option Valuer.py contains implementation of this pseudo code.
We first use geometric Brownian motion as in Black-Sholes model to simulate underlying asset price:
As mentioned in original paper, we use first 3 terms of Laguerre polynomials as well as a constant term as our base functions:
As in original paper, we set number of early exercise times as 50 per year, i.e. we take 50 points per year with equal interval from simulated paths. Since early experiment results suggests higher simulation number doesn’t affect valued price, we set it as 20,000 (10,000 antithetic in case of geometric Brownian motion) to instead of 100,000 as in original paper, in order to speed up our program.
We first applied our model on American put options and compared results with finite difference method.
Fixing strike price at 40 and risk free rate at 0.06, we computed American put option price when beginning asset price from 34 to 46, volatility is 0.2 or 0.4 and time to maturity is 1 or 2 years, using both our model and finite difference method.
Figure 1 shows valuing result of our simulation model and finite difference method. Difference of 52 option prices(13 prices for each combination of T and sigma) has a mean of 0.0255 and a standard deviation 0.0415.
We also computed price of American call option. We set strike as 40, risk free rate as 0.06. maturity time as year and year volatility as 0.2. Option prices of beginning asset price from 34 to 46 are then computed.
Figure 2 plots option prices for American call option.
I also tried the binomial method to value the American options and the results turned out to be very close to what we got with the FD method and the method we see in the paper.
As we can see in section 4.1 and the figures, our simulation model is able to estimate American options correctly. Its biggest disadvantage, however, is computing speed. It takes minutes compute one price since many rounds of regression is done (50 times per year in our setting) . When we use original paper's setting, 10,000 simulation paths, time cost would be much higher.
However our method is flexible and could be used in many cases without deriving new analytical formulas. It's even applicable when early exercise value is path dependent (i.e. American-Asian option).
We also implemented the binomial method and we could see that the result is perfectly matched, too. So in my opinion these three methods are all practicable in American option pricing. While considering processing speed, we'd better use FD method and Binomial method to reduce running time.
[1] Longstaff F A, Schwartz E S. Valuing American options by simulation: a simple least-squares approach[J]. Review of Financial studies, 2001, 14(1): 113-147.