Asian options (Monte-Carlo)

Monte-Carlo pricing for fixed- and floating-strike arithmetic Asian options, including in-the-money statistics.

Each run draws random paths, so the price will move a little if you calculate twice. Defaults are 500 simulations and 5 steps. Figures are theoretical and for information only.

Type a symbol, then Load or leave the field. Spot, ~30-day historical realized vol, and a US risk-free proxy are filled when the ticker is found. Strikes and target are recentered near the new spot.

Delayed/free data. Historical realized vol is not implied vol from an options chain. Not investment advice.

Results

Call price
—
Put price
—
Total time (seconds)
—
Max spot average
—
Min spot average
—
ITM call rate (%)
—
ITM put rate (%)
—

How the Asian Monte-Carlo price is built

An arithmetic Asian looks at the average of the underlier along the life of the option. This page simulates that average rather than using a closed form.

Fixed-strike call = e−rT × max(A − K, 0)

  • A — arithmetic average of spot over the initial level and each simulated step (Steps + 1 points)
  • K — strike you enter (fixed-strike mode only)
  • Floating-strike call = e−rT × max(ST − A, 0); the put swaps the difference
  • The printed price is the average of those discounted payoffs over all paths, rounded to three decimals

Each step applies a normal shock scaled to the step length (using 252 trading days inside the vol scaling) and a drift from the risk-free rate. Spot is floored at zero. Because the draws are random, two identical submissions will not match to the last thousandth.

Worked examples

The first two examples are deterministic payoffs on a single path, using the same rounding as a finished price (three decimals after discounting). The third compares a typical Monte-Carlo run with the closed-form vanilla on this site. Your simulated prices will differ from run to run.

Fixed-strike path with A = 108

Spot started at 100, strike 100, one-year 1% rate. If this path’s average is 108, the discounted call is e−0.01 × 8.

Undiscounted call
8
Discounted call
7.920
Put on the same path
0.000

Floating-strike path, ST = 95, A = 102

The strike is the average, so the call is out of the money and the put collects the gap. Same 1% one-year discount.

Call payoff
0.000
Put, undiscounted
7
Discounted put
6.930

Default market vs vanilla

Spot 100, strike 100, 30% vol, 1% rate, 365 days. A European vanilla call on the same inputs is 12.368. Averaging usually pulls the Asian below that; 500 paths of 5 steps still bounce around.

Vanilla ATM call
12.368
Vanilla ATM put
11.373
Asian (this page)
varies by run

Asians need a path. Vanilla Black-Scholes is the closed-form European, lookbacks use the path maximum and minimum instead of the average, and implied vol inverts a vanilla price.

Asian option FAQ

An arithmetic Asian: the payoff depends on the average simulated spot along the path, not only on the final spot. Fixed-strike calls pay the average minus a strike you enter; floating-strike calls pay the final spot minus that same average.

Each path starts at spot and takes the number of steps you chose. A step multiplies the level by one plus a normal shock scaled to that step, times a small drift from the risk-free rate. The average includes the starting spot. The discounted payoff is averaged over all paths.

The draws are random. Five hundred paths and five steps, the defaults, leave visible Monte-Carlo noise. More simulations tighten the estimate; more steps change how the average is sampled. Prices still round to three decimals.

Usually yes for a fixed-strike Asian versus a European vanilla on the same spot and strike, because averaging dampens the distribution of the underlier. The vanilla Black-Scholes ATM call on the default market is 12.368 on the option calculator; a typical Asian run sits below that, but the gap is not a guarantee on a short simulation.

ITM call (put) rate is the percent of paths whose discounted call (put) payoff was positive. Max and min average are the highest and lowest path averages seen in that run, not a confidence interval for the price.

When the strike is the path average itself. The strike input is disabled in that mode. A floating call pays max(final spot minus average, 0); a floating put pays the opposite difference.

Disclaimer: the contents of this website are for informational purposes only and do not constitute any investment recommendation. The visitor acts at his own risk.