# Pricing American options using Monte Carlo methods

Option pricing is an important area of research in the finance community. Actually, at the beginning, as a result of many problems in applying simulation, the primary methods for pricing American options are binomial trees and other lattice methods, such as trinomial trees, and finite difference methods to solve the associated boundary value partial differential equations (PDEs). Due to the complexity of the underlying dynamics, analytical models for option pricing entail many restrictive assumptions, so for real-world applications approximate numerical methods are employed, especially for American options, these include the valuation of options, the estimation of their sensitivities, risk analysis, and stress testing of portfolios. But, in recent years the complexity of numerical computation in financial theory and practice has increased enormously, putting more demands on computational speed and efficiency.One of the most popular numerical techniques in option pricing is Monte Carlo simulation that was coined by Stanislaw Ulam in the 1940’s. The Monte Carlo approach simulates paths for asset prices. For the n-dimension problem, Monte Carlo methods could converge to the solution more quickly, require less memory and are easier to program. In contrast to simpler situations, simulation is not the better solution because it is very time-consuming and computationally intensive.

Contents

1 Introduction
1.1Theoretical Background
1.2The Feynman-Kac Theorem
2 American options
2.1 American options
2.2 Risk-neutral valuation
2.3 Black–Scholes PDE
2.4 Black-Scholes Formula for European Options
3 Monte Carlo methods
3.1 Mathematical Background
3.2 Least Square Monte Carlo method (LSM)
3.3 Quasi-Monte Carlo Methods (low-discrepancy)
4 A Numerical Example and Results of LSM
4.1 Why American put options
4.2 An American Put on a Single Asset
4.3 American Puts on Multiple Underlying Assets
4.4 Two Important Articles on Higher-dimensional problems
4.5 Convergence Rates
Conclusion
Acknowledgements
References
Appendix Matlab codes