Project

Interactive MATLAB European Option Pricer

An interactive MATLAB application helps students compare European option prices from Black-Scholes and Monte Carlo methods and explore simulated price paths.

Period
December 2025
Status
Course project
Stack
MATLABMATLAB App DesignerBlack-Scholes modelMonte Carlo simulationGeometric Brownian Motion

Option pricing

Simulate thousands of possible futures. Their average is an informed estimate.

today1 year · 252 trading days8010012014016030 of 50,000 simulated futureseach starts at 100 · 20% volatility · one step per trading day

Starting at 100, the simulator draws a year of daily price moves with 20% volatility, again and again. Each line is one possible future; they spread as the randomness adds up. 30 are drawn, 50,000 are computed.

Option
Volatility

Prices here are simulated, not market data. They are computed live in your browser with the same method as the MATLAB app (Monte Carlo over geometric Brownian motion, checked against Black–Scholes). Educational only; not financial advice.

What it does

Price an option two ways, and see why they agree.

  • Takes the option and market inputs and returns the Black–Scholes value and a Monte Carlo estimate with its standard error.
  • Shows simulated price paths, which ones pay, and how the average settles.
  • Repeats any run with a fixed seed.
50,000simulated paths over 252 trading days; 30 drawn so the chart stays readable
9.42 · 9.44formula and simulation for the defaults on this page, within the uncertainty band

01Context

The problem,and my part in it.

The problem

An analytical formula can return an option value immediately, while a simulation produces many possible asset trajectories and a distribution of payoffs. Connecting those two views requires more than adding a price label: the interface must keep inputs consistent, translate terminal outcomes into option payoffs, and communicate the estimator's uncertainty.

What I did

I built the app and its maths: an interactive pricer where the formula and the simulation check each other.

  • Wrote the Black–Scholes, Monte Carlo and price-path routines as standalone functions, kept separate from the interface.
  • Built the App Designer pricer and simulator, with input checks and plots.
  • Made runs repeatable with optional seeds, and handled zero maturity and zero volatility directly.
  • Kept 50,000 paths for the estimate while drawing only 30, so the charts stay readable without losing accuracy.

02Decisions

How it was built,and why.

Decision 01Separate numerical functions from callbacks

The GUI coordinates inputs and presentation while standalone routines own the mathematics. A likely benefit is easier independent reuse and checking. This requires passing results and plotting data across the boundary; embedding the formulas in callbacks would keep everything together but couple the calculation to the interface.

03Next

Where it goesfrom here.

  1. 01

    Open it up as a teaching tool: free inputs and side-by-side scenarios.

  2. 02

    Add runtime and convergence benchmarks on top of the existing test suite.

  3. 03

    Go beyond European options: early exercise and changing volatility.

Next projectMulti-Agent Collaboration for Mathematical Reasoning