Skip to content
All library documents

Debugging an American Put Binomial Pricing Model

Article Quant Q&A · Author: mliang

Summary

This document asks why a 15-period binomial model gives an unexpected value for an American put under specified Black–Scholes assumptions. It does not provide a corrected price or a specific diagnosis. Instead, the response offers a general debugging approach: simplify the model and test it on easier claims and parameters, then compare the implementation with a hand-calculated option tree if the problem persists. Inspecting the full lattice can help identify the first point where computed values diverge from expected values.

The guidance treats understanding the binomial method as essential to finding coding errors, and notes that several errors may need to be corrected one by one. Its evidence is procedural advice rather than a worked pricing example, validation benchmark, or derivation. It therefore cannot establish whether the reported price is wrong, identify the source of a discrepancy, or explain the calibration choices for the tree. Readers still need to verify the model’s assumptions, parameter construction, and early-exercise valuation independently.

Key ideas

  • Test a binomial implementation first with simpler parameters and claims.
  • Compare the computed lattice with a hand-worked tree to locate the first divergence.
  • Inspecting intermediate tree values can help isolate coding errors.
  • Understanding the pricing method is necessary to diagnose implementation mistakes.

Tags

Full text
# American Put Option Pricing


# American Put Option Pricing












I am trying to solve a question of American Put Option pricing as below.

Build a 15-period binomial model whose parameters should be calibrated to a Black-Scholes geometric Brownian motion model with: T=.25 years, S0=100, r=2%, σ=30% and a dividend yield of c=1%. Compute the fair value of an American put option with strike K=110 and maturity n=15 periods.

I built the stock and option lattice and my model is showing the price of the American put option is 10.89 but this is not the correct answer. I am wondering if anyone can assist in guide me on how to solve and find the correct American put option price? Thanks.

## Answer by terenaam (score -1)

https://quant.stackexchange.com/a/46140

It's hard to help without knowing how you tried to solve the problem.

However, here's an idea:

- try to make the model simpler (simpler parameters) and price a simpler claim. Then look at the results. Are they correct now? If yes, then you can look at your code and figure out what might be going wrong when you change the parameters.

- If your result is incorrect regardless of what parameters you chose, then, again, price a simple option, but also work it out by hand. Work through the entire tree and compare your manual solution to your code's output (you should be outputting the entire tree). Where does it go wrong first?

Basically, just try to figure out what part of your code is causing the mistake. Note that several parts of your code may be causing the mistake, but you need to find each one, fix it, and then repeat the process until it works.

Don't let it frustrate you: that's how everybody does it. Very few write code that just works on first attempt. Debugging is part of coding. What's important though is that you understand the binomial method and how it works: you need to know that in order to be able to actually spot a mistake in your code.

The above usually works.

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.