Quantitative Finance · Book 18 · Careers

The Interview Book

The Interview Book · Careers

29Mock Interviews

Two transcripts of the same forty-minute interview for the same trading role, with the same questions and the same interviewer. Both candidates reached most of the right answers. One was hired. The assessor’s margin notes on the other say “did not update”, “did not check”, and, twice, “no number”. This chapter prints six complete interviews, one for each column of the table of Chapter 1, as a candidate answered them, with an assessor’s commentary in the margin of each exchange. The candidates are composites written for the book; the questions are new, and the solutions give the answer the assessor was looking for.

29.1 How to read a transcript

Definition 29.1 (Mock interview)

A mock interview is a practice interview run under the conditions of a real one (the same format, time and kind of questions, an interviewer who scores against a rubric) and followed by feedback on each answer.

Each transcript gives the setting, then the exchanges: Interviewer and Candidate lines, with the assessor’s notes in italics. The questions the interviewer asks are numbered like every question in the book, and their model answers are in the solutions. Read a transcript twice: first as the candidate, stopping at each question to answer it yourself; then as the assessor, asking what each answer lets the assessor write on the rubric. The assessor notes the same few things in every interview: a number given, a check made, an update on new information, an explanation of the method, and composure after a mistake. Each question is followed by the interviewer’s follow-up, because that is where most of the scoring happens: the first answer shows what the candidate prepared, the follow-up what the candidate can do. The trader’s interview is printed twice, as the hook promised, once for the candidate who was hired and once for the one who was not; the last section collects the seven scorecards.

29.2 Trader at a market maker

Setting. A final-round interview for a graduate trader at an options market maker; forty minutes; an experienced trader interviews; mental arithmetic, a market and a betting question.

Interview question 29.1 ★ trader • market maker

“Quickly: fifteen per cent of 64 000.”

Solution

Solution of Interview question 29.1.

0.15×64 000=9 6000.15 \times 64\,000 = 9\,600: ten per cent is 6 400 and five per cent half of that, 3 200. Any decomposition said aloud scores (Chapter 8).

What the interviewer is looking for: speed and a method said aloud.

Candidate. “Ten per cent is 6 400, five per cent is 3 200, so 9 600.”

Assessor: three seconds, the method said in one breath. Top anchor on speed.

Interviewer. “Take seven per cent off that.”

Candidate. “Seven per cent of 9 600 is 672, so 8 928. Check: 0.93 of 9 000 is 8 370 and 0.93 of 600 is 558; together 8 928.”

Assessor: second route unprompted.

Interview question 29.2 ★★ trader • market maker

“I am going to toss a coin twenty times. I have already tossed it five times and seen three heads, and you have not. Make me a market on the total number of heads.”

Solution

Solution of Interview question 29.2.

The fifteen remaining tosses have mean 7.5 and standard deviation 15/4≈1.94\sqrt{15/4} \approx 1.94, so the total has fair value 10.5 and the same standard deviation. A market of 10 at 11 is centred and one point wide, about half a standard deviation. The interviewer’s buying carries no information about future tosses, and the three heads are known to both sides, so the market should not move; the candidate who raises it after a lift has confused flow with information (Chapter 13). Being short one at 11 against 10.5 is worth 0.5 in expectation.

What the interviewer is looking for: the conditional mean and spread, and no update on uninformative flow.

Candidate. “Fifteen tosses to go at a half each, seven and a half, plus your three: ten and a half. Standard deviation about two. I’ll quote 10 at 11.”

Interviewer. “Buy at 11. Again.”

Candidate. “You know three heads have happened, and so do I, so your buying tells me nothing about the tosses to come. I’ll stay at 10 at 11, and I’m now short one at 11 against a fair value of 10.5, which I like.”

Assessor: centre right, width tied to the spread, and the key point: the counterparty’s information was already public, so no update. Said the position and its value unprompted.

Interviewer. “I toss the sixth. Heads. Your market?”

Candidate. “Four heads in six and fourteen to go: 4+7=114 + 7 = 11, standard deviation 3.5≈1.87\sqrt{3.5} \approx 1.87. I’m 10.5 at 11.5. And my short at 11 is now worth nothing in expectation: that toss cost me half a point.”

Assessor: this time the information was real, and the market moved at once; marked the position to the new fair value without being asked. Top anchor on updating.

Interview question 29.3 ★★★ trader, risk • market maker

“A deck has ten red and six black cards left. You may bet any part of a bankroll of 400 at even money that the next card is red, once. How much do you bet if you want to maximise long-run growth over many such games, and why not everything?”

Solution

Solution of Interview question 29.3.

At even money with probability p=10/16p = 10/16 of winning, the Kelly fraction is 2p−1=1/42p - 1 = 1/4, a stake of 100. The expected log growth per game is 0.625ln⁡1.25+0.375ln⁡0.75≈0.03160.625 \ln 1.25 + 0.375 \ln 0.75 \approx 0.0316. Betting everything maximises the expected bankroll (1.25×4001.25 \times 400 against 1.0625×4001.0625 \times 400 for the Kelly stake) but loses everything with probability 0.375 each game, so over many games the bankroll goes to zero almost surely. If the probability is itself uncertain, bet a fraction of Kelly (Chapter 13).

What the interviewer is looking for: the Kelly fraction, the stake, and the difference between the mean and the growth rate.

Candidate. “The chance is ten sixteenths, 62.5%. At even money Kelly says two pp minus one, a quarter, so 100. Not everything, because six times in sixteen I lose it all, and the log of zero is minus infinity… sorry, I should say: betting everything maximises the expected bankroll but not its growth.”

Assessor: correct fraction and stake; corrected his own phrasing, which I note as a positive. Could have given the growth rate per game (about 3% of log-wealth) and mentioned fractional Kelly if the 62.5% were uncertain.

Interviewer. “Suppose you are not sure of the count: the chance of red could be anywhere from 55% to 70%.”

Candidate. “Kelly at 55% is a tenth of the bankroll, 40; at 70% it is four tenths, 160. The mistakes aren’t symmetric: if the truth is 55% and I bet a quarter, my growth rate is negative, about −0.7%-0.7\% a game; if the truth is 70% and I bet a tenth, I still grow, at 3.5% against the best possible 8.2%. So I lean low: 40 to 50.”

Assessor: computed both ends and the asymmetry, and turned it into a number. Strong hire.

The same interview, the candidate who was not hired

Interviewer. “Quickly: fifteen per cent of 64 000.”

Candidate. “About ten thousand. … 9 600.”

Assessor: guessed, then computed; fine, slower.

Interviewer. (The coin, as above.) “Make me a market on the total.”

Candidate. “Around ten. 8 at 12.”

Assessor: no number for the uncertainty; a width of four is two standard deviations, which is wide for a coin.

Interviewer. “Buy at 12. I toss the sixth: heads.”

Candidate. “I’ll stay at 8 at 12.”

Assessor: did not update: the toss moved fair value from 10.5 to 11, and the candidate is now short one at 12 without saying so.

Interviewer. (The deck, as above.) “How much do you bet?”

Candidate. “A good part of it, since red is more likely. Most of it, but not everything, to be safe.”

Assessor: no number.

Interviewer. “How much, exactly?”

Candidate. “Three hundred. It feels right: red is much more likely than black.”

Assessor: did not check: at 300 a loss leaves 100, and the growth rate is 0.625ln⁡1.75+0.375ln⁡0.25≈−0.170.625\ln 1.75 + 0.375\ln 0.25 \approx -0.17 a game, so the bankroll shrinks over many games. Never asked what “long-run growth” meant.

Both candidates reached most of the right answers. What separates them is visible in the notes: numbers given without being asked, checks made aloud, and positions updated when, and only when, the information changed.

29.3 Researcher at a systematic fund

Setting. A technical interview for a quantitative researcher at a systematic equity fund; forty-five minutes; a senior researcher interviews; statistics, a regression puzzle, and the design of a test.

Interview question 29.4 ★ researcher • systematic fund

“A daily signal has an information coefficient of 0.02 over ten years. Is that significant?”

Solution

Solution of Interview question 29.4.

Read as a correlation between signal and next-day return measured on about 2 500 independent observations, its tt-statistic is about rn=0.02×50=1r\sqrt n = 0.02 \times 50 = 1: not significant on its own. Autocorrelated observations (a slow signal, overlapping returns) make the effective sample smaller and the tt smaller still. A cross-sectional information coefficient of 0.02, computed each day over many stocks, is a different object: its daily values can be averaged over 2 500 days and, by the fundamental law, a small coefficient applied across a broad universe can carry a useful information ratio if turnover and costs allow (Chapter 14).

What the interviewer is looking for: the tt-statistic, the effective sample size, and breadth.

Candidate. “Ten years is about 2 500 days. As a correlation on 2 500 independent observations, the tt-statistic is about 0.02 times the square root of 2 500, so 1. Not significant. But a cross-sectional coefficient of 0.02 can still be valuable across many stocks; I’d want to know the breadth and the turnover before dismissing it.”

Assessor: fast and right, and the “but” shows she knows the fundamental law. Did not ask whether the observations are autocorrelated, which would make the tt smaller still.

Interviewer. “The daily coefficients have a first-order autocorrelation of 0.5. Now?”

Candidate. “For an autoregression of coefficient ρ\rho the variance of the mean is inflated by about (1+ρ)/(1−ρ)(1 + \rho)/(1 - \rho), here 3, so the tt-statistic falls by 3\sqrt3, to about 0.58.”

Assessor: had the formula ready.

Interview question 29.5 ★★ researcher • systematic fund

“You regress next-month returns on a value signal and get a positive coefficient. Adding sector dummies makes it negative. Which do you believe?”

Solution

Solution of Interview question 29.5.

Adding sector dummies changes the question from “do cheap stocks outperform” to “do cheap stocks outperform their own sector”. The sign flip is an omitted-variable effect: value is correlated with sector membership, and the cheap sectors outperformed over the sample. Believe the within-sector coefficient for a sector-neutral strategy, the pooled one for a strategy that takes sector bets, and test the stability of each over subperiods before believing either.

What the interviewer is looking for: omitted-variable bias, and matching the regression to the strategy.

Candidate. “Neither yet. Without sectors, the value coefficient partly measures which sectors are cheap, and those sectors did well. Within sectors, cheap stocks did worse. The two answer different questions: a sector-neutral strategy should believe the second one. I’d check whether the within-sector result is stable over time and whether one sector drives it.”

Assessor: named the omitted-variable mechanism without being prompted and connected each coefficient to a strategy. Top anchor.

Interviewer. “One sector drives the within-sector result.”

Candidate. “Then it’s a statement about that sector, not about value. I’d report it as such, re-estimate without it, and ask whether there is a reason, an accounting convention for example, that makes value measure something different there.”

Assessor: good instinct to look for a mechanism before a trade.

Interview question 29.6 ★★★ researcher • systematic fund

“Design a test of whether a stock’s overnight return predicts its next day’s intraday return, on 500 stocks over ten years.”

Solution

Solution of Interview question 29.6.

500×10×252=1 260 000500 \times 10 \times 252 = 1\,260\,000 stock-days, but only 2 520 days, and returns on one day share a market shock. Run a cross-sectional regression each day and test the mean of the 2 520 daily slopes with a Newey–West standard error, or pool with standard errors clustered by day. Define the overnight return from the close to the opening auction and the intraday return from the opening auction to the close, so that both are tradable; exclude stale opens. Add costs (the strategy trades the whole universe daily), write the rejection criterion before looking, and correct for every variant tried (Chapter 20).

What the interviewer is looking for: the effective sample, clustering, tradable prices, costs and multiple testing.

Candidate. “That’s 1.26 million stock-days, but only about 2 500 days, and returns on the same day are correlated, so I’d cluster standard errors by day or run a daily cross-sectional regression and test the mean of the daily coefficients. Overnight return from the close to the open, intraday from the open to the close, measured at prices one could trade, so I’d use the opening auction price. Then costs, because the signal trades every stock every day. And I’d tell you in advance what result would make me drop it.”

Interviewer. “And if you had tried five definitions of ‘overnight’ before this one?”

Candidate. “Then I report five and correct for them; the best of five is biased up.”

Interviewer. “The best of the five had t=2.2t = 2.2.”

Candidate. “Two-sided, p≈0.028p \approx 0.028; with a Bonferroni correction for five, about 0.14. Not significant. I’d keep the one definition I would have chosen first, and test it on the next year.”

Assessor: the effective sample size, the clustering, the tradable prices, the costs, and the pre-registered kill criterion. Strong hire on this interview.

29.4 Developer at a proprietary firm

Setting. A technical interview for a software engineer on a trading-systems team; forty-five minutes; a senior engineer interviews; complexity, a coding question and a small design.

Interview question 29.7 ★ developer • proprietary firm

“How do you find whether any client order identifier repeats in a day’s log of ten million orders, and what does it cost?”

Solution

Solution of Interview question 29.7.

Insert identifiers in a hash set and stop at the first already present: expected O(n)O(n) time and O(n)O(n) memory. For ten million identifiers a general-purpose set takes hundreds of megabytes; a sort and a scan of adjacent pairs takes O(nlog⁡n)O(n \log n) time and can run on disk; a Bloom filter gives a fast first pass with false positives only, each checked exactly (Chapter 21).

What the interviewer is looking for: the hash set, its memory cost, and alternatives under constraints.

Candidate. “A hash set: insert each identifier and stop at the first one already there. Linear time, and memory for up to ten million identifiers, hundreds of megabytes in a naive set. If memory were tight I’d sort and scan, nlog⁡nn \log n, or use a Bloom filter first and check its hits.”

Assessor: correct, with the memory cost and two alternatives. Good.

Interviewer. “Size the Bloom filter for a 1% false-positive rate.”

Candidate. “m=−nln⁡p/(ln⁡2)2m = -n\ln p/(\ln 2)^2: 107×4.6/0.48≈9610^7 \times 4.6/0.48 \approx 96 million bits, 12 megabytes, with (m/n)ln⁡2≈6.6(m/n)\ln 2 \approx 6.6, so seven hash functions. About 100 000 false alarms to check exactly, which is cheap.”

Assessor: had the formula, and turned the rate into a count.

Interview question 29.8 ★★ developer • proprietary firm

“Write a cache of instrument definitions of fixed capacity that evicts the least recently used entry, with constant-time get and put.”

Solution

Solution of Interview question 29.8.

A hash map from key to a node of a doubly linked list kept in recency order: get finds the node and moves it to the front, put inserts or updates at the front and, above capacity, removes the tail node and its map entry; both are O(1)O(1). In Python, OrderedDict with move_to_end and popitem(last=False) does the same. The chapter’s test runs the capacity-two sequence (B is evicted) and 200 random sequences against a list-based model.

What the interviewer is looking for: the two structures together, and a test with an eviction.

Candidate. “A hash map from key to a node in a doubly linked list ordered by recency; get moves the node to the front; put inserts at the front and, if over capacity, removes the tail. In Python an ordered dictionary does both jobs.” (Writes it; tests it on a capacity of two: put A, put B, get A, put C, and checks that B was evicted.)

Assessor: right structure, wrote a test before being asked. Top anchor on testing.

Interviewer. “Two threads share it.”

Candidate. “A get also writes, since it moves the key, so a reader-writer lock buys nothing. One mutex around both operations first; if a profile shows contention, shard the cache by key hash with a mutex per shard, which weakens ‘least recently used’ to per-shard, and I’d say so in the interface.”

Assessor: spotted that reads mutate; named the semantic cost of sharding.

Interview question 29.9 ★★★ developer • proprietary firm

“The venue allows 100 messages a second with bursts of up to 20. Design the throttle in our gateway. If 50 messages arrive at once and then one every ten milliseconds for a second, starting half a second later, how many of the 150 go out without waiting?”

Solution

Solution of Interview question 29.9.

A token bucket of capacity 20 refilled at 100 tokens a second. At time zero 20 messages go and 30 do not. By half a second the bucket is full again; messages then arrive every 10 milliseconds, exactly the refill rate, so each finds a token and all 100 go: 120 of 150 without waiting, as the chapter’s simulation confirms. If the 30 queue instead, they leave one every 10 milliseconds, the last at 0.3 seconds; the bucket is full again by 0.5 seconds, so the second wave is unaffected and all 150 go, 30 of them late. With a longer first burst or a sooner second wave the queue would delay the later messages too, so the policy (queue, reject, or give cancels their own budget) must be decided with the desk, who know how quickly a stale order becomes a liability (Chapter 26).

What the interviewer is looking for: the token-bucket model, the count, and the queueing policy.

Candidate. “A token bucket: capacity 20, refilled at 100 a second; a message goes out if a token is available, otherwise it waits or is rejected, which is a policy decision I’d ask the traders about. At time zero 20 go and 30 wait. After half a second the bucket is full again at 20, and new messages arrive at exactly the refill rate, so all 100 go. That’s 120 without waiting, if the 30 are rejected.”

Interviewer. “And if they queue?”

Candidate. “They leave one every ten milliseconds, the last at 0.3 seconds, and the bucket refills to 20 by 0.5, so the second wave is untouched: all 150 go, 30 of them late, the last by 300 milliseconds. Whether that’s better is the desk’s call: an order 300 milliseconds old can be worse than no order. I’d reject new orders and tell the strategy, and queue cancels, or give them their own budget if the venue allows.”

Assessor: correct model and counts in both policies, and turned the policy into a business question. Hire.

29.5 Machine-learning engineer at a systematic fund

Setting. A technical interview for a machine-learning engineer who will put research models into production; forty minutes; an engineering lead interviews.

Interview question 29.10 ★ mle • systematic fund

“How do you split five years of daily data into training, validation and test sets?”

Solution

Solution of Interview question 29.10.

Split by time, never at random: train on the earliest period, validate on the next, test on the last, with a gap (an embargo) at least as long as the label horizon between them so that overlapping labels do not leak; or walk forward with expanding windows. Hyperparameters are chosen on validation only, and the test set is used once (Chapter 19).

What the interviewer is looking for: chronological splits, the embargo, and a test set used once.

Candidate. “By time: the first three years to train, the fourth to validate, the fifth to test, and a gap between them as long as the label horizon so that labels do not overlap across the boundary. Or walk forward with expanding windows. Never shuffle.”

Assessor: the embargo gap mentioned unprompted. Good.

Interviewer. “The labels are five-day forward returns, and you want several test years, not one.”

Candidate. “Then a five-day gap at every boundary, and walk forward: at least two years of training, one-year test windows, so three folds in five years, each trained on everything before it. I’d report the three test years separately as well as pooled; if one year carries the result, that’s the finding.”

Assessor: sized the gap from the label and counted the folds.

Interview question 29.11 ★★ mle • systematic fund

“A classifier flags one per cent of events as anomalies, and its accuracy is 99%. Is it good?”

Solution

Solution of Interview question 29.11.

With one per cent positives, the classifier that always says “normal” is 99% accurate and useless. Report precision and recall on the anomaly class (or the precision-recall curve and its area), and choose the threshold from the costs of a missed anomaly and a false alarm.

What the interviewer is looking for: the base rate, and metrics and thresholds tied to costs.

Candidate. “Predicting ‘normal’ always gives 99% too, so accuracy says nothing. I’d look at precision and recall on the anomalies, or the precision-recall curve, and at the cost of each kind of error, which decides the threshold.”

Assessor: correct and quick; tied the threshold to costs.

Interviewer. “Yours reaches 80% recall at a false-positive rate of 5%. What’s its precision?”

Candidate. “Per 10 000 events: 100 anomalies, 80 caught; 9 900 normal, 495 flagged. Precision is 80 out of 575, about 14%: six false alarms for each real one. Whether that’s usable depends on who reads the alerts.”

Assessor: counted instead of reaching for a formula; the base rate carried through.

Interview question 29.12 ★★★ mle, developer • systematic fund

“A model’s input feature was spread evenly over four bins in training; this week the shares are 10, 20, 30 and 40%. Compute the population stability index and tell me what you would do.”

Solution

Solution of Interview question 29.12.

PSI=∑i(ai−ei)ln⁡(ai/ei)\mathrm{PSI} = \sum_i (a_i - e_i)\ln(a_i/e_i) with ei=0.25e_i = 0.25 and a=(0.1,0.2,0.3,0.4)a = (0.1, 0.2, 0.3, 0.4) gives 0.137+0.011+0.009+0.071≈0.2280.137 + 0.011 + 0.009 + 0.071 \approx 0.228, above the common 0.2 threshold for a large shift. First rule out a pipeline fault (units, a changed source, a stale join); then check whether the model’s live performance has moved; retrain only if it has, and on data that include the new regime (One Quant Book 12, chapter 27).

What the interviewer is looking for: the computation, and diagnosis before retraining.

Candidate. “PSI is the sum of actual minus expected times the log of their ratio: −0.15ln⁡0.4-0.15 \ln 0.4, then −0.05ln⁡0.8-0.05 \ln 0.8, then 0.05ln⁡1.20.05 \ln 1.2, then 0.15ln⁡1.60.15 \ln 1.6… about 0.23. The usual rule of thumb treats above 0.2 as a large shift. I’d check whether the change is real (a new regime) or a pipeline fault (a unit change, a stale source), and if real, look at the model’s recent performance before retraining.”

Assessor: computed it, gave the number, and separated a data fault from a real shift before reaching for retraining (One Quant Book 12, chapter 27). Hire.

Interviewer. “It turns out the vendor switched that feature from per cent to basis points.”

Candidate. “Then the model is fine and the pipeline isn’t. Fix the unit, rescore the affected days, and add a check on the feature’s range and distribution at ingestion so that the next change pages someone instead of feeding the model garbage.”

Assessor: fixed the class of fault, not the instance.

29.6 Bank quant at a bank

Setting. A technical interview for a desk quant on an equity-derivatives desk; forty-five minutes; a senior quant interviews; pricing and sensitivities.

Interview question 29.13 ★ bank • bank

“A stock at 100 pays a continuous dividend yield of 1%; the rate is 3%. What is the two-year forward?”

Solution

Solution of Interview question 29.13.

F=Se(r−q)T=100e0.04≈104.08F = S e^{(r - q)T} = 100 e^{0.04} \approx 104.08 (Chapter 17).

What the interviewer is looking for: the carry formula without hesitation.

Candidate. “100e(0.03−0.01)×2=100e0.04100 e^{(0.03 - 0.01) \times 2} = 100 e^{0.04}, about 104.08.”

Assessor: instant. Fine.

Interviewer. “Instead of the yield, a dividend of 2 paid in six months.”

Candidate. “Take the dividend’s present value off spot, 2e−0.015≈1.972e^{-0.015} \approx 1.97, and grow the rest: 98.03×e0.06≈104.0998.03 \times e^{0.06} \approx 104.09. Close to the yield case, as it should be: 1% a year on 100 over two years is about 2.”

Assessor: right treatment and a consistency check.

Interview question 29.14 ★★ bank, trader • bank

“A call struck at the money, one year to expiry, stock at 100, 20% volatility, zero rates: what is its vega per volatility point?”

Solution

Solution of Interview question 29.14.

With zero rates, d1=σT/2=0.1d_1 = \sigma\sqrt T/2 = 0.1 and φ(0.1)≈0.397\varphi(0.1) \approx 0.397, so vega is Sφ(d1)T≈39.7S\varphi(d_1)\sqrt T \approx 39.7 per unit of volatility, 0.397 per volatility point. Check: the at-the-money call is about 0.4 σST0.4\,\sigma S\sqrt T, here 7.97, which is linear in σ\sigma, so vega is about 7.97/20≈0.407.97/20 \approx 0.40 per point.

What the interviewer is looking for: the formula, the units, and an independent check.

Candidate. “Vega is Sφ(d1)TS\varphi(d_1)\sqrt T. d1d_1 is 0.1, φ(0.1)\varphi(0.1) about 0.397, so about 39.7 per unit of volatility, 0.40 per point. That’s also about the at-the-money call price divided by the volatility, since the price is roughly linear in volatility at the money: 8 over 20.”

Assessor: formula, number and an independent check. Top anchor.

Interviewer. “And for the three-month option?”

Candidate. “At the money, vega scales like the square root of time: half, about 0.20 a point.”

Assessor: scaling law rather than recomputation.

Interview question 29.15 ★★★ bank • bank

“Price a one-year digital call struck at 100, same stock, by a call spread, and tell me how big the replication error is and what the desk should charge for it.”

Solution

Solution of Interview question 29.15.

(C(99)−C(101))/2≈0.4602(C(99) - C(101))/2 \approx 0.4602, against the digital’s Φ(d2)=Φ(−0.1)≈0.4602\Phi(d_2) = \Phi(-0.1) \approx 0.4602 in the model: the centred spread approximates the derivative of the call price in the strike with an error proportional to the square of the half-width, which the chapter’s test checks at half-widths 4, 2 and 1. In practice the spread’s payoff is a ramp, not a step; the desk hedges with a spread whose payoff dominates the digital’s and charges the difference, and the price of the spread reflects the skew, which adds a term proportional to the slope of implied volatility in the strike (One Quant Book 5, chapter 15).

What the interviewer is looking for: the replication, its error order, the over-hedge and the skew.

Candidate. “Buy the 99 call and sell the 101 call, scaled by a half: in the Black–Scholes model that gives about 0.460, the same as Φ(d2)\Phi(d_2) to four decimals, because the error falls like the square of the half-width. Only if the desk can trade exactly those strikes, and the payoff at expiry is not a digital: between 99 and 101 it pays a fraction. The desk over-hedges, buying the spread on the side that makes the payoff at least the digital’s, and charges that difference, which is where the skew matters.”

Assessor: correct price, the convergence order, and the over-hedge as the practical answer (One Quant Book 5, chapter 15). Did not quantify the skew adjustment; acceptable at this level.

Interviewer. “The client wants a million on the digital. How many spreads?”

Candidate. “Each 99–101 spread pays at most 2, so a million over 2: 500 000 spreads, bought on the side that over-hedges, and the desk must be able to trade those strikes in that size.”

Assessor: sized it and added the liquidity caveat.

29.7 Portfolio-manager hire at a multi-manager fund

Setting. A meeting with a candidate portfolio manager at a multi-manager platform; sixty minutes; the head of a business unit and a risk manager interview; the candidate has brought two years of monthly returns.

Interview question 29.16 ★ trader, researcher • multi-manager fund

“From your monthly returns, what are your annualised Sharpe ratio and your maximum drawdown?”

Solution

Solution of Interview question 29.16.

On the candidate’s 24 monthly returns: annualised Sharpe ratio 1.05 (monthly mean over monthly standard deviation, times 12\sqrt{12}) and maximum drawdown −2.4%-2.4\% from peak. With two years, the standard error is about (1+SR2/2)/2≈0.9\sqrt{(1 + \mathrm{SR}^2/2)/2} \approx 0.9, so the interval runs from about zero to two (Chapter 14). The firm recomputes from independent statements.

What the interviewer is looking for: the numbers, and their uncertainty volunteered.

Candidate. “About 1.05 and about 2.4% from peak, on twenty-four months, after costs, on the capital I ran. Two years is short: the standard error on that Sharpe ratio is around 0.9.”

Risk manager: precise, and volunteered the uncertainty. We will recompute from the administrator’s statements.

Risk manager. “Take out your best month.”

Candidate. “My best month was 2.1%. Without it the Sharpe ratio is about 0.86. The drawdown doesn’t change: the best month came just before it, so taking it out lowers the peak and the trough together.”

Risk manager: knew the answer, which means the candidate had asked the question first.

Interview question 29.17 ★★ trader, researcher • multi-manager fund

“Your gross Sharpe ratio is 1.2 at 8% volatility with a turnover of twenty times a year and costs of 5 basis points a turn. What happens to the net Sharpe ratio if we give you ten times the capital?”

Solution

Solution of Interview question 29.17.

Gross return 1.2×8%=9.6%1.2 \times 8\% = 9.6\%; costs 20×520 \times 5 basis points =1%= 1\%; net Sharpe 8.6/8≈1.088.6/8 \approx 1.08. With impact growing like the square root of size, ten times the capital multiplies the cost per turn by 10≈3.16\sqrt{10} \approx 3.16, to about 3.2%, and the net Sharpe ratio falls to about 0.80. The practical answer is a staged increase with the costs measured at each stage (One Quant Book 7, chapter 28).

What the interviewer is looking for: costs in Sharpe units, a scaling law for impact, and staging.

Candidate. “Today costs take 20×520 \times 5 basis points, 1%, from a gross return of 9.6%: net 8.6%, Sharpe about 1.08. If impact grows with the square root of size, costs rise by about three times at ten times the capital, to about 3.2%, so the net Sharpe falls to about 0.8. I’d rather start at three times and measure.”

Business head: understands capacity and proposed the staged increase himself.

Business head. “At what size does your net Sharpe ratio reach 0.5?”

Candidate. “At 8% volatility the net return must be 4%: 9.6−m=49.6 - \sqrt{m} = 4 with costs of 1% today, so m=5.6\sqrt m = 5.6 and m≈31m \approx 31 times today’s capital, if the square-root law held that far, which I doubt. I’d treat ten times as the ceiling until I had measured it.”

Business head: solved it, then refused to believe the extrapolation. Good.

Interview question 29.18 ★★★ trader, risk • multi-manager fund

“Our rule stops a book out at a 7.5% drawdown. If your returns were a drifting Brownian motion with a 10% expected return and 10% volatility a year, what is the chance you are stopped out within your first year?”

Solution

Solution of Interview question 29.18.

For Xt=μt+σWtX_t = \mu t + \sigma W_t, the probability of reaching −a-a by TT is Φ((−a−μT)/(σT))+e−2μa/σ2 Φ((−a+μT)/(σT))\Phi\bigl((-a - \mu T)/(\sigma\sqrt T)\bigr) + e^{-2\mu a/\sigma^2}\,\Phi\bigl((-a + \mu T)/(\sigma\sqrt T)\bigr), here Φ(−1.75)+e−1.5Φ(0.25)≈0.040+0.134≈0.17\Phi(-1.75) + e^{-1.5}\Phi(0.25) \approx 0.040 + 0.134 \approx 0.17, confirmed by simulation (Chapter 16). That is a loss of 7.5% from the start. A stop measured from the running peak is hit far more often: the chapter’s simulation of the same process gives about 0.53. The candidate who knows which rule the firm applies, and what it implies for a manager with a true Sharpe ratio of one, negotiates from facts (One Quant Book 16, chapter 8).

What the interviewer is looking for: the first-passage formula, the number, and the start-versus-peak distinction.

Candidate. “The first-passage probability for Brownian motion with drift: Φ\Phi of minus the barrier minus the drift, over the volatility, plus e−2μa/σ2e^{-2\mu a/\sigma^2} times Φ\Phi of minus the barrier plus the drift, over the volatility. With these numbers roughly 17%. That is measured from the start. If your rule measures from the running peak, and most do, it is much higher; I’d simulate it, and I’d guess near a half. So between one in six and one in two of people like me would be stopped by luck in year one; that is worth discussing before I sign.”

Risk manager: correct formula and number, and the distinction between drawdown from the start and from the peak. The last sentence is the kind of negotiation we respect (One Quant Book 16, chapter 8).

Risk manager. “And if your Sharpe ratio were 2, same volatility?”

Candidate. “Drift 20%: Φ(−2.75)+e−3Φ(1.25)≈0.003+0.045\Phi(-2.75) + e^{-3}\Phi(1.25) \approx 0.003 + 0.045, about 5% from the start. The stop bites much less often on a better strategy, which is the point of it.”

Risk manager: recomputed in thirty seconds.

29.8 The seven scorecards

Each interviewer scored the rubric’s five rows from 1 to 4: numbers (a value given when one was needed), checks (a second route, a limit, a units test), updating (moving on information, and only on information), explanation (the method said so another person could follow it), and composure (after an error or a challenge). The table collects the scores.

InterviewNumbersChecksUpdatingExplanationComposureDecision
Trader, hired43444hire
Trader, not hired21123no hire
Researcher43444hire
Developer44344hire
ML engineer44434hire
Bank quant44344hire
Portfolio-manager hire43444hire, if verified

Three things are common to the strong transcripts. The first answer is short and has a number in it. The follow-up, which is where the interviewer learns most, is answered with a new computation rather than a restatement. And every candidate who was hired said at least once what would change their answer: the sixth toss, the uncertain deck, the five definitions, the queueing policy, the vendor’s units, the skew, the peak. The candidate who was not hired gave most of the same answers eventually; what the rubric recorded was that the numbers came late, the checks never, and the update not at all.

Sources and further reading

  • The six candidates are composites written for this book; the questions are new.
  • One Quant Book 5, chapter 15; One Quant Book 7, chapter 28; One Quant Book 12, chapter 27; One Quant Book 16, chapters 3 and 8; One Quant Book 17, chapters 16–22.

Terms defined in this chapter

See all 2333 terms in the glossary