Tutorials › Stochastic Processes › Diagnosing Brownian Simulations with Scaling and Covariance

Simulation of Stochastic Processes · Tutorial 989 of 994

Diagnosing Brownian Simulations with Scaling and Covariance

Use increment and covariance diagnostics, together with Brownian scaling, to check simulated paths and identify common implementation errors.

Intermediate 11 min read

What You'll Learn

  • State the grid-increment distribution required by Brownian motion
  • Derive the covariance of Brownian levels and disjoint increments
  • Apply Brownian time scaling to compare simulations at different resolutions
  • Calculate sample diagnostics and interpret them cautiously
  • Detect incorrect increment scaling and mistaken independence assumptions

What a Brownian Simulation Should Preserve

A simulated Brownian path may look irregular and plausible while having the wrong distribution. A reliable check therefore examines quantities with known targets: the means and variances of increments, dependence between disjoint increments, covariance between path values, and the way these quantities change when the time grid is refined. These checks can reveal a scaling error that a visual inspection misses.

Let \((\Omega,\mathcal{F},\mathbb{P})\) be a probability space with a filtration \((\mathcal{F}_t)_{t\ge0}\). A standard Brownian motion \((B_t)_{t\ge0}\) starts at zero, has continuous paths, and has independent increments such that, for \(0\le s<t\), \(B_t-B_s\) is independent of \(\mathcal{F}_s\) and has distribution \(N(0,t-s)\). On an equally spaced grid with step size \(h>0\), define the increments \(\Delta_k=B_{kh}-B_{(k-1)h}\). They are independent, each with mean \(0\) and variance \(h\).

Theorem (Grid increment and covariance checks): For standard Brownian motion, the increments over disjoint time intervals are independent Gaussian variables, with mean \(0\) and variance equal to the interval length. Also, for \(s,t\ge0\), \(\operatorname{Cov}(B_s,B_t)=\min(s,t)\). In particular, disjoint increments have covariance \(0\).

Proof. The increment statement is part of the definition of Brownian motion. To obtain the covariance formula, suppose first that \(s\le t\). Write \(B_t=B_s+(B_t-B_s)\). The second term is independent of \(B_s\) and has mean zero, so \(\operatorname{Cov}(B_s,B_t)=\operatorname{Cov}(B_s,B_s)+\operatorname{Cov}(B_s,B_t-B_s)=\operatorname{Var}(B_s)+0=s\). If \(t\le s\), the same argument with \(s\) and \(t\) exchanged gives covariance \(t\). Thus the covariance is \(\min(s,t)\). For increments on disjoint intervals, independence follows from the independent-increments property; independent variables with finite means have covariance zero. \(\square\)

This theorem separates two checks that are often confused. Brownian levels at different times are generally dependent: for \(s\le t\), their covariance is \(s\). In contrast, increments on nonoverlapping intervals are independent, not merely uncorrelated. A diagnostic should therefore be applied to the increments when checking independent step noise, and to the levels when checking the covariance structure of the path.

Scaling Across Time Grids

The variance of an increment is its time-step length. Consequently, halving the step size halves the increment variance and multiplies its standard deviation by \(1/\sqrt{2}\). The increment should be generated as \(\sqrt{h}Z\), where \(Z\sim N(0,1)\), rather than as \(Z\) itself at every resolution.

Theorem (Brownian scaling): For every constant \(c>0\), the process \((c^{-1/2}B_{ct})_{t\ge0}\) has the same finite-dimensional distributions as standard Brownian motion.

Proof. Set \(Y_t=c^{-1/2}B_{ct}\). Then \(Y_0=0\), and its paths are continuous because those of \(B\) are continuous. For \(0\le s<t\), \(Y_t-Y_s=c^{-1/2}(B_{ct}-B_{cs})\). The increment inside the parentheses is normal with mean zero and variance \(c(t-s)\), so the scaled increment is normal with mean zero and variance \(t-s\). Increments of \(Y\) over disjoint intervals are independent, because the corresponding increments of \(B\) are over disjoint intervals and scaling does not change independence. Thus \(Y\) satisfies the defining finite-dimensional distribution properties of standard Brownian motion. \(\square\)

Scaling suggests a useful practical comparison: divide an increment by the square root of its step length. If the simulation is correct, the resulting standardized increments should have distribution \(N(0,1)\) at every grid resolution. For path values, another equivalent comparison is that \(B_{ct}/\sqrt{c}\) should have the same distribution as \(B_t\). Neither check says that two finite simulated datasets will look identical; they say what distribution each dataset should approximate.

Worked Example: Checking a Short Set of Increments

Suppose four consecutive simulated increments on a grid with \(h=\tfrac14\) are \(\tfrac12,-\tfrac12,\tfrac12,-\tfrac12\). Compute their average, their empirical variance using divisor \(4\), and their lag-one empirical covariance using divisor \(3\). Compare these values with the Brownian targets.

The target increment mean is \(0\), and the target variance is \(h=\tfrac14\). The observed sum is \(\tfrac12-\tfrac12+\tfrac12-\tfrac12=0\), so the sample mean is \(0/4=0\). Each squared centered increment is \((\tfrac12)^2=\tfrac14\), and there are four of them. The empirical variance is therefore \((4\cdot\tfrac14)/4=\tfrac14\), exactly the target.

For the lag-one covariance, multiply adjacent centered values: \((\tfrac12)(-\tfrac12)=-\tfrac14\), \((-\tfrac12)(\tfrac12)=-\tfrac14\), and \((\tfrac12)(-\tfrac12)=-\tfrac14\). Their sum is \(-\tfrac34\), so the covariance estimate is \((-\tfrac34)/3=-\tfrac14\). The population covariance between distinct Brownian grid increments is \(0\); this one short sample gives a nonzero estimate.

Check: The four increments sum to zero, so the endpoint after these four steps is \(0\). The computed empirical variance is \(\tfrac14\), while the endpoint variance required by Brownian motion is \(4h=4\cdot\tfrac14=1\). This check is consistent: the endpoint is one realization, not its variance. The negative sample covariance is not, by itself, evidence of an implementation error; only four increments provide little information about a population covariance.

Using Repeated Simulations to Separate Error from Variation

A single path supplies only a small number of increments at a given resolution. A clearer diagnostic is to simulate \(R\) independent paths and examine the increment at the same grid location across paths. Those \(R\) increments are independent replicates with mean \(0\) and variance \(h\). Their sample mean will usually not be exactly zero.

If \(Y_1,\ldots,Y_R\) are such replicates and \(\bar Y=R^{-1}\sum_{r=1}^R Y_r\), independence gives \(\operatorname{Var}(\bar Y)=h/R\): expanding the variance of the sum yields \(R\) variance terms, each \(h\), and zero cross-covariance terms. Hence the standard deviation of the sample mean is \(\sqrt{h/R}\). This is the Monte Carlo standard error for the mean under the stated independence and Brownian increment assumptions. It is a scale for expected sampling fluctuation, not a guarantee that every observed mean lies within any fixed multiple of it.

For variance checks, calculate the sample variance across independent paths and compare it with \(h\). For independence checks, examine pairs of increments from nonoverlapping intervals across paths, or assess their joint distribution rather than relying only on a sample correlation. A correlation near zero does not establish independence for arbitrary variables. Here, Brownian increments are jointly Gaussian, so zero covariance of disjoint increments is consistent with their independence, but a faulty simulator need not produce jointly Gaussian increments.

Worked Example: Interpreting a Monte Carlo Mean

Suppose \(R=25\) independent paths are simulated with step size \(h=\tfrac14\), and the average of the 25 increments at one grid location is \(\tfrac1{10}\). Calculate the Monte Carlo standard error and express the observed mean in standard-error units.

The variance of the mean is \(h/R=(\tfrac14)/25=\tfrac1{100}\). Its standard error is therefore \(\sqrt{\tfrac1{100}}=\tfrac1{10}\). The observed mean divided by this standard error is \((\tfrac1{10})/(\tfrac1{10})=1\).

Check: If the increments are independent \(N(0,\tfrac14)\), then the sum of 25 increments has variance \(25\cdot\tfrac14=\tfrac{25}4\). Dividing that sum by 25 gives a mean with variance \((\tfrac{25}4)/25^2=\tfrac1{100}\), agreeing with the calculation. An observed mean one standard error from zero is compatible with ordinary Monte Carlo fluctuation; it does not alone diagnose a bug.

Diagnosing a Scaling Bug

The most consequential grid error is to add a standard normal variable at every step without multiplying by \(\sqrt{h}\). This produces increments with variance \(1\), regardless of the time step. The simulated process then accumulates variance according to the number of steps, rather than elapsed time. Checking the same terminal time on two grids makes the error easy to expose.

Worked Example: Detecting Missing Square-Root Scaling

Consider a simulation over the time interval \([0,1]\). On a grid with \(h=\tfrac14\), there are four steps. If each step incorrectly uses an independent \(N(0,1)\) value without scaling, compute the endpoint variance and compare it with the Brownian target. Then check a grid with \(h=\tfrac18\).

For the incorrect coarse-grid simulation, the endpoint is the sum of four independent variables, each with variance \(1\). Its variance is \(4\cdot1=4\), whereas the Brownian endpoint variance at time \(1\) is \(1\). On the finer grid, there are \(1/(\tfrac18)=8\) steps, so the incorrect endpoint variance is \(8\cdot1=8\), again compared with the target \(1\).

With correct scaling, the coarse-grid increments each have variance \(h=\tfrac14\), giving endpoint variance \(4\cdot\tfrac14=1\). The fine-grid increments each have variance \(h=\tfrac18\), giving endpoint variance \(8\cdot\tfrac18=1\). Check: both correctly scaled calculations give the same terminal variance, \(1\), while the unscaled calculations give \(4\) and \(8\). This resolution-dependent growth identifies the missing factor \(\sqrt{h}\).

Covariance Checks and a Common Mistake

The formula \(\operatorname{Cov}(B_s,B_t)=\min(s,t)\) provides a direct check on path levels. It also explains why subtracting two correlated levels requires a covariance term. A common mistake is to treat levels at different times as independent and add their variances when computing the variance of their difference.

For example, at times \(\tfrac12\) and \(1\), Brownian motion has \(\operatorname{Var}(B_{1/2})=\tfrac12\), \(\operatorname{Var}(B_1)=1\), and \(\operatorname{Cov}(B_{1/2},B_1)=\tfrac12\). The incorrect independence calculation gives \(\operatorname{Var}(B_1-B_{1/2})=1+\tfrac12=\tfrac32\). The correct calculation is \(1+\tfrac12-2(\tfrac12)=\tfrac12\), which equals the length \(1-\tfrac12=\tfrac12\) of the increment interval. The missing covariance term is not a minor adjustment: omitting it changes the target variance.

When checking a simulation, use this sequence:

  • Check that increments have empirical mean near \(0\) and variance near \(h\).
  • Check that increments from disjoint intervals show no systematic dependence; use multiple independent paths when possible.
  • Check level covariance against \(\min(s,t)\), not against zero at all distinct times.
  • Repeat at a second grid resolution and verify that increment variance changes in proportion to \(h\), while terminal variance at a fixed time remains unchanged.

These are diagnostic comparisons, not proofs that a simulator is correct. Monte Carlo variation can produce visible discrepancies, especially with few paths. Conversely, matching a few means and variances does not rule out every defect: a simulator can have the right marginal distributions and still have incorrect dependence. Interpret several checks together, and investigate discrepancies that persist as the number of independent paths increases or that change systematically with grid resolution.

Check Your Understanding

Use the Brownian increment and covariance properties to answer these questions.

  1. For a time step \(h=\tfrac1{16}\), what are the mean and variance of one Brownian increment, and what is the variance of its standardized version \(\Delta/\sqrt{h}\)?
  2. Why can a nonzero sample covariance among four simulated disjoint increments occur even when the simulator is correct?
  3. At times \(s=\tfrac13\) and \(t=\tfrac23\), compute \(\operatorname{Cov}(B_s,B_t)\). Are the two levels independent?
  4. For \(R=100\) independent paths and step size \(h=\tfrac14\), compute the standard error of the sample mean of increments at one grid location.
  5. A simulator uses independent \(N(0,1)\) increments on a grid with step \(h=\tfrac1{10}\). What increment variance should Brownian motion require, and what scaling factor should multiply each standard normal draw?