American Option
From ThetaWiki
Contents |
Description
An American option can be exercised at any time up to the maturity date. This means one has to determine an optimal exercise strategy in order to evaluate this option. The option holder has to decide when to exercise the put value K-S of the option. It turns out that the optimal time to exercise it is when the expected value of continuation E(V) is less then the current exercise value K-S of the option.
Modelling in ThetaScript
%% The model American computes an approximation %% of the price "P" of a continuously exercisable put %% option based on 50 exercise dates. model American import S "Stock" import K "Strike" import EUR "Numeraire" import T "Maturity time" export P "Option Value" P = V! n = 50 loop n Theta T/n if E(V!) < (K-S)*EUR V = (K-S)*EUR end end V = max(K-S,0)*EUR end
(Samples/Derivatives/american.thetas)
Thetagram

Numerical Example
| Parameter | Symbol | Value |
| Strike | K | 100 |
| Risk-free rate | r | 5% p.a. |
| Volatility | sigma | 40% p.a. |
| Exercise price | K-S |
The true option price is P = 13.66761. The above ThetaScript with 100000 paths delivers P = 13.623 +- 0.091 with a distribution for P as shown below:
Optimizations
There are a few techniques which can increase the efficiency of the evaluation significantly. For example the script below evaluates to P = 13.652 +- 0.035 with only 10000 paths. Methods for increasing accuracy can be found in Tips and Tricks.
%% The model American computes an approximation %% of the price "P" of a continuously exercisable put %% option based on 250 exercise dates. model American_accurate import S "Stock" import K "Strike" import EUR "Numeraire" import T "Maturity time" export P "Option Value" P = V! n = 500 loop n % Optimization 1: Hedge the option value V = V! - Beta(S!,V!)*(S!*EUR!-S*EUR) Theta T/n % Optimization 2: Compute expectation of "in-the-money" paths only. if (K-S)*EUR > 0 if E(V!) < (K-S)*EUR V = (K-S)*EUR end end end V = max(K-S,0)*EUR end
(Samples/Derivatives/american.thetas)

