Samarth Sudarshana

Finance / Python models

One contract.
Three ways to price it.

Compare a closed-form solution, a branching tree and a simulated distribution. See how the assumptions move the price.

Black–ScholesBinomial treeMonte Carlo

The contract

01 / Inputs
Numerical settings

Prices are per underlying unit. Rates and dividends are continuously compounded. Inputs start with an illustrative example.

Ready to calculate the example.

The valuation

02 / Results

Calculate to compare the three models.

Black–Scholes

Not calculated

European closed form

Monte Carlo

Not calculated

European simulation

Simulation uncertainty will appear here.

European sensitivities

Per underlying unit

European implied volatility

Enter a market premium to solve for volatility.

Behind the numbers

04 / Methods

Closed form

Black–Scholes assumes European exercise, constant volatility and interest rates, continuous dividend yield, and lognormal stock prices. Greeks measure local changes under those assumptions.

Early exercise

The Cox–Ross–Rubinstein tree compares continuation value with immediate exercise at each step for American options. More steps generally improve the approximation. Continuous yield does not model discrete dividend dates.

Simulation

Monte Carlo samples exact terminal stock prices under the risk-neutral model. Each normal draw is paired with its negative. The approximate 95% interval measures sampling uncertainty across independent pairs, not uncertainty in the model.

Reading the results

Time uses calendar days divided by 365. Theta is per calendar day; vega and rho are per percentage point. Implied volatility uses European bounds and bisection. At expiry or zero volatility, Greeks are marked unavailable.

All valuation and chart data are calculated in Python. Manual inputs only, with no live market quotes. These are theoretical model values.