Case 001Signal research and data tasksCore
A dataset of one-minute order-flow imbalance against next-minute futures returns gives a slope of 0.8 bps per unit, a t-statistic of 12 and an R-squared of 1.5%, with a 3 bp spread. Is the signal tradeable?
1The situation
Ushmira Quant hands you a dataset for an index futures contract: one row per minute, the order-flow imbalance in that minute (buyer-initiated volume minus seller-initiated volume, scaled so its standard deviation is 1), and the mid-price return over the next minute in basis points.
You regress the next-minute return on imbalance. The slope is 0.8 bps per unit of imbalance, the t-statistic is 12 and the R-squared is 1.5%. The contract's average bid-ask spread is 3 bps, so crossing it one way costs 1.5 bps against the mid and a round trip costs 3 bps. Assume no fees for now.
2Your task
Is the relationship real, is it tradeable as a taker, and if not, what would you do with it?
Quick check
Before any maths: a t-statistic of 12 means the signal is...
Worked solution
Try it on paper, then open one step at a time.
30-second answerThe answer to give first
The signal is real and untradeable as a taker. A t of 12 over roughly 9,458 minutes says the slope is not zero, but a one-sigma imbalance predicts only 0.8 bps against 1.5 bps to cross one way and 3 bps to get out again. Trading every minute loses about 2.4 bps a trade. Its value is as an input: skewing a market maker's quotes or timing other orders.
Step 1What do the t-statistic and the R-squared each tell you?
Start with the sample size, because it explains both numbers. The t-statistic and R-squared are linked by the number of observations, and solving that link gives about 9,458 minutes, roughly 25 trading days of 375 minutes. With that many rows, a slope that explains 1.5% of the variance is detected with overwhelming confidence, and the t-statistic only confirms that the slope is not zero. Think of weighing yourself a thousand times on a slightly biased scale: you can be certain the scale reads 200 grams heavy, and that certainty says nothing about whether 200 grams matters to you.
| t | the slope's t-statistic, 12 |
| R^2 | share of next-minute return variance the imbalance explains, 0.015 |
| n | number of one-minute observations |
The R-squared also tells you how noisy each minute is. The slope of 0.8 over an R-squared of 1.5% implies next-minute returns have a standard deviation of about 6.5 bps. The signal shifts the centre of that spread by less than one basis point. That is normal for high-frequency data and is not a sign of overfitting; it is the reason costs decide everything.
Step 2Does the predicted move beat the cost of crossing the spread?
Put the prediction and the cost in the same units. A taker buys at the offer, 1.5 bps above the mid, and sells a minute later at the bid, 1.5 bps below it, so each round trip costs 3 bps. The fitted line only reaches 3 bps at an imbalance of 3.75 standard deviations, which happens in about 0.02% of minutes. Even covering the one-way half-spread needs 1.88 standard deviations, about 6% of minutes, and then you still pay to exit. The average absolute prediction across all minutes is 0.64 bps.
Step 3If you cannot take on it, what is it worth?
Change who pays the spread. A market makerA trader who posts bids and offers and earns the spread when others trade against them, rather than crossing the spread to trade. earns 1.5 bps each time a resting order fills, and loses when it fills just before the price moves through it. The imbalance signal tells the maker which side is about to be run over: at +2 standard deviations the predicted move is +1.6 bps, larger than the 1.5 bps the offer earns, so the maker should pull or widen the offer and lean on the bid. Used this way the signal does not need to beat the spread; it only needs to avoid the worst fills.
Two other uses are worth naming. An execution desk that must buy anyway can wait a minute when imbalance points down and buy now when it points up, saving part of the spread on flow it was going to trade regardless. And the signal can be one input among several: two weak, independent signals that each predict 0.8 bps combine into something larger, and only the combined forecast has to clear the cost.
Close with what you would check before believing any of it. Is the imbalance known at the moment you would act, or computed with the minute's final print? Does the slope hold in each week separately, or is it one volatile day? Does it survive a fee of even 0.5 bps a side? A take-home is marked on whether you separate statistical significance from economic significance, and then say what you would test next.
Where candidates lose it
The common loss is reading t = 12 as a green light. With thousands of minutes almost any real effect is highly significant; the interviewer is checking whether you compare the size of the effect with the cost of acting on it.
The opposite error is dismissing it because R-squared is 1.5%. For minute returns that is a respectable number, and a candidate who throws the signal away has missed its value to a market maker.
What the interviewer asks next
- How would you test whether the imbalance is known in time, with no look-ahead?
- Fees are 0.3 bps a side. At what imbalance does a taker trade break even?
- How would you combine this with a second signal that has correlation 0.2 with it?
- The slope halves in the last two weeks of data. What do you conclude?
Asked at Hudson River Trading, Quantitative Research, Anonymous interview candidate in, 2024 (Wall Street Oasis): Data analysis where you are given a dataset and build prediction models based on it
Company names and figures are illustrative.
