**Welcome to THETAWIKI**. If you like to create or edit a page please make sure to login or register an account. All registered users please make sure to provide a valid email address.

# American Option

## 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. For example, 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 is when the expected value of continuation `E(V)` is less than the current exercise value `K-S` of the option.

## Modeling American put in ThetaML

The model 'AmericanPut' computes the American Put option prices, assuming 52 exercise times. The underlying 'S' and the discount numeraire 'EUR' are processes simulated externally. For example, the process 'S' can be a stock price process that follows a Geometric Brownian Motion or a Heston Volatility process. The discount numeraire 'EUR' can be a constant discount curve as implemented in Discounting, or a stochastic process that has a dynamics as defined in the CIR model.

%% The model American computes an approximation %% of the price "P" of a continuously exercisable put %% option based on 52 exercise dates. model AmericanPut import S "Stock price process" import K "Option strike price" import EUR "Discount numeraire" import T "Option maturity time" export P "Option Value" %at current time, set the option value to have the same distribution %as the variable 'V'; the ThetaML future operator '!' accompanying the %variable 'V' acts like a function on 'V', such that the values of 'V' %at current time remain to be determined at a later instance when 'V' %is assigned some values P = V! %'n' number of exercise times n = 52 %loop 'n' times loop n %the ThetaML command 'Theta' passes time by 'T/n' years Theta T/n %the ThetaML function E approximates the early exercise value, computed using the %Least Squares Monte Carlo method combined with the sparse grid basis functions if E(V!) < (K - S)*EUR V = (K - S)*EUR end end %at option maturity time T, set the option payoffs; %the option payoffs are discounted to time 0 by the discount numeraire'EUR' V = max(K - S, 0)*EUR end

`(Samples/Derivatives/american.thetas)`

## Thetagram graphic illustration of modelling American put

## Numerical example of pricing American put

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:

## Simulation optimizations

There are a few techniques which can increase significantly the efficiency for computation. 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_accurate' computes the American Put option prices, assuming 252 exercise times. The underlying 'S' and the discount numeraire 'EUR' are processes simulated externally. For example, the process 'S' can be a stock price process that follows a Geometric Brownian Motion or a Heston Volatility process. The discount numeraire 'EUR' can be a constant discount curve as implemented in Discounting, or a stochastic process that has a dynamics as defined in the CIR model.

%% The model American computes an approximation %% of the price "P" of a continuously exercisable put %% option based on 252 exercise dates. model American_accurate import S "Stock price process" import K "Option strike price" import EUR "Discount numeraire" import T "Option maturity time" export P "Option Value" %at current time, set the option value to have the same distribution %as the variable 'V'; the ThetaML future operator '!' accompanying the %variable 'V' acts like a function on 'V', such that the values of 'V' %at current time remain to be determined at a later instance when 'V' %is assigned some values P = V! %'n' number of exercise times n = 252 %loop 'n' times loop n %Optimization 1: Hedge the option value %the ThetaML function 'Beta' computes an optimal hedge ratio based on its two arguments V = V! - Beta(S!,V!)*(S!*EUR!-S*EUR) %the ThetaML command 'Theta' passes time by 'T/n' years Theta T/n % Optimization 2: Compute expectation of "in-the-money" paths only. if (K-S)*EUR > 0 %the ThetaML function 'E' approximates the early exercise value, computed using the %Least Squares Monte Carlo method combined with the sparse grid basis functions if E(V!) < (K - S)*EUR V = (K - S)*EUR end end end %at option maturity time T, set the option payoffs; %the option payoffs are discounted to time 0 by the discount numeraire 'EUR' V = max(K - S,0)*EUR end

(Samples/Derivatives/american.thetas)