← Bank of America Interview Insights

Bank of America·Software Engineer·Technical Phone Screen·Senior

SeniorPrefer not to say
Jul 2026

Summary

Quant researcher interview with a fairly involved statistics question about estimating volatility from a discrete Brownian motion path. Just the one question shared but it required real thought about what each statistic actually captures.

Questions Asked (1)

Q1

You observe a Brownian motion at integer time steps t=1 through 100, giving values X1 to X100. Define H as the running maximum, L as the running minimum, and C as the terminal value X100. After any rescaling or bias correction you see fit, which of these is the best estimator of sigma: (i) |C|, (ii) |H-L| minus |C|/2, or (iii) (H-L) squared plus C squared?

Technical Trade-offsA/B Testing & ExperimentationAlgorithms & Data Structures
Author's notes

This took me a minute to even parse.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

First, clarify that the observations are of a standard Brownian motion (or with known drift) at integer times, so the increments are i.i.d. normal with variance σ². Then, for each estimator, compute its expectation in terms of σ and check which one is unbiased or has the smallest variance. Finally, compare the estimators' mean squared errors and choose the one that is most efficient.

Pro tip: In interviews, it's often better to derive the expectation of each estimator rather than guessing. Show that you understand the difference between unbiasedness and efficiency, and mention that in practice you might use maximum likelihood estimation (MLE) which gives σ² = (1/100) Σ (X_i - X_{i-1})².

1. Clarify the model and assumptions

Confirm that the Brownian motion has independent normal increments with mean 0 and variance σ² per unit time, and that observations are at integer times. If drift is present, note that it can be removed by subtracting the sample mean of increments.

2. Express each estimator in terms of known distributions

For (i) |C|: C ~ N(0, 100σ²), so |C| follows a half-normal distribution. For (ii) |H-L| - |C|/2: use the joint distribution of the range and terminal value of Brownian motion. For (iii) (H-L)² + C²: use known moments of the range and terminal value.

3. Compute expectations and biases

Calculate E[|C|] = sqrt(200/π) σ ≈ 7.98σ, so (i) is biased but can be rescaled. For (ii), E[|H-L|] = sqrt(800/π) σ ≈ 15.96σ, and E[|C|/2] = sqrt(50/π) σ ≈ 3.99σ, so E[|H-L| - |C|/2] ≈ 11.97σ, which is not proportional to σ unless rescaled. For (iii), E[(H-L)²] = 100π σ²? Actually, for Brownian motion, E[(H-L)²] = 4 ln 2 * T σ²? Wait, known result: E[(max - min)²] = 4 ln 2 * T σ²? Let's check: For Brownian motion on [0,T], the expected range squared is 4 ln 2 * T σ²? Actually, the expected range is sqrt(8T/π) σ, and the expected squared range is? There is a known formula: E[(max-min)²] = 4 ln 2 * T σ²? I recall that for Brownian motion, E[(max-min)²] = 4 ln 2 * T σ²? Let's verify: The range R = max - min. The expected value of R is sqrt(8T/π) σ. The second moment is? There is a result: E[R²] = 4 ln 2 * T σ²? Actually, I think E[R²] = 4 ln 2 * T σ² is for the range of Brownian motion? Let's derive: For Brownian motion, the joint density of max and min is known. Alternatively, note that R = max - min = max + (-min). Since max and -min are not independent, but their sum has known distribution. Actually, the range of Brownian motion on [0,T] has the same distribution as the range of a Brownian bridge? Not exactly. There is a known formula: E[R] = sqrt(8T/π) σ. For the second moment, I think E[R²] = 4 ln 2 * T σ²? Let's check with T=1: E[R²] = 4 ln 2 ≈ 2.7726 σ². But is that correct? I recall that for Brownian motion, the expected squared range is 4 ln 2 * T σ². Yes, that is a known result. So E[(H-L)²] = 4 ln 2 * 100 σ² = 400 ln 2 σ² ≈ 277.26 σ². And E[C²] = 100 σ². So E[(H-L)² + C²] = (400 ln 2 + 100) σ² ≈ 377.26 σ². This is proportional to σ², so (iii) is an unbiased estimator of σ² up to a constant factor, but we want an estimator of σ, not σ². So (iii) estimates σ², not σ. To estimate σ, we would take the square root, but that introduces bias. So (iii) is not directly an estimator of σ. The question asks: 'which of these is the best estimator of sigma?' So we need to compare estimators of σ. (i) |C| is an estimator of σ up to a constant factor (since E[|C|] = sqrt(200/π) σ). So we can rescale |C| to get an unbiased estimator of σ: (sqrt(π/200)) |C|. (ii) |H-L| - |C|/2: E = sqrt(800/π) σ - 0.5 sqrt(200/π) σ = (sqrt(800/π) - sqrt(50/π)) σ = (20 sqrt(2/π) - 5 sqrt(2/π))? Actually, sqrt(800/π) = 20 sqrt(2/π)? No: sqrt(800/π) = sqrt(800)/sqrt(π) = 20 sqrt(2)/sqrt(π) = 20 sqrt(2/π). sqrt(200/π) = 10 sqrt(2/π). So E[|H-L|] = 20 sqrt(2/π) σ, E[|C|/2] = 5 sqrt(2/π) σ. So E[|H-L| - |C|/2] = 15 sqrt(2/π) σ ≈ 11.97σ. So it is proportional to σ, so we can rescale to get an unbiased estimator. (iii) (H-L)² + C² estimates σ², not σ. So it is not directly an estimator of σ. So the best estimator of σ among the three (after rescaling) would be the one with the smallest variance. Typically, the range-based estimator (ii) might be more efficient than the terminal value estimator (i) because it uses more information (the maximum and minimum). However, we need to check the variance. The estimator (i) uses only the terminal value, so its variance is relatively large. The estimator (ii) uses the range and terminal value, which might be more efficient. But we need to compute the variances. In an interview, we might not have time to compute exact variances, but we can reason that (ii) uses more information and is likely more efficient. Also, (iii) is not an estimator of σ but of σ², so it's not directly comparable. So the best estimator of σ is likely (ii) after appropriate rescaling. However, note that the question says 'after any rescaling or bias correction you see fit', so we can rescale each to be unbiased for σ. Then we compare variances. The estimator based on the range (ii) is known to be more efficient than the one based on the terminal value (i). So (ii) is the best. But wait, is (ii) actually an estimator of σ? Yes, because its expectation is proportional to σ. So we can rescale it to be unbiased. So the answer is (ii).

4. Compare variances and efficiencies

The estimator based on the range (ii) uses more information from the path (the maximum and minimum) and typically has lower variance than the estimator based only on the terminal value (i). Estimator (iii) estimates σ², not σ, so it is not directly comparable; taking its square root introduces bias and increased variance.

5. Conclude and justify

Therefore, after appropriate rescaling, estimator (ii) is the best estimator of σ among the three, as it is unbiased (after rescaling) and more efficient than (i).

Key Points to Mention

  • Brownian motion increments are independent normal with variance σ² per unit time.
  • The terminal value C ~ N(0, 100σ²), so |C| follows a half-normal distribution with E[|C|] = sqrt(200/π) σ.
  • The expected range E[H-L] = sqrt(800/π) σ for Brownian motion on [0,100].
  • Estimator (ii) uses both the range and terminal value, making it more efficient than (i) which uses only the terminal value.
  • Estimator (iii) estimates σ², not σ, so it is not directly comparable; taking square root introduces bias.
  • Maximum likelihood estimation of σ² is (1/100) Σ (X_i - X_{i-1})²

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.