# How do I estimate convergence in monte carlo methods?

I am experimenting with Monte Carlo methods. I'd like to measure/estimate convergence with a graph/chart. How do I do that? Can anyone please direct me to relevant documentation/links or even give me tips or general guidelines? Thanks in advance, Julien.

-

Convergence of what? Can you please be more specific. Also what applications/tools do you use to experiment with Monte Carlo? – Dmitrii I. May 31 '11 at 10:35
Hello. I mean convergence of my results. I use Java in order to evaluate a European Option. So the results are the option prices. I have suceeded in calculating the sample variance running 20 runs. I am not sure if there is a better alternative than the sample variance. Julien. – balteo May 31 '11 at 11:35
Agree with Val. What type of option? Why monte carlo for a european  when there's a closed-form solution (BSM)? If you are questioning what your chart should look like, typically you have price on the Y-axis and run count on the X-axis. – strimp099 Aug 6 '11 at 11:59

## 2 Answers

You are typically interested in evaluating $E\left[ f(X_T)-f(\bar{X}_T^{(n)}) \right]$ (refered as the weak convergence)

• $X_t$ the solution of the sde : $dX_t^x=b(X_t^x)dt+\sigma(X_t^x)dW_t$
• $\bar{X}_t^{(n)}=b(\underline{t},X_{\underline{t}}^{(n)})\cdot (t-\underline{t})+\sigma(\underline{t},X_{\underline{t}}^{(n)})\cdot (W_{\underline{t}}-W_t)$ is your Euler-continous discritized SDE, with $T/n$ your time step.

under some regularity assumptions on both your SDE coefficients and payoff function $f$ ,

1. The rate of convergence is $o\left(\frac{1}{n}\right)$
2. Expansion of order $\frac{1}{n}$: $E\left[ f(X_T)-f(\bar{X}_T^{(n)}) \right]= \sum_{i=1}^R\frac{c_k}{n^k}+O(\frac{1}{n^{R+1}})$

A strong condition would be $b,\sigma,f$ are $C^\infty$ with $f$ having polynomial growth (i.e. $\exists r>0, |f(x)|\leq C\dot(1+|x|^r)$).

Basically, if you don't know the true value of your Eu. option you would approximate it with $E\left[ f(\bar{X}_T^{n\approx\infty})\right]$ , and then trace $n\rightarrow E\left[ f(\bar{X}_T^{n\approx\infty})-f(\bar{X}_T^{(n)}) \right]$ and observe a $o(1/n)$ behavior (and try to guess the value of $c_1$).

Note also that using the second assertion you might avoid using an estimate of your option. Indeed, consider $\bar{X}_T^{(n)}$ and $\bar{X}_T^{(2n)}$ two Euler schemes with different time steps (the second has one time more steps). Then, by applying the error expansions to the first scheme,

$E\left[ f(X_T)-f(\bar{X}_T^{(n)}) \right]= \frac{c_1}{n}+O(\frac{1}{n^{2}})$

and then to the second scheme

$E\left[ f(X_T)-f(\bar{X}_T^{(2n)}) \right] = \frac{c_1}{2n}+O(\frac{1}{n^{2}})$

we get,

$E\left[f(\bar{X}_T^{(2n)}) - f(\bar{X}_T^{(n)}) \right] = \frac{c_1}{2n}+O(\frac{1}{n^{2}})$

Finally, without knowing the exact value of your european option ($E(f(X_T))$) you can get the exact (first order) rate of convergence, $n\rightarrow E\left[f(\bar{X}_T^{(2n)}) - f(\bar{X}_T^{(n)}) \right]= c_1/n$. Needless to say, that $c_1=n\cdot E\left[f(\bar{X}_T^{(2n)}) - f(\bar{X}_T^{(n)}) \right]$.

(This useful expansion also known as the Romberg expansion is also used to build accelerated Monte-Carlo estimates, with the same notations we obtain $E(f(X_T)-2E(X_T^{2n})+E(X_T^{n})=\frac{c_2}{n^2}$)

A (dated) reference would be Bally and Talay

-

Julien, frankly I have no idea what your research question is...

Since you are quite vague in formulation your question I can only provide a vague answser...

The following academic papers might be of use

http://www.jstor.org/stable/1428344 http://www.math.ethz.ch/~mschweiz/Files/converge.pdf

and I suggest you take a look at:

Introducing Monte Carlo Methods with R by Christian P. Robert · George Casella

it will give you concrete examples of applying monte carlo methodologies

-
{"extraction_info": {"found_math": true, "script_math_tex": 0, "script_math_asciimath": 0, "math_annotations": 0, "math_alttext": 0, "mathml": 0, "mathjax_tag": 0, "mathjax_inline_tex": 26, "mathjax_display_tex": 0, "mathjax_asciimath": 0, "img_math": 0, "codecogs_latex": 0, "wp_latex": 0, "mimetex.cgi": 0, "/images/math/codecogs": 0, "mathtex.cgi": 0}, "config": {"markdown_headings": true, "markdown_code": true, "boilerplate_config": {"ratio_threshold": 0.3, "absolute_threshold": 10, "end_threshold": 15, "enable": true}, "remove_buttons": true, "remove_image_figures": true, "remove_link_clusters": true, "table_config": {"min_rows": 2, "min_cols": 3, "format": "github"}, "remove_chinese": true, "remove_edit_buttons": true, "extract_latex": true}, "english_confidence": 0.8968746662139893, "perplexity_flag": "middle"}