Tag Info

Hot answers tagged

7

Quasi Random Numbers are more tricky than it might seem, using them as a black box like with PRNGs is risky. E.g. an unscrambled Sobol' sequence is uniform only asymptotically, while for realistic sample sizes there are subvolumes with significantly different densities. You often do not realize that because the convergence graph looks good anyway, it gives ...


5

There is Monte Carlo Simulation and there is Monte Carlo Simulation. If you are referring to a simple question like simulating dice or calculation of $\pi$ or even vanilla option price calculation, it is one thing and "concisely" available. I recommend get a gist of small examples from CS books and then get on with finance. But if you are referring ...


4

In general these are the two basic approaches to QuantFinance: Sell side (market maker, risk neutral): You use risk-neutral probabilities ("$\mathbb{Q}$") e.g. in option pricing (to e.g. calculate your greeks and hedge your portfolio), so that you live on the spread. Buy side (market/risk taker): You use real-world probabilites ("$\mathbb{P}$") for e.g. ...


4

You have typo "vol^2", but it should be "vol". Its $$\sqrt{\sigma^2T}=\sigma\sqrt{T}$$


3

The Black-Scholes price of this option is approximately $14.8$. When I run a Monte Carlo simulation with $10000$ paths and "exact" time stepping, I get results very close to this value. You are simulating the terminal asset price with the first-order Euler approximation over multiple time steps: $$S(t+\Delta t)= S(t) + rS(t)\Delta t + \sigma ...


3

Your question is too general because Monte Carlo methods differ quite a bit. It's driven more by the problem you are trying to solve, significant result sets, etc, etc. You would either have to provide more details to what you're trying to solve or; try programming some Monte Carlo simulations yourself. My first experience with them was trying to solve ...


3

The error is, you are not storing the random numbers for the same path at the end: xbefore = x + c*tau + sigma*sqrt(tau)*randn() A = muA + sigmaA*randn(); xafter = xbefore + A; But then at end you set a different path here by creating a new random number: xT = log(S0)+(c+muA*lambda)*T+sqrt((sigma^2+(muA^2+sigmaA^2)*lambda)*T)*randn(); randn() ...


3

EQ1 is uni-variate case. EQ2 is multivariate case, in which you have to use correlated $X_t$. His way of doing is making $Y_t$ independent so that you can simulate freely. He does so by finding PC on $\Delta$. Alternatively, you could generate correlated $X_t$ in your simulation. To benchmark your model / code, you should first test and reproduce a given ...


3

I would argue (this is also what Quartz already hinted at) that PRNGs are far easier to set up than a well functioning QMC and are thus generally user-friendlier Excel and R both offer a PRNG. (but not a QMC) Thus someone working with these software will be more likely to use a PRNG than to painstakingly implement a QMC. Also as Quartz explained one needs ...


3

The Papageorgiou paper is presumably referring specifically to quasi-random sequences used in path generation. Researchers had noticed that, in high dimensions, QR sequences tend to have good space coverage for the first couple of dimensions: but terrible coverage for the latter dimensions: (Plots here are points 101-200 from a 32-dimensional QR ...


2

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--Broadie (2003) or Joshi-Tang (2014) so you can tell if your prices are good 3) do two passes, one to build the strategy, one to price, if they give very different ...


2

Once the single-factor Hull-White model is calibrated, you can compute zero-coupon bond prices in closed form (i.e., without running simulations). See http://en.wikipedia.org/wiki/Hull%E2%80%93White_model#Analysis_of_the_one-factor_model .


2

American options pricing (swaption is just a kind of option) is a bit tricky due to the early exercise. Here is a page listing possible approaches, including some numeric methods, and some close form approximation formula. As I understand, lattice methods (tree, PDE discretization such as forward shooting) are fine to price American options. There're ...


2

Generally speaking, if you have two or three sources of noise, you are still going to be much better off pricing American options on a lattice than via LSMC. Too often, LSMC becomes the refuge of academics lacking patience to learn proper lattice techniques. Now, you can frequently reduce the difficulty of pricing American options by considering the ...


2

You can find a brief but useful explanation of Brownian bridge techniques in Andersen and Piterbarg (page 125), which includes references for further reading. It's probably the best place to start. They discuss valuing barrier options specifically, and discuss the performance issues mentioned here. Later (pg 647), they use Brownian bridges in constructing ...


2

To my knowledge the real world drift plays a crucial role in risk management. The reason being that one is not interested in risk adjusted paths but in real-world scenarios that might actually occure. Still you should be aware that "the real world drift" is a somewhat controversial topic in quant circles. Nobody knows exactly how to get it. Mostly you end ...


2

Historical returns are not to be used 'untreated' for the calculation of option prices. The expectation that you will be using in Monte Carlo will take the form $$ C(K,T) = E^Q\{D(T)\ \max[0, S_T-K, 0]\} $$ where $T$ is the maturity, $K$ is the strike price, $S$ is the stock price and $D$ is the discount factor. But the expectation is taken under the 'risk ...


2

This depends on your method to generate the normal random numbers. The problem with normal cdf is that the direct inverse $\phi^{-1}(Z)$ is hard to solve for directly. There are some other methods to generate $N(\mu, \sigma^2)$ from $U(0,1)$. Two notable methods are: Box-Muller method Marsaglia polar method For most purposes you can use the above methods ...


2

I agree with @encor that it isn't an issue to include some logic to avoid errors. I imagine that most non-uniform random number generators already include that. I don't think I've used a pseudo-random number generator that's given a 0. I'm not an expert on the topic, but a common implementation (linear congruential generator) relies on modular arithmetic. ...


2

Indeed for computational purposes, best you can do is use a uniform distribution on another interval $[10^{-10},1-10^{-10}]$, or just discard all occurences of $Z=0,1$. Discarding $Z=0,1$ is justified, since for continuous distributions $P(Z=0)=P(Z=1)=0$.


2

You should look at confidence interval. Normally, your confidence interval size is proportional to the standard deviation, looking something like: with probability $p$ your value will be in the interval: $$[\bar{S} - k*StdDev, \bar{S} + k*StdDev]$$ Then, getting back to your simulation, we can say that your time step is very big (1 year) and you simulate ...


2

You have the correct approach. (1) The simulation generates sampled portfolio values, $P_1,P_2, \dots, P_n$ at time $t=T$. VaR is specified as a left-tail percentile. Order the sample as $$P_{(1)} \leq P_{(2)} \leq \dots \leq P_{(n)}.$$ If you are considering $VaR_\alpha$ at the $100(1-\alpha) \% $ confidence level , then choose the smallest integer $k$ ...


2

I'd recommend M. Joshi and T. Leung "Using Monte Carlo simulation and importance sampling to rapidly obtain jump-diffusion prices of continuous barrier options". Though it assumes jump-diffusion process for the returns it is straightforward to obtain the scheme for a diffusion process. Also Paul Glasserman's [book][2] [2]: ...


2

First, please make sure that when you resimulate sample paths, you are keeping your underlying random samples constant, as in this answer. For your delta, vega and rho there is some ambiguity in the definition of the greeks. Consider the simple case of delta in the presence of a skew $\sigma(K/S)$, and say that the underlying price right now is $S_0$. We ...


1

The GBM is a continuous model, so using large integer time steps naturally leaves large discretization error (which vanishes when you increase the number of steps). Use small time step 0.001: paths(j + 1,i) = paths(j,i) * exp((mu - vol^2/2)*0.001 + vol * 0.001^0.5*shocks_ant(j,i)); Then the mean is almost exactly 100 as expected.


1

You can also include variance reduction techniques in you monte carlo simulations, such as control variates or antithetic variates. Both aim at reducing the variability of your simulated option price and are very popular for monte carlo simulations. http://en.wikipedia.org/wiki/Antithetic_variates http://en.wikipedia.org/wiki/Control_variates Both are ...


1

If you mean by fat tails just fatter tails than the gaussian distribtuion, i.e. a distribution with finite variance, for instance the Student's t-distribution has fatter tails than the normal distribution. If you mean distributions with infinite variance, you have to have a look at Lévy distribution. In a first attempt you could just substitute the standard ...


1

1) Brownian Bridge is used in Quasi Monte Carlo pricing of asian options to reexpress paths in a basis where few selected components/subspaces bring the most contribution, so as to align these to the best distributed dimensions/subspaces of a low discrepancy sequence. This allows for better coverage and thus faster convergence and paths amount reduction. ...


1

You can use the either, as both necessarily are symmetric positive definite; covariance is a personal preference. It's really just a matter of scaling, as $\mathcal{N}(0,\Sigma)$ is distributionally $\sqrt{\Sigma} \mathcal{N}(0,1) $. Correlation would require additional scaling (i.e. multiplication of every $\mathcal{N}(0,\rho)$ element by its respective ...


1

Regarding your second question: one possible approach is to reduce the instrument you are trying to value to something simpler, for which an analytical solution are an alternative methodology does exist. You can then vary parameters and check that the valuation is behaving as expected. If you are using simulations because your price process is more ...



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