In finance, there are two major applications of the Monte Carlo simulation:

-- Generating stochastic paths for interest rates, exchange rates, and stock prices;

-- Numerical valuation of derivative instruments;

consider the risk-neutral pricing equation for security S with payoff \(H(T)\)

\(S(t)=E_t[\exp(-\int^T_tr(s,\omega)ds)H(T,\omega)]\)

we can generate a large number of equally probable sample paths then the security value at time \(t=0\) can be approximated as

\(S(0)=\frac{1}{N}\sum^N_{n=1}\exp(-\int^T_tr(s,\omega_n)ds)H(T,\omega_n)\).

For rate process \(dr=\mu(r,t)dt+\sigma(r,t)dW(t)\), path generation is straightforward:

\(r(t_{n+1})=r(t_n)+\mu(r(t_n),t_n)\cdot\Delta t+\sigma(r(t_n),t_n)\cdot\sqrt{\Delta t}\cdot \varepsilon_{n+1}\)

where \(\varepsilon_n\) is standard normal random number. For stochastic driver like this

\(r(t)=F(\varphi(t)+u(t))\)

\(du=\mu(t,u)dt+\sigma(t,u)dW(t)\)

we sample \(u(t)\) first and set \(r_n(t)=F(\varphi(t)+u_n(t))\).

When compared to the lattice valuation method, Monte Carlo approach has two important advantages:

-- Monte Carlo method easily handles path dependent instruments

-- Monte Carlo method is well suited to be used with multi-factor models

however, it also has drawbacks:

-- It is ill-suited for pricing interest rate derivatives with embedded exercise rights

-- It converges to true value very slowly

-- Longer rates along short rate paths cannot be implied from the paths

-- It does not give the same result twice since its value is random

-- Generating sample paths for high dimensional problems has considerable practical difficulties, which is an important feature of interest rate derivatives

-- MC has the opposite problem of recombining lattice: the full future is inaccessible

To implement Monte Carlo method, first we generate uniform random numbers then use methods such as Box-Muller or inverse transform to get normal random numbers. Because of the perfect foresight problem, zero coupon bonds prices cannot be computed without the use of either analytic pricing formulas or interest rate trees. Although MC method will not be used to calibrate the model, MC paths should be calibrated on the top of model calibration to make sure they price zero coupon bonds correctly. Instead of the continuous sampling as described above, we could first discretize the underlying continuous short rate process by means of a short rate lattice and then sample the lattice instead, which is call discrete sampling. The advantage of discrete sampling is that longer yields are readily available at each MC node and we also have a complete view of the stochastic future at each node on a path.

We want to decease the error of MC method as much as possible. One way is to increase the number of paths, the other is variance reduction. There are also two ways to do variance reduction: control variates and improving the sampling quality. The latter's advantage is it does not depend on characteristics of each instrument as the first one does. To improve the sampling quality, there is no other way better than improving the quality of Brownian motion sampled. Since we generate uniform random numbers first, then we can apply an approach called stratified sampling to improve their uniformity by

\(u^*_n=\frac{n-1}{N}+\frac{u_n}{N}\)

Based on the fact that Brownian motion is perfectly symmetric about zero, we generate Wiener sample paths which are symmetric to each other w.r.t. zero:

\(W_{-n}(t)=-W_n(t)\)

\(V_{MC}=\frac{1}{N}\sum^N_{n=1}\frac{V(W_n)+V(W_{-n})}{2}\)

and this is called antithetic sampling. After the sample paths \(W_n(t_i)\) are generated, one can make a simple adjustment called moment matching to ensure the correct mean and standard deviation:

\(W^*_n(t_i)=\sqrt{t_i}\cdot\frac{W_n(t_i)-M_i}{S_i}\)

where \(M_i\) and \(S_i\) are the actual mean and standard deviation of the paths \(W_n\) at time \(t_i\).