HackTheRounds Interview Experiences

Squarepoint Capital Quant Researcher Interview Experience (2026) - GBM, Markowitz, Limit Order Book, Offer

Squarepoint Capital full quant loop: MFE flavored probability + coding phone screen, 90 min technical with GBM and Markowitz, 5 round onsite with limit order bo

By Anonymous · 2026-04-09

Background

Wrapped up Squarepoint Capital's full quant loop two weeks ago and signed the offer last Friday. I came in as a Columbia MFE candidate with a background in stochastic calculus and a single HFT internship. Squarepoint is one of those shops where the bar is CS algorithms plus probability plus financial mathematics, all three at once. If you only grind LeetCode, you hit a wall by round two. If you only read Heard on the Street, you hit a wall by round one. This writeup is the full loop, round by round, with the specific flavor of each question.

Quick note on company tagging: Squarepoint does not have a dedicated question set on HackTheRounds, so the practice links below point to topic-adjacent Citadel and Jane Street questions. The underlying material is the same.

Timeline

Phone Screen (45 min)

Three short problems, all on video, talking through answers out loud.

Problem 1 — Probability and Statistics

Problem: Given a biased coin with probability p of landing heads, flipped n times. Compute the expected number of consecutive pairs of heads.

Indicator random variable. Define X i = 1 if positions i and i+1 are both heads, zero otherwise. There are n-1 adjacent pairs. By linearity of expectation, the answer is (n-1) p^2 . No complicated conditioning needed. The interviewer explicitly wanted to see me name "linearity of expectation" as the technique before computing. This was a fluency check.

Problem 2 — Coding: Moving Average of a Stream

Problem: Implement a class that supports adding integers from a data stream and returning the moving average over the last k values.

Sliding window with a deque and a running sum. On push, append to the deque, add to the sum, and if the deque length exceeds k , pop-left and subtract the removed value from the sum. next returns sum / len(deque) . O(1) per op, O(k) space.

The interviewer cared about two details: naming the edge case where fewer than k values have been seen (the divisor is len(deque) , not k ), and using a running sum rather than summing the deque on every call. I called both out before writing, which was the point.

Problem 3 — Brain Teaser

Problem: 25 horses, race 5 at a time, no timer. Find the three fastest. Minimum number of races?

Answer is 7. Five races to rank within groups, race 6 is the five group winners (identifies the overall fastest), then race 7 narrows second and third from a candidate pool reduced by prior-race information. I got the 7 but fumbled the explanation first; the interviewer pushed me to walk through why the candidate pool is exactly five by round 7. Information theory, not rote memorization.

Technical Round (90 min, Zoom with shared editor)

Four problems. Squarepoint clearly picked this round to separate LeetCode grinders from quantitative candidates.

Problem 4 — Geometric Brownian Motion

Problem: A stock follows geometric Brownian motion with parameters mu and sigma . Derive P(S T K) .

Take the log. ln(S T / S 0) is normally distributed with mean (mu - sigma^2 / 2) T and variance sigma^2 T . Standardize to a Z-score and express the probability as 1 - Phi((ln(K/S 0) - (mu - sigma^2/2) T) / (sigma sqrt(T))) . The interviewer then asked what mu represents in pricing versus forecasting contexts. Pricing uses the risk-neutral drift, forecasting uses the real-world drift. The distinction matters for anything derivatives-related.

Problem 5 — Stock Trading with K Transactions

Problem: Maximum profit with at most k transactions on a given price series.

Standard DP. Two states per transaction count: buy[j] and sell[j] . On each day, update buy[j] = max(buy[j], sell[j-1] - price) and sell[j] = max(sell[j], buy[j] + price) . When k is large enough ( k = n/2 ), fall back to the greedy "sum every positive price jump" shortcut. O(n k) time, O(k) space with the rolled arrays.

The interviewer was less interested in the code and more interested in whether I could explain what "one transaction" means in the state: it is a buy-sell pair, not just a buy. That framing confuses people on the spot, and Squarepoint explicitly tests it.

Practice it: [[problem/238?company=4|Best Time to Buy and Sell Stock]]

Problem 6 — Statistical Inference + Markowitz

Two back-to-back textbook derivations. Normal distribution CI with unknown variance: Student's t, x bar +/- t {n-1, 0.025} s / sqrt(n) , with the interviewer pushing on why t and not z. Markowitz minimum-variance portfolio: Lagrangian with sum-to-one and target-return constraints, closed form via inverse covariance. Follow-up was the non-invertible case; answer is Ledoit-Wolf shrinkage.

Onsite (5 rounds, full day)

The "quantitative research thinking" round.

Round 1 — Market Making Strategy

Conversation, no coding. Inventory-adjusted spreads, adverse selection, order flow toxicity, quote behavior across volatility regimes. The interviewer pushed on spread asymmetry when inventory is skewed. Good answers name skew, base volatility, and time-to-close effects.

Round 2 — Risk Management

Three risk categories: market risk (VaR, ES, backtest-validated), model risk (regime shifts, parameter stability, stress tests), liquidity risk (bid-ask widening, concentration). The interviewer liked that I framed monitoring alongside measurement.

Round 3 — Autocorrelation Testing

Problem: Test for autocorrelation in a residual time series.

Three methods: Ljung-Box (portmanteau), Durbin-Watson (lag-1), and the ACF plot (Bartlett bounds). Bonus for multiple-testing correction across lags and regime-dependent autocorrelation on series with structural breaks.

Round 4 — Limit Order Book Coding

Problem: Design a limit order book supporting submit(order) , cancel(order id) , and top of book() .

Price-time priority with two sorted maps of price levels (bids descending, asks ascending), each level a FIFO queue. Secondary hashmap from order id to (level, pointer) for O(log n) cancels. submit also runs cross-book matching: an incoming buy that crosses the best ask consumes the ask queue in FIFO order, partial-filling until either side exhausts. Follow-ups: partial fills, time-in-force flags, cancel-replace.

Practice it: [[problem/564?company=34|Simple Order Book]]

Round 5 — Signal Decay (Research Round)

Open-ended: describe a signal that used to work and stopped. I picked low-volatility anomaly: ETFs and low-vol factor products crowded the trade, compressed returns, and lifted the factor's correlation to systematic beta, invalidating the premise. The interviewer pushed on early-decay detection. Answer: monitor the signal's half-life and its rolling correlation to macro factors.

Result

Offer call came six business days after the onsite. The hiring manager called out the market-making round and the limit order book coding round as the two strongest. Compensation is consistent with other top-tier quant shops in that range.

Tips

  1. On the MFE-flavored phone screen, name your technique out loud. "By linearity of expectation..." is the cue phrase Squarepoint grades for. Same with "Bayesian update" and "law of total probability." Do not just compute the answer. Announce the tool.
  2. For the moving average coding question, maintain a running sum, not a fresh sum. This is the one-line detail the interviewer checks. If you sum the deque inside `next`, you have technically solved it but signaled that you do not distinguish `O(1)` from `O(k)`. That is a quiet mark against.
  3. Know the 25-horses puzzle solution path, not just the answer. Saying "7" gets you zero credit. Walking through why races 6 and 7 have exactly the structure they do is the point. Practice narrating the information-elimination argument.
  4. For the GBM derivation, be able to write the normalization step from memory. The standardization trick (taking log, subtracting the mean, dividing by the standard deviation) must be automatic. Fumbling it signals you have not taken a real stochastic calculus class.
  5. For Markowitz, mention the non-invertible covariance case before they ask. Naming Ledoit-Wolf shrinkage as the remedy is the keyword the interviewer listens for. It signals real-world quant research experience, not textbook memorization.
  6. For the limit order book round, articulate price-time priority before you start coding. The interviewer wants to hear the matching rule named. Then code it. Also know what FIFO means at the price level specifically, and what cross-book matching looks like in code.

Squarepoint's loop filters for researchers, not grinders. If you can code cleanly and also articulate the statistical and financial reasoning underneath each problem, you will do well. If any layer is weak, it will show. I almost got cut on the moving average because I initially summed the deque. Details compound.