# Tag Info

19

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 &= (\theta_t -a\, r_t)dt + \sigma_0 dW_t^1,\\ dS_t &= S_t\Big[r_t dt + \sigma \Big(\rho dW_t^1 + \sqrt{1-\rho^2} dW_t^2\Big)\Big], \end{align*} where $a$, $\sigma_0$, ...

15

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$ ...

11

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 of what the option would pay off if it was not exercised) to the relevant exercise value/early redemption price. By construction, lattice and finite difference ...

10

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 the tiny number of paths within $\Delta S$ of the strike, and these paths have huge value. This is a well-known problem. As the bump size goes to zero, the ...

10

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, \sigma_2^2)$$ and $$cor(X,Y)=\rho$$ Now consider: $y=bx + e_i$, where $x$ $(=\frac{X-\mu_1}{\sigma_1}$) and $y$ $(=\frac{Y-\mu_2}{\sigma_2}$) both follow ...

10

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 simulate from these using a uniform draw. That's the brute force approach. The variance gamma process is typically represented as a difference of gamma processes or a ...

9

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 ...

9

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 that it is true: $$V[W_t^1] = t$$ and $$V[W_t^2] = \rho^2 V[W_t^1] + (1-\rho^2) V[Z_t] = \rho^2 t + (1-\rho^2) t = t,$$ which is the desired variance. For the ...

8

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. ...

8

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 paths is the risk neutral measure. This is just an integral expression of the form you wrote. This applies to all option prices. Many options are, of course, special in the ...

8

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 when to stop. To be clear, let $E(X) = \mu$ and $Var(X) = \sigma$. We're invoking the CLT when we write $$P\left( \left|\frac{\bar{X}_n - \mu}{\sigma/\sqrt{n}}\... 8 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 estimate than using 100 of them. What matters is to investigate the variance of the estimator rather than looking at pointwise values it can take (*) To get a ... 8 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. There are many articles out there discussing this non trivial topic. @MarkJoshi can probably shed some more light, see this nice paper. You claim that your LSM ... 8 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 between the path time points. If that's the case then "naive" Monte Carlo simulation will have what is called "simulation bias". That's exactly because the ... 8 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's no guarantee that the generated sequences won't overlap. If you're willing to change the engine code so that you can pass the relevant parameters, a safer ... 8 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 is indeed the standard deviation of the Monte-Carlo estimator for the expectation of f(X). For an iid sample of paths of the process (x_i) this estimator is ... 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 ... 7 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 7 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 your Monte Carlo estimator is large, picking different seeds could yield drastically different results. So be careful. In practice you can obviously solve this by ... 7 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 arbitrage. For example, you can replicate a forward 6 month rate in 6 months with a long position in the one years rate and a short position in the 6 month ... 7 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 the Monte Carlo Method was getting xerocopied like "samizdat". Now this book is in its 3rd edition (2016) already, and is good. It is not finance-... 6 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 gloss over some mathematical details. From a practical perspective "convergence" means that you will never get an exact answer from Monte-Carlo but ... 6 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 sort of problem, I'd use a more stratified algorithm instead and force every path to end in the money. To do this I'd compute the uniform that goes to the ... 6 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. These are the number of iterations requires in order for there to be an approximate 0.95 probability that the MC call price differs from the exact call price by ... 6 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 the price at t=0, best known as the option premium. Theory tells us that the latter premium can be computed as$$ \Pi_0 = e^{-rT} E^{\mathbb{Q}} \left[ \phi(...

6

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 of the NIG parameters under P carries over to Q in general, but especially the drift is the problem here. First use the mom gen function of NIG to find the ...

6

[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) instead: put options for strikes smaller than the forward price (left wing of the volatility surface) and call options otherwise (right wing of the volatility ...

6

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} \sigma^2 \right) \Delta t + \sigma Z, \end{equation} where $Z \sim \mathcal{N}(0, \Delta t)$. You then just simply take the exponential of the simulated logarithmic ...

6

Here are at least three mistakes in your code: p += s0 * exp(...) should be p *= exp(...). Your volatility and rates are per annum, so divide the days by 365 (or 255) in your function asset_price. In asset_price you multiply by days inside the loop. However, the loop is already iterating over the days - so you don't take two steps of one day but two steps ...

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