19 votes
Accepted

Black-Scholes under stochastic interest rates

We assume that the short interest rate $r_t$ follows the Hull-White model, that is, the short rate $r$ and the stock price $S$ satisfies a system of SDEs of the form \begin{align*} dr_t &= (\...
  • 20.5k
13 votes
Accepted

Least Squares Monte Carlo

To compute the price of an American option or a callable instrument in general, at each potential exercise date, one is required to compare its continuation value (discounted risk-neutral expectation ...
  • 14.1k
12 votes

Two correlated brownian motions

Here is the general approach you can follow to generate two correlated random variables. Let's suppose, X and Y are two random variable, such that: $$X \sim N(\mu_1, \sigma_1^2)$$ $$Y \sim N(\mu_2, \...
  • 2,168
10 votes
Accepted

Practical implementation of Least Squares Monte Carlo (tweaks and pittfalls)

LSM is very fiddly. The most important things in my view are 1) don't believe anyone who says that the choice of basis functions doesn't matter. 2) implement an upper bounder, eg Andersen--...
  • 6,763
10 votes

Greeks: Why does my Monte Carlo give correct delta but incorrect gamma?

the problem is that the pay-off has discontinuous first derivative. Try a contract with pay-off that is twice differentiable and it will probably work. The problem is that all the value comes from ...
  • 6,763
10 votes
Accepted

Two correlated brownian motions

First you need to correct the formula to: $$ W_t^2 = \rho W_t^1 + \sqrt{1-\rho^2} Z_t, $$ where $Z_t$ is a BM independent of $W_t^1$ If you calculate the variance and the covariance, then you see ...
  • 13.3k
10 votes
Accepted

How to simulate Levy processes

You have many different options. Firstly, you know the characteristic function for the log stock price and, using inversion, you can recover the (inverse) distribution and density function and ...
  • 14k
9 votes

Stopping Monte Carlo simulation once certain convergence level is reached

You have the right idea, but it seems you don't know $\mu$, so using it in your error check doesn't seem correct. Also, checking the result every 10,000 iterations may not be optimal for deciding ...
  • 2,758
8 votes
Accepted

Speeding up computations: when to use Quasi and standard Monte-Carlo in pricing

By definition the fair value of an option is given by an expectation value of the payoff, $\mathbf{E}\left[\textrm{payoff}(\textit{paths})\right]$. The probability distribution of the ...
  • 1,859
8 votes
Accepted

rate of convergence for Monte Carlo

The estimation error is a random variable and not a simple scalar. As such, when performing one-shot assessments, you could always end up observing that using $6400$ paths provides a "better" price ...
  • 14.1k
8 votes

Least Square Monte Carlo - american Call Option

If implemented properly, least-squares Monte Carlo as originally suggested by Longstaff-Schwartz should allow you to identify sub-optimal exercise dates and a lower bound of the true option price. ...
  • 14.1k
8 votes
Accepted

How are Brownian Bridges used in derivatives pricing in practice?

Yes, the term Brownian Bridge seems to be used loosely. I assume you are talking about continuously monitored barriers by the way, since you mention the probability of the barrier being crossed in ...
  • 511
8 votes
Accepted

Multithreading Monte-Carlo pricing in QuantLib for a single product

Yes, it can work. However, keep in mind that: you'll be safer if you don't share any objects between threads; see my answer here, in particular the last point; even if you use different seeds, there'...
8 votes

Limitations of Monte Carlo simulations in finance

The properties of standard Monte-Carlo are not determined solely by the underlying process. You need to include the instrument $f$ you want to price in your analysis as well. One measure for accuracy ...
  • 1,933
7 votes
Accepted

What are some examples of non-solvable SDE where Monte Carlo discretization is necessary

the LIBOR market model the Heston model -- Euler and Milstein are actually bad for this and much more sophisticated methods are necessary local volatility models
  • 6,763
7 votes
Accepted

Calibration by monte carlo, should I fix my seed?

It is not cheating. It allows you to make your results (e.g. prices, calibrated parameters) 'reproducible' which is good. However, fixing the seed can hide convergence issues. When the variance of ...
  • 14.1k
7 votes
Accepted

Why are Interest Rate Swaps not valued using Monte Carlo Simulations?

Forward rates are determined from current spot rates bootstrapped from traded instruments. The reason is that if the forwards were different from the ones inferred from the spot rates, there would be ...
  • 5,375
7 votes

Limitations of Monte Carlo simulations in finance

When I was first tasked with implementing VaR using MC in the 1990s, I knew little about MC, and there were no good books. The draft manuscript of Reuven Y. Rubinstein, Dirk P. Kroese. Simulation and ...
7 votes
Accepted

Problem with pricing a call option using the Monte Carlo Vasicek model

To make sure that I understand the problem: you are trying to price a call option expiring at time 0.5, which will exercise into a unit notional zero-coupon bond with a maturity of 1.0 at a strike (...
  • 845
6 votes
Accepted

What does "convergence" in Monte Carlo simulation mean?

To keep things simple let's assume you have a perfect random number generator (i.e. I will discuss only the statistics not the numerics of the problem). I will also focus on the practical matter and ...
  • 1,933
6 votes

Importance Sampling - where to center the sampling distribution?

importance sampling is well known to be tricky. See the extensive discussion in Glasserman's book. I presume that you are simply meanshifting and multiply by the ratio of normal densities. For this ...
  • 6,763
6 votes
Accepted

How many monte carlo runs do I need for pricing a Call?

It really, really, really depends on your parameters, i.e. $r$, $\sigma$, $K$, $T$, $S_0$. For example, here are some results from implementing the stopping criteria I explain in my answer here. ...
  • 2,758
6 votes

Pricing a log-contract using Monte Carlo

By definition, the payoff of a log-contract of maturity $T$ writes $$ \phi(S_T) = \ln\left(\frac{S_T}{S_0}\right) $$ Let $\Pi_t$ denote the $t$-value of such a contingent claim. We are interested in ...
  • 14.1k
6 votes
Accepted

Interpret simulation results ($P$ and $Q$ measures)

I believe that the confusion arises because of the wrong treatment of NIG. The answer to the question you link is misleading, as it simulates under P which is not appropriate for option pricing. None ...
  • 4,247
6 votes
Accepted

Deep ITM Call Implied Vol via Monte Carlo

[Short answer] IMHO there is a fundamental problem with wanting to extract a sound implied volatility figure out of a deep ITM option's price. You should use out-of-the-money forward options (OTMF) ...
  • 14.1k
6 votes
Accepted

How to perform Monte-Carlo simulations to price Asian options?

Instead of simulating the spot price, simulate its logarithm since the latter can be simulated exactly for any time step. \begin{equation} \ln S_{t + \Delta t} = \ln S_t + \left( r - \frac{1}{2} \...
6 votes
Accepted

Pricing a double barrier option using Monte Carlo (C++ & Python code included)

Here are at least three mistakes in your code: p += s0 * exp(...) should be p *= exp(...). Your volatility and rates are per ...
6 votes

Local Volatility with Monte Carlo Simulation

Let the risk-neutral dynamics under your LV model be given by $$ \frac{d S_t }{S_t } = \mu_t dt + \sigma(t,S_t) dW_t $$ Let's drop the drift contribution (not relevant here) and apply Itô's lemma to ...
  • 14.1k

Only top scored, non community-wiki answers of a minimum length are eligible