Quant Researcher interview prep
A spaced-repetition deck of 296+ Quant Researcher interview questions — organised by topic and difficulty, and resurfaced right before you'd forget. Preview a few cards below, then sign in to study the whole track on an Anki-style SM-2 schedule.
Free · sign in with GitHub · your progress stays yours.
What's covered
Every topic in this track, grouped the way you'd study it.
Probability & Brainteasers
13 cardsStatistics & Inference
11 cardsRegression & Linear Algebra
8 cardsStochastic Processes & Options
12 cardsML for Financial Data
10 cardsPython & Numerical Methods
10 cardsMarkets, Microstructure & Betting
13 cardsResearch Methodology & Behavioral
11 cardsPython
130 cardsCS Fundamentals
43 cardsBehavioral
35 cardsSample questions
A few cards from the deck — reveal each answer, then sign in to study the full set on a schedule.
Monty Hall: switch or stay? And why does it matter that the host knows where the car is?
Monty Hall: switch or stay? And why does it matter that the host knows where the car is?
Short answer: Switch: switching wins the car with probability 2/3, staying wins 1/3. The key assumption is that the host is informed: he always opens a door with a goat. If he opened a random door (and happened to reveal a goat), the odds would be 1/2 each.
In depth:
- Your first pick finds the car with probability 1/3 — and the host opening a door does not change that: he can always show a goat, so the reveal carries no news about your door.
- The remaining 2/3 concentrates on the single unopened door — the host used his knowledge to "filter out" a goat for you.
- You picked door 1 — all cases:
| Car behind | Host opens | Stay | Switch |
|---|---|---|---|
| door 1 | 2 or 3 | ✓ | ✗ |
| door 2 | only 3 | ✗ | ✓ |
| door 3 | only 2 | ✗ | ✓ |
Switching wins in 2 cases out of 3.
⚠️ Common mistake: "two doors left, so it is 50/50." That is true only for an uninformed host (the "Monty Fall" variant): conditioning on an accidentally revealed goat really does give 1/2. The host being informed is the whole point of the problem.
What exactly is a p-value? Give a precise definition.
What exactly is a p-value? Give a precise definition.
Short answer: A p-value is the probability of observing a test statistic at least as extreme as the one you got, assuming the null hypothesis is true: P(data ≥ observed | H₀). It is a statement about the data under H₀ — not about the probability of the hypothesis itself.
In depth:
- Direction of the conditioning — the p-value conditions on H₀. Getting P(H₀ | data) requires a prior and Bayes' theorem; you cannot extract it from a p-value alone.
- Not the probability of the null — "p = 0.03 means H₀ is true with probability 3%" is the classic trap interviewers specifically listen for.
- Not an effect size — with huge n, a tiny, economically meaningless effect yields p < 0.001. Statistical significance ≠ practical importance.
p-value = P(T ≥ t_obs | H₀ true) ✓
p-value ≠ P(H₀ true | data) ✗
1 − p ≠ P(the effect is real) ✗
⚠️ Common mistake: "1 − p = 97% probability the effect is real." A p-value says nothing about the probability of hypotheses — only how surprising the data are if H₀ holds.
In a one-regressor regression y = α + βx + ε: what is β and how do you interpret it?
In a one-regressor regression y = α + βx + ε: what is β and how do you interpret it?
Short answer: β = Cov(x, y) / Var(x), intercept α = ȳ − β·x̄. β is how much y changes on average when x rises by one unit. CAPM beta is exactly this coefficient: a regression of asset returns on market returns.
In depth:
- Derivation from the normal equations — minimize Σ(yᵢ − α − βxᵢ)², take derivatives with respect to α and β, set them to zero.
- Via correlation — β = ρ(x, y) · σ_y / σ_x: the slope is the correlation scaled by the ratio of volatilities.
- CAPM — β_market = Cov(rᵢ, r_m) / Var(r_m): a stock's "market beta" is literally the one-regressor OLS coefficient of asset returns against market returns. In an interview this must come out instantly, no scratch paper.
∂/∂α: Σ(yᵢ − α − βxᵢ) = 0 → α = ȳ − β·x̄
∂/∂β: Σxᵢ(yᵢ − α − βxᵢ) = 0 → β = Σ(xᵢ−x̄)(yᵢ−ȳ) / Σ(xᵢ−x̄)²
= Cov(x, y) / Var(x)
⚠️ Common mistake: mixing up direction: the β from regressing y on x is not the β from regressing x on y (they coincide only when |ρ| = 1). And fumbling the formula — a QR is expected to write Cov/Var without thinking.
What is Brownian motion (a Wiener process)? List its defining properties.
What is Brownian motion (a Wiener process)? List its defining properties.
Short answer: A Wiener process (standard Brownian motion) W_t is a stochastic process with four defining properties: W₀ = 0; independent increments; W_t − W_s ~ N(0, t − s) for s < t; continuous sample paths almost surely. It is the basic source of randomness in continuous-time finance.
In depth:
- W₀ = 0 — normalization of the starting point.
- Independent increments — increments over disjoint intervals are independent: the past does not help predict the future (hence the Markov property).
- Gaussian increments — W_t − W_s ~ N(0, t − s): variance grows linearly in time, so the typical range scales like √t.
- Continuous paths — almost surely no jumps, yet the paths are maximally rough.
Bonus properties interviewers fish for:
• nowhere differentiable: |ΔW| ~ √Δt ≫ Δt as Δt → 0
• quadratic variation: Σ(ΔW)² → t ⇒ (dW)² = dt
(the seed from which Itô's lemma grows)
• self-similarity: W_ct ~ √c·W_t; W_t = √t·Z with Z ~ N(0,1)
⚠️ Common mistake: offering "W_t ~ N(0, t)" as the definition. That is only a consequence: without independent increments and continuous paths, a process with those marginal distributions is not a Wiener process.
What is the difference between L1 and L2 regularization, and when do you use each?
What is the difference between L1 and L2 regularization, and when do you use each?
Short answer: L1 (lasso) penalizes the sum of |w| and drives some weights to exactly zero — you get a sparse model with built-in feature selection. L2 (ridge) penalizes the sum of w² and smoothly shrinks all weights toward zero without zeroing them, and it behaves better with correlated features.
In depth:
- Geometry — the L1 ball has corners on the coordinate axes, and the optimum often lands exactly there → exact zeros. The L2 ball is smooth → shrinkage without zeros.
- Bayesian view — L1 is equivalent to a Laplace prior (sharp peak at zero), L2 to a Gaussian prior.
- Correlated features — L1 arbitrarily picks one representative of a group, L2 splits the weight among them → more stable.
- Elastic net — a blend of both penalties when you want sparsity and stability.
| L1 (lasso) | L2 (ridge) | |
|---|---|---|
| Penalty | λ·Σ|w| | λ·Σw² |
| Weights | exact zeros | small but ≠ 0 |
| Feature selection | built-in | none |
| Correlated features | unstable, picks one | splits weight, stable |
| Prior | Laplace | Gaussian |
⚠️ Common mistake: expecting "interpretability for free" from L1. The sparse feature set is unstable: refit on slightly different data and lasso will pick a different subset of the correlated factors — a hidden operational risk for production alpha.
How would you estimate π using random numbers?
How would you estimate π using random numbers?
Short answer: Monte Carlo "darts": throw N random points into the unit square and take the fraction landing inside the quarter circle (x² + y² ≤ 1). That fraction converges to π/4, so π ≈ 4 · (hit fraction).
In depth:
- Geometry — the quarter circle of radius 1 has area π/4, the square has area 1; the hit probability is the ratio of areas.
- Convergence — by the CLT the error decays as 1/√N: each extra significant digit costs ~100× more samples.
- Vectorization — generate all points at once, no Python loop over individual points.
import numpy as np
rng = np.random.default_rng(42)
n = 10_000_000
x, y = rng.random(n), rng.random(n)
pi_hat = 4 * np.mean(x**2 + y**2 <= 1)
# error ~ 1/sqrt(n): at n = 10^7 roughly 3–4 digits are correct
⚠️ Common mistake: expecting Monte Carlo to reach precision quickly: going from 3 to 6 correct digits takes ~10⁶× more points. For the constant π itself this is the worst possible method — but the question tests whether you understand the 1/√N convergence rate shared by every MC estimate.
Ready to make it stick?
Start your first session in under a minute. Your future self, mid-interview, will thank you.
Questions about this track
How should I prepare for a Quant Researcher interview?
Study the concepts you'll be asked to explain, not just the ones you can code. RecallDeck's Quant Researcher track gives you 296+ curated interview questions and resurfaces each one with an Anki-style SM-2 schedule right before you'd forget it — so the answers are still there under pressure on interview day.
What topics does the Quant Researcher track cover?
The Quant Researcher track is organised into the core areas Quant Researcher interviews actually test, grouped by topic and by difficulty (Concept, Junior, Middle, Senior). You can preview the full outline and sample questions above before signing in.
Is spaced repetition effective for Quant Researcher interview prep?
Yes. Actively recalling an answer and grading yourself honestly builds far more durable memory than re-reading notes. RecallDeck schedules each Quant Researcher card to reappear at the moment you're about to forget it, so your daily reviews shrink while your recall holds.
Is the Quant Researcher track free?
Yes — the Quant Researcher track and the full SM-2 scheduler are free, with 20 new cards a day. Sign in with GitHub and your progress syncs to your account. RecallDeck Pro ($5/month or $29/year) raises the daily budget and adds cram mode.