13 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 ...
Richi Wa's user avatar
  • 13.6k
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 ...
Quantuple's user avatar
  • 14.5k
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, \...
Neeraj's user avatar
  • 2,218
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 ...
Kevin's user avatar
  • 15.3k
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 ...
bcf's user avatar
  • 2,778
9 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 ...
Yian Pap's user avatar
  • 521
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 ...
Quantuple's user avatar
  • 14.5k
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. ...
Quantuple's user avatar
  • 14.5k
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'...
Luigi Ballabio's user avatar
8 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 ...
David Duarte's user avatar
  • 5,685
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 ...
g g's user avatar
  • 1,973
7 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) ...
Quantuple's user avatar
  • 14.5k
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 ...
Quantuple's user avatar
  • 14.5k
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 ...
Dimitri Vulis's user avatar
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 (...
mmencke's user avatar
  • 835
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. ...
bcf's user avatar
  • 2,778
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 ...
Quantuple's user avatar
  • 14.5k
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 ...
Kiwiakos's user avatar
  • 4,307
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} \...
LocalVolatility's user avatar
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 ...
LocalVolatility's user avatar
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 ...
Quantuple's user avatar
  • 14.5k
6 votes

Risk Neutral and Real World Valuations using Monte Carlo

You probably wonder whether $\mathbb{E}^\mathbb{P}[P_T\mid\mathcal{F}_t]= \mathbb{E}^\mathbb{Q}[P_T\mid\mathcal{F}_t]$. Note the $T$ as index, i.e. the future unknown payoff and not the current price $...
Kevin's user avatar
  • 15.3k
5 votes
Accepted

Testing a Monte Carlo simulation independently

I wouldn't repeat the same algorithm on Excel, because if you make a mistake in your Python code, it's likely that you'll also make the same mistake in your Excel code. Quants usually test an ...
SmallChess's user avatar
  • 2,255
5 votes

Can call options be priced with Least-Squares Monte Carlo?

American calls on a non-dividend paying stock are worth the same as European ones so there is no point to using least-squares.
Mark Joshi's user avatar
  • 6,873
5 votes

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

You should see this as a comment to @Kiwiakos answer which already hit the bull's eye. In the SE question you're referring to and to which I have answered, the idea was simply to provide you with a ...
Quantuple's user avatar
  • 14.5k
5 votes
Accepted

Is This A Viable Alternative Options Pricing Method?

You are trying to price an option through Monte Carlo simulations. Here is how it should work, assuming the Black-Scholes diffusion framework. Under the Black-Scholes model's assumptions, the value ...
Quantuple's user avatar
  • 14.5k
5 votes

How to generate simulated stock price from historical data using R?

This approach is rather crude. It only takes the mean and volatility of the historical returns and assumes a very simple model. I'm not sure if you have much experience with Time Series, but your ...
user24039's user avatar
5 votes

Do we need to derive the PDE for the option price when applying Least Squares Monte Carlo?

You do not need the PDE to implement the LSM algorithm. The $T$ maturity American call price on time $t$ is $$v_t = \max_{\tau} E_t\left[e^{-\int_t^\tau r(u) du} (S_\tau - K)^+\right]$$ where the max ...
Antoine Conze's user avatar
5 votes

Multithreading Monte-Carlo pricing in QuantLib for a single product

Adding to Luigi's answer, second point: The issue of overlapping Mersenne Twister sequences can be addressed with dynamically created Mersenne Twister Generators, cf. http://www.math.sci.hiroshima-u....
Peter Caspers's user avatar

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