Different methods are needed for pricing different derivatives depending on their structures. For European-style derivatives, the value of which only depends on the spot price at expiration, the Monet Carlo method is widely used. Pricing American-style derivatives require evaluation on each time step to check early exercise decisions. The difference in exercising timing can be understood in the following way. Denote
-
$V_{t},~~ C_{t},~~ E_{t}~:$ as the option’s value, continuation value, and exercise value -
$S_{t},~~ K~:$ as the spot price, and strike -
$P_{i}^{E}~:$ as the probability of the option exercise decision being made on time step$i$ -
$P_{i}~:$ as the probability that the option is exercised on time step$i$
An American option’s exercise value is the difference between strike and spot price or zero, the same as European option when
The American-style [[Option Foundations|option’s]] value is the higher of its continuation value and exercise value
An American put option can be thought of a series of events. Each event represents the option being exercised on a particular time step. The expected value of the set of these events, is the option’s value. By the law of total expectation, the option’s value is the sum of expected payoff for each time step. where, the expected exercise value of an option at time step
Therefore, if the continuation value of an American option is known, one can compare it with the option’s exercise value to get the option’s price. However, the continuation value is more challenging to get. If the price of the option depends on just one variable, the lattice models can be used. In his work on option valuation with swarm particle optimization, Dr. Chen introduced the general methods of derivative valuations. The lattice models, such as the binomial tree, or finite difference are efficient, in terms of the balance between speed and accuracy, in solving univariate continuation value problems. Also, since lattice models require discrete time, they can value options that don’t just depend on the final state. However, if the derivative’s value depend on more than one variable, the lattice models become infeasible. In order to solve multivariate continuation value problem, the Monte Carlo method can be modified using these two popular approaches. (Chen)
The first, proposed by Longstaff and Schwartz (2001), being approximating the continuation value of options via a regression function of an arbitrary form. There is one problem with this approach: the exact functional form of the regression needs to be provided as an input. Since the function itself is uncertain, the continuation value cannot be exact. The other approach is to treat derivative pricing as a free-boundary partial differential equation problem. Similarly, if the boundary can be estimated accurately, the price of an American-style derivative can be calculated, just as a barrier option. The second approach is more computationally efficient, but its accuracy depends on the estimation of boundary.
The Least-Squares Monet Carlo method proposed by Longstaff and Schwartz (2001) emphasizes on conditional expectation function. At each time step, one compares the option’s exercise value with its expected continuation value; if the payoff for immediate exercise is higher than that of holding such options, early exercise should be made; otherwise, the options should remain open. The expected continuation value for each time step is conditioned on prior information. With the least-squares method, one can estimate this conditional expectation from the simulated cross-sectional information, allowing Monte Carlo method to be applied to path-dependent and multivariate options. Such conditional expectation function can be found via regressing the realized continuation payoffs on the basis function for each underlying asset, with the calculated fitted values as the expected continuation values. Then, the optimal strategy for each simulated path can be obtained; option’s value for each path, is then obtained by discounting the optimal payoff to time zero. The option’s value is,
and the continuation value is understood as the risk-neutral expected value
Using a simple quadratic regression,
with a boundary condition of option price at expiration is its exercise value,
Pricing American style option is a type of free boundary problem, which, according to Wikipedia, is a [[Black-Scholes Partial Differential Equation|partial differential equation]], involved with an unknown function
Since exercise should happen if the exercise value exceeds continuation value, meaning that at the boundary, the spot price and boundary price should be the same, the exercise value is strike over spot price at time of exercise
Expand on the expectation on the option’s value formula, we get
The common types of function that the boundary function can take include, constant, linear, exponential, exponential constant, polynomial and carr et al.
The problem was formulated as a parabolic partial differential inequality problem, which can be reformulated as a linear complementarity problem (LCP), i.e., Given a matrix.
- the vectors are non-negative (
$w,z \geq 0$ ) - satisfy the complementary conditions (
$z^Tw = 0$ ) $b = Aw+q$
For the American Option pricing problem, there is a matrix
where
An iterative method to solve this linear system of equations is successive over-relaxation (SOR).
Replacing PDE with a system of linear equations. American Put (Brennan and Schwartz)
- Calculate the RL-decomposition of A
- Set
$\tilde A = L$ , and calculate$\tilde{b}$ from$R\tilde{b}=b$ , via a backward loop - forward loop for growing i:
- Start with
$i=1$ . Calculate the next component of$\tilde{A}w=\tilde{b}$ - denote it
$\tilde{w_{i}}$ . Set$\tilde W_{i} := {\tilde{w_{i}}, g_{i}}$
- Start with
Solving the system by SOR, and get option prices,
- Verify call or put, by comparing r, the interest rate, and delta, the dividend rate (used in this package). The interest rate must be higher than dividend for a call option. For a put there is no such requirement.
- define parameters, such as spot space, time space, q, degree of accuracy, theta, lambda…
- verify that the algorithm is stable by checking is lambda > 0.5
- initialize variables, such as time/spot space, boundary conditions and empty matrix for storing the result.
- Core algorithm
- fill matrix b with values. Case 1 and 2 are boundary condition, and case 3 is for calculating values between each spot price step.
- initialize vector V for storing option prices at each time step, to be the max of exercise value and zero.
- Use SOR iteration to get
$w$ of the system of linear equations, then transform the results into original dimensions and re-arrange t and V in an increasing time order.
Output: V : Matrix with corresponding stock values:
- The value
$V(i,j)$ is the option price corresponding to the stock price$S(i)$ and the time value$t(j)$ , for$i = 1,...,m+1$ and$j = 1,...,n+1$ .
Get the exercise boundary
- Define and initialize variables.
- for American Put option, the exercise boundary price is the last
$n$ indices corresponding to nonzero elements in abs(V(:,j)-K+S)< eps_star, which is the indice of last option at boundary condition. For its index correlated to Spot prices matrix, we can find the boundary spot prices.
Output:
- The values
$(t(j),Sf(j))$ form the optimal exercise boundary.
We chose the following methods to compare the performances in pricing the put options with the above algorithms, using MATLAB:
This package was found on MATLAB forum, which is described in part 3
- FreeBoundary
These following methods are from standard MATLAB packages (financial toolbox and financial instrument toolbox)
- Simple Monte Carlo Simulation with Longstaff-Schwartz least squares method.
- With the Cox-Ross-Rubinstein method
- with the Barone-Adesi and Whaley (BAW)
We also found another package from MATLAB forum
- BAW Quadradtic Approximation
- Early Exercise Boundary Approach (EEB)
- EEB Antithetic Variates (AV)
- EEB Control Variates (CV)
- EEB AV CV
We consider the following cases, for each IV = 0.05, 0.1, 0.15, compare the option prices calculated using above methods with r = 0.03, 0.06, 0.09. And,
σ = 0.05 | Option Price | Running Time | |||||
r | 0.03% | 0.06% | 0.09% | ||||
Sim | 9.9910 | 9.9818 | 9.9729 | ||||
CRR | 10.0000 | 10.0000 | 10.0000 | ||||
BAW | 10.0000 | 10.0000 | 10.0000 | ||||
BAW Quad | 10.0000 | 10.0000 | 10.0000 | ||||
EEB | 9.9913 | 9.9843 | 9.9763 | 0.0050 | 0.0050 | 0.0050 | |
EEB AV | 9.9918 | 9.9835 | 9.9752 | 0.0050 | 0.0050 | 0.0050 | |
EEB CV | 9.9922 | 9.9843 | 9.9752 | 0.0050 | 0.0050 | 0.0050 | |
EEB AV CV | 9.9917 | 9.9835 | 9.9751 | 0.0050 | 0.0050 | 0.0050 | |
Boundary | 10.0000 | 10.0000 | 10.0000 | 0.0700 | 0.0280 | 0.4480 | |
σ = 0.10 | Option Price | Running Time | |||||
r | 0.03% | 0.06% | 0.09% | ||||
Sim | 10.0060 | 9.9828 | 9.9729 | ||||
CRR | 10.0000 | 10.0000 | 10.0000 | ||||
BAW | 10.0000 | 10.0000 | 10.0000 | ||||
BAW Quad | 10.0000 | 10.0000 | 10.0000 | ||||
EEB | 9.3373 | 8.2473 | 7.2542 | 0.4072 | 0.2822 | 0.1981 | |
EEB AV | 9.9935 | 9.9835 | 9.9752 | 0.0058 | 0.0050 | 0.0050 | |
EEB CV | 9.9963 | 9.9770 | 9.9694 | 0.0059 | 0.0050 | 0.0050 | |
EEB AV CV | 9.9889 | 9.9835 | 9.9753 | 0.0061 | 0.0050 | 0.0050 | |
Boundary | 10.0130 | 10.0000 | 10.0000 | 0.0000 | 0.0080 | 0.4930 | |
σ = 0.15 | Option Price | Running Time | |||||
r | 0.03% | 0.06% | 0.09% | ||||
Sim | 11.1480 | 10.3190 | 10.0020 | ||||
CRR | 11.1800 | 10.0130 | 10.0000 | ||||
BAW | 10.9810 | 10.2350 | 10.0000 | ||||
BAW Quad | 10.9810 | 10.2350 | 10.0000 | ||||
EEB | 10.9040 | 9.5698 | 8.5868 | 0.4183 | 0.3226 | 0.2561 | |
EEB AV | 11.0470 | 10.2730 | 9.9865 | 0.2519 | 0.0855 | 0.0066 | |
EEB CV | 11.0340 | 10.2570 | 9.9933 | 0.2450 | 0.0849 | 0.0068 | |
EEB AV CV | 10.9650 | 10.2380 | 9.9827 | 0.2514 | 0.0879 | 0.0065 | |
Boundary | 11.0500 | 10.2950 | 10.0180 | 0.0000 | 0.0000 | 0.0000 |
For IV = 0.05, we find that the free-boundary method is very similar to the results of the built-in methods from standard MATLAB toolboxes, and the prices as well as standard deviation are within expectation. With the interest rate going up, the American put option price is lower, and the standard deviation among different methods gets bigger. For the methods from the other package we found, the results are more interesting. The Early Exercise Boundary Approach produces output that are less consistent.
As expected, as IV goes up, the option’s price also goes up, which is the case for all methods we are testing. However, the increase of option prices w.r.t increasing IV, is more obvious for interest rate that’s lower. As interest rate goes up, the price goes down, and the standard deviation goes up.
Seydel, Rüdiger, and Rudiger Seydel. Tools for computational finance. Vol. 3. Berlin: Springer, 2006.
https://en.wikipedia.org/wiki/Successive_over-relaxation
#ToDo
- cite Chen
- cite Longstaff and Schwartz (2001)
- add matlab code snippets
- add more plots
- find better ways to embed plots