← Tudor Interview Insights

Tudor·Data Scientist·Technical Phone Screen·Senior

SeniorPrefer not to say
Jul 2026

Summary

Tudor data science interview, heavy on statistics and stochastic processes. Two problems back to back, both around volatility estimation. The second one was genuinely hard and I don't think I fully nailed the MSE comparison.

Questions Asked (2)

Q1

You have 100 independent draws from a normal distribution with known mean zero and unknown standard deviation. Propose an estimator for the standard deviation, check whether it's unbiased, and if not, explain how to correct it.

Technical Trade-offsProduct Analytics & Metrics
Author's notes

This is the warm-up question and I knew it, but I still fumbled the bias correction explanation a bit.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by proposing the maximum likelihood estimator (MLE) for the standard deviation, which is the square root of the average of squared observations. Then check its bias by computing the expected value, noting that it underestimates the true standard deviation. Finally, explain the bias correction using the gamma function or an unbiased estimator based on the chi distribution.

Pro tip: Mention that while the MLE is biased, it is consistent and often preferred for large samples; however, for small samples, the unbiased estimator is more accurate. Also, note that the bias correction factor depends only on the sample size and can be computed using the gamma function.

1. Propose the MLE

Define the estimator as the square root of the average of squared observations: σ_hat = sqrt((1/n) * Σ X_i^2). This is the maximum likelihood estimator for σ when the mean is known to be zero.

2. Check for bias

Compute the expected value E[σ_hat]. Since n * σ_hat^2 / σ^2 follows a chi-squared distribution with n degrees of freedom, σ_hat is proportional to the square root of a chi-squared variable. Use the known expectation of the chi distribution to show E[σ_hat] = σ * sqrt(2/n) * Γ((n+1)/2) / Γ(n/2), which is less than σ.

3. Quantify the bias

Express the bias as E[σ_hat] - σ = σ * (c_n - 1), where c_n = sqrt(2/n) * Γ((n+1)/2) / Γ(n/2). Note that c_n < 1 for all finite n, so the MLE underestimates σ.

4. Correct the bias

Define the unbiased estimator as σ_unbiased = σ_hat / c_n. This correction factor depends only on n and can be computed using the gamma function. For large n, c_n ≈ 1 - 1/(4n), so the correction is small.

5. Discuss properties and alternatives

Mention that the unbiased estimator is not the MLE and may have larger variance. Also, note that for large n, the bias is negligible, and the MLE is consistent. Optionally, mention that if the mean were unknown, the denominator would be n-1 for the variance, but here the mean is known.

Key Points to Mention

  • Maximum likelihood estimator for σ when mean is known: sqrt(Σ X_i^2 / n).
  • Distribution of n * σ_hat^2 / σ^2 is chi-squared with n degrees of freedom.
  • Expected value of σ_hat involves the gamma function: E[σ_hat] = σ * sqrt(2/n) * Γ((n+1)/2) / Γ(n/2).
  • The MLE is biased downward; the bias decreases as n increases.
  • Unbiased estimator: σ_hat / c_n, where c_n = sqrt(2/n) * Γ((n+1)/2) / Γ(n/2).
  • For large n, c_n ≈ 1 - 1/(4n), so the bias is approximately σ/(4n).

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

Q2

A scaled Brownian motion is observed at 100 integer time points. You define the running max H, the running min L, the terminal value C, and the range R = H minus L. How would you compare calibrated versions of |C|, R minus |C|/2, and R squared plus C squared as estimators of volatility, and which do you prefer under a mean-squared-error criterion?

Technical Trade-offsA/B Testing & Experimentation
Author's notes

This one is where I started sweating.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

First, clarify that the estimators are for volatility (sigma) of the underlying Brownian motion, and that calibration involves scaling by known constants to make them unbiased. Then, compare their mean-squared errors analytically or via simulation, noting that each uses different information from the path. Finally, state a preference based on the MSE results, typically favoring the estimator with the lowest MSE.

Pro tip: Mention that the range-based estimator R is highly efficient for volatility but can be sensitive to jumps; however, under pure Brownian motion, it often outperforms |C|. Also, note that the combination R^2 + C^2 might have higher variance due to squaring, so it's rarely the best under MSE.

1. Define the estimators and calibration

Explain that for Brownian motion observed at n=100 points, the volatility sigma is to be estimated. Calibrate each estimator by multiplying by a constant so that its expectation equals sigma. For |C|, the scaling is sqrt(pi/(2n))? Actually, for Brownian motion, C ~ N(0, n sigma^2), so E|C| = sigma sqrt(2n/pi). Thus calibrated |C| = |C| * sqrt(pi/(2n)). For R, the expected range of Brownian motion over n steps is sigma * sqrt(n) * E[range of standard BM], so calibrate by dividing by sqrt(n)*E[range]. For R - |C|/2, calibrate similarly. For R^2 + C^2, calibrate by taking square root and scaling.

2. Derive or simulate the bias and variance

Since calibration ensures unbiasedness, compare variances. For |C|, variance can be computed from the half-normal distribution. For R, the distribution is known (Feller) but complex; simulation is easier. For R - |C|/2, note that it's a linear combination of range and absolute terminal value, which are correlated. For R^2 + C^2, it's a quadratic form; its square root is biased, so calibration may involve more than a constant.

3. Compute MSE for each calibrated estimator

MSE = variance (since unbiased). Use known results or simulate many paths (e.g., 100,000) to estimate MSE for each estimator. Compare numerically. Typically, the range-based estimator R has the lowest MSE because it uses more information about the path's extremes. The estimator R - |C|/2 might improve upon R alone if it reduces variance, but often it's worse. R^2 + C^2 is likely poor due to high variance from squaring.

4. State preference and justify

Based on MSE, prefer the estimator with the smallest MSE. Under pure Brownian motion, the calibrated range R is often the most efficient. However, if the problem expects a specific answer, note that R - |C|/2 might be designed to be uncorrelated with C? Actually, it's a known result that R and C are independent for Brownian motion? No, they are not independent. But there is a known unbiased estimator: (R + |C|)/2? Not sure. Better to rely on simulation.

5. Discuss practical considerations

Mention that in practice, financial returns may have jumps or stochastic volatility, so the best estimator under Brownian motion may not be robust. Also, note that the number of observations (100) is fixed, so asymptotic results may not apply perfectly.

Key Points to Mention

  • Calibration ensures unbiasedness: each estimator must be scaled so its expected value equals the true volatility sigma.
  • For Brownian motion, the terminal value C is normally distributed with variance n sigma^2, so |C| follows a half-normal distribution.
  • The range R of Brownian motion has a known distribution (Feller) and is a highly efficient volatility estimator.
  • The estimator R - |C|/2 is a linear combination of range and absolute terminal value; its variance depends on their covariance.
  • R^2 + C^2 is a quadratic form; taking its square root introduces bias, and squaring increases variance, likely leading to higher MSE.
  • Under MSE, the range-based estimator R typically outperforms |C| and the other combinations for pure Brownian motion.

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