DeskPrep
PYTHONintermediate~55 min

Binomial / American Pricer

Build a Cox-Ross-Rubinstein lattice, confirm it converges to Black-Scholes, then price an American put and report the early-exercise premium.

Task brief

README.md
# Binomial / American Pricer

**Role relevance:** Quant developer take-home
**Estimated time:** 55 minutes
**Difficulty:** Intermediate
**Format:** Python (.py)

## What you are given
- binomial_pricer_starter.py with the function signatures stubbed and a self-check harness
- A closed-form Black-Scholes function, for the convergence check only

## What you must deliver
1. CRR tree parameters with a guard on the risk-neutral probability
2. European call and put by backward induction, converging to Black-Scholes
3. An American put via max(continuation, intrinsic) at each node
4. The early-exercise premium, and a comment on when it is largest

## Constraints & assumptions
Standard library only - math and statistics, no numpy or scipy. Non-dividend-paying stock. One rolling array is enough storage; do not build the full tree.

## Submission note
Complete the starter file, then compare your work against the mark scheme.

What you'll learn

  • Price any option on a lattice by backward induction
  • Understand why American puts can be exercised early and calls on a non-dividend stock cannot
  • Demonstrate convergence of the tree to the closed form