Stulz Model and Monte Carlo Simulation


New Member

I'm trying to reply Stulz Model closed solution by Monte Carlo Simulation but I don't obtain the same output for a basket of two equities. I mean the option price for Min(Equity 1, Equity 2).

I'm using the Matlab’s function minassetbystulz and Espen Gaarder Haug excel function. In both cases, I obtain the same option price but when I use Monte Carlo Simulation I don’t obtain the same option price. To simulate the basket I consider Cholesky.

I price vanilla options by Monte Carlo Simulation (I mean the script used to simulate) and the option prices are similar than Black Scholes for the two equities; so I guess there are not mistakes in Monte Carlo Simulation script.

Any idea?


Daniel Duffy

C++ author, trainer
It means your MC algorithm is wrong. You have an error or default (somewhere) in your algo/code.


Daniel Duffy

C++ author, trainer
To be honest, there's no way to help because there's no real information to go on.. Some ways to help;

  1. What are the input?
  2. Output (Espen Haug's and yours)?
  3. Algortthm used.
  4. Does it work some parameters (sometimes/never)
  5. MC parameters and RNG
Last edited:


New Member
Dear Daniel Duffy, thanks for your answer.

To price a Worst of option for two underlyings I use matlab's function minassetbystulz and Haug's VBA function. I get the same price. As matlab's function minassetbystulz and Haug's VBA function consider only one strike price, I "transform" the original prices. So the inputs are:

S1(*) = S1/K1
S2(*) = S2/K2
K = 1
Inputs for interest rate, volatilities and dividen yields are as usual.

I price a Worst of using MC Simulation for S1 and S2 prices; and also for S1() and S2().

In order to validate my MC Simulation algorithm I only price vanillas options for every single underlying of a correlated basket. To correlate I used matlab's Chokesky function. For every single underlyng I price a Call and a Put option and compare with Black Scholes. As the differences are neglibible (I guess, by the number of simulation), I considered my MC Simulation algorithm is correct (now I have doubts).

I will check RNG (I use a matlab's function) and I'll incorporate pseudo random numbers in MC Simulation.

After solving this little problem I would like to use Heston Model.

Thanks again