Valuing American Options Using Monte Carlo Simulation –Derivative Pricing in Python

Follow us on LinkedIn

In a previous post, we presented the binomial tree method for pricing American options. Recall that an American option is an option that can be exercised any time before maturity.

A drawback of the binomial tree method is that the implementation of a more complex option payoff is difficult, especially when the payoff is path-dependent. For example, for an American double-average option with periodic sampling time points, the strike price is not known at the start of the option.  It can only be determined in the future and is therefore path-dependent.  Another example is an American forward start option. These options cannot be valued using the binomial tree approach.

In this post, we are going to present a method for valuing American options using Monte Carlo simulation. This method will allow us to implement more complex option payoffs with greater flexibility, even if the payoffs are path-dependent. Specifically, we use the Least-Squares Method of Longstaff and Schwartz [1] in order to take into account the early exercise feature.  The stock price is assumed to follow the Geometrical Brownian Motion and the dividend is simulated continuously.

Using this approach, it would be optimal to exercise the option if the immediate payment is larger than the expected future cash flows, otherwise it should be kept.  Specifically, for each generated path, we regress the future payoffs on the basis functions of S and S2[2]. The regression equation provides us with estimation for the expected value of future payoffs as a function of S and S2. This expected value is the value of holding on to the option, i.e. the continuation value. Using the regression equation, we can decide if it is preferable to exercise the option immediately or to wait one more period. This procedure is repeated backward from the maturity date to the time zero. Finally, the price of the option is calculated as the average value of all the discounted payoffs.

We implemented the Least-Squares Method of Longstaff and Schwartz in Python and priced the option presented in the previous post.  The main input parameters are as follows,

Derivative Pricing in Python

The picture below shows the results obtained by using the Python program.

Valuing American Options Using Monte Carlo Simulation

 

References

[1] F. Longstaff and E. Schwartz, Valuing American options by simulation: A simple least-squares approach, Review of Financial Studies, Spring 2001, pp. 113–147.

[2] S denotes the stock price. Other basis functions can also be used.

Further questions

What's your question? Ask it in the discussion forum

Have an answer to the questions below? Post it here or in the forum

LATEST NEWSPoland to spend 5% of GDP on defence in 2025, says foreign minister
Poland to spend 5% of GDP on defence in 2025, says foreign minister
Stay up-to-date with the latest news - click here
LATEST NEWSWhat happens to solar stocks if Trump wins? RBC weighs in
What happens to solar stocks if Trump wins? RBC weighs in
Stay up-to-date with the latest news - click here
LATEST NEWSBrutal $60,000 Bitcoin (BTC) Reversal, Shiba Inu (SHIB) to Lose 13% in Next Few Days, Solana (SOL) Will Start Further Growth From $135
Brutal $60,000 Bitcoin (BTC) Reversal, Shiba Inu (SHIB) to Lose 13% in Next Few Days, Solana (SOL) Will Start Further Growth From $135
Stay up-to-date with the latest news - click here
LATEST NEWSChina's vice commerce ministry meets Walmart CEO McLay
China's vice commerce ministry meets Walmart CEO McLay
Stay up-to-date with the latest news - click here
LATEST NEWSWorkers Are Missing From Starmer’s Plan to Spur UK Housebuilding
Workers Are Missing From Starmer’s Plan to Spur UK Housebuilding

Prime Minister Keir Starmer’s promise to “get Britain building again” will quickly face a shortage of skilled workers in the very industries he’s hoping will power the turnaround.

Stay up-to-date with the latest news - click here

Leave a Reply