Quant firm interview prep

Citadel interview questions

Representative quant-interview questions tagged to Citadel, concentrated in probability, options, and stochastic calculus. Preview a free set below, then drill the full bank with hints and worked solutions.

596 Citadel questions · 42 free to preview · 2,516 problems total

16 practice questions

FreeOptionsWarmupCitadelSIGIMC

A European call and a European put are written on the same underlying with the same strike KK and the same expiry. The call option has a gamma of 0.020.02. What is the gamma of the put option?

Solution

For European options on the same underlying asset with the same strike KK and time to expiry TT, put-call parity gives:

CP=SKerTC - P = S - K e^{-rT}

where CC is the call price, PP the put price, SS the spot price, and rr the risk-free rate. Gamma is the second derivative of the option price with respect to SS:

Γ=2VS2\Gamma = \frac{\partial^2 V}{\partial S^2}

Differentiating put-call parity twice with respect to SS:

2CS22PS2=2S2(SKerT)=0\frac{\partial^2 C}{\partial S^2} - \frac{\partial^2 P}{\partial S^2} = \frac{\partial^2}{\partial S^2}\left(S - K e^{-rT}\right) = 0

because SS is linear in SS (second derivative zero) and KerTK e^{-rT} is constant. Hence:

ΓCΓP=0ΓC=ΓP\Gamma_C - \Gamma_P = 0 \quad \Rightarrow \quad \Gamma_C = \Gamma_P

Given ΓC=0.02\Gamma_C = 0.02, the put gamma is also 0.020.02.

FreeProbabilityEasyCitadelJane StreetSIG

A fair coin is flipped repeatedly until the first heads appears. The payout is 2n2^n dollars if the first heads occurs on the nnth toss. Determine the fair value of this game. If the expected value is infinite, output 1-1.

Solution

Let NN be the number of coin flips until the first heads appears. Since the coin is fair, NN follows a geometric distribution with success probability 1/21/2: P(N=n)=(1/2)nP(N = n) = (1/2)^n for n=1,2,3,n = 1, 2, 3, \dots (the first n1n-1 flips are tails and the nnth flip is heads). The payout when N=nN = n is 2n2^n dollars. The expected value of the payout is

E[payout]=n=12nP(N=n)=n=12n(12)n=n=11=.E[\text{payout}] = \sum_{n=1}^{\infty} 2^n \cdot P(N = n) = \sum_{n=1}^{\infty} 2^n \cdot \left(\frac{1}{2}\right)^n = \sum_{n=1}^{\infty} 1 = \infty.

Since the expected value is infinite, the game does not have a finite fair value. Per the problem instructions, output 1-1.

FreeCombinatoricsEasyCitadelJane StreetSIG

A class contains 15 boys and 10 girls. The students line up in a row uniformly at random. What is the expected number of adjacent boy-girl pairs? For example, the lineup BGBBGGGBGGBBBBGBGBBGBBGBBBGBBGGGBGGBBBBGBGBBGBBGBB has 14 such adjacent pairs.

Solution

We have 15 boys and 10 girls, totaling 25 students. The students line up uniformly at random. We want the expected number of adjacent positions where one is a boy and the other is a girl (order BG or GB).

Let XX be the number of adjacent boy-girl pairs. For each adjacent pair of positions (i,i+1)(i, i+1) with i=1,,24i = 1,\dots,24, define an indicator IiI_i that the two students at those positions are of opposite sexes. Then X=i=124IiX = \sum_{i=1}^{24} I_i, and by linearity of expectation,

E[X]=i=124E[Ii]=i=124Pr(positions i and i+1 are opposite sexes).\mathbb{E}[X] = \sum_{i=1}^{24} \mathbb{E}[I_i] = \sum_{i=1}^{24} \Pr(\text{positions } i \text{ and } i+1 \text{ are opposite sexes}).

By symmetry, the probability is the same for every adjacent pair; denote it by pp. Hence E[X]=24p\mathbb{E}[X] = 24 \cdot p.

Now compute pp. There are 25×2425 \times 24 equally likely ordered assignments of two distinct students to the two positions. Favorable cases are (boy, girl) and (girl, boy). There are 15×10=15015 \times 10 = 150 ways to choose a boy then a girl, and 10×15=15010 \times 15 = 150 ways to choose a girl then a boy, for a total of 300300 favorable ordered pairs. Thus

p=30025×24=300600=12.p = \frac{300}{25 \times 24} = \frac{300}{600} = \frac{1}{2}.

Alternatively, Pr(boy then girl)=15251024=14\Pr(\text{boy then girl}) = \frac{15}{25} \cdot \frac{10}{24} = \frac{1}{4}, and Pr(girl then boy)=10251524=14\Pr(\text{girl then boy}) = \frac{10}{25} \cdot \frac{15}{24} = \frac{1}{4}, so p=14+14=12p = \frac{1}{4} + \frac{1}{4} = \frac{1}{2}.

Therefore,

E[X]=2412=12.\mathbb{E}[X] = 24 \cdot \frac{1}{2} = 12.
FreeOptionsEasyCitadelSIGIMC

Three call options are available with the following strikes and prices:

  • Strike 1000, price 4
  • Strike 1010, price 3.5
  • Strike 1020, price 2.75

An arbitrage exists. Using one contract at each of the outer strikes and two contracts at the middle strike, what is the guaranteed profit (in dollars)?

Solution

The three calls have equally spaced strikes (ΔK=10\Delta K = 10) and prices C1=4C_1=4, C2=3.5C_2=3.5, C3=2.75C_3=2.75. A no-arbitrage condition for call options is that the price as a function of strike must be convex: C1+C32C2C_1 + C_3 \ge 2C_2. Here 4+2.75=6.75<7=2×3.54 + 2.75 = 6.75 < 7 = 2 \times 3.5, so convexity is violated, creating an arbitrage.

Construct a butterfly spread: buy one call at strike 1000, buy one call at strike 1020, and sell two calls at strike 1010. The net premium is

C1+C32C2=4+2.752(3.5)=6.757=0.25,C_1 + C_3 - 2C_2 = 4 + 2.75 - 2(3.5) = 6.75 - 7 = -0.25,

so the position generates an upfront credit of 0.250.25.

The payoff at expiration STS_T is

V(ST)=max(ST1000,0)+max(ST1020,0)2max(ST1010,0).V(S_T) = \max(S_T-1000,0) + \max(S_T-1020,0) - 2\max(S_T-1010,0).

Evaluating piecewise:

  • ST1000S_T \le 1000: all options expire worthless, V=0V=0.
  • 1000<ST10101000 < S_T \le 1010: V=(ST1000)0V = (S_T-1000) \ge 0.
  • 1010<ST10201010 < S_T \le 1020: V=(ST1000)2(ST1010)=1020ST0V = (S_T-1000) - 2(S_T-1010) = 1020 - S_T \ge 0.
  • ST>1020S_T > 1020: V=(ST1000)+(ST1020)2(ST1010)=0V = (S_T-1000)+(S_T-1020)-2(S_T-1010)=0.

The payoff is non-negative for all STS_T and strictly positive for 1000<ST<10201000 < S_T < 1020. Since the position was entered at a net credit of 0.250.25, the guaranteed profit is 0.250.25 dollars (25 cents).

FreeStochasticEasyCitadelJane StreetSIG

Consider a drunkard starting one pace from a precipice. On each move he steps toward the edge with chance 1/31/3 and away with chance 2/32/3; moves are independent. Determine the probability that he never goes over the edge, i.e., he escapes.

Solution

Let qkq_k be the probability that the drunkard eventually steps onto the precipice (ruin) when he is currently kk paces from the edge (k0k\ge 0). The precipice is at k=0k=0, so q0=1q_0=1. We want the survival probability 1q11-q_1.

For k1k\ge 1, condition on the first step:

qk=13qk1+23qk+1.q_k = \frac13 q_{k-1} + \frac23 q_{k+1}.

Multiply by 33 and rearrange to obtain the homogeneous linear recurrence

2qk+13qk+qk1=0.2q_{k+1} - 3q_k + q_{k-1} = 0.

The characteristic equation is 2r23r+1=02r^2-3r+1=0, which factors as (2r1)(r1)=0(2r-1)(r-1)=0, giving roots r=1r=1 and r=12r=\frac12. Hence

qk=A+B(12)k.q_k = A + B\Big(\frac12\Big)^k.

Boundary conditions.

  • At k=0k=0: q0=1    A+B=1q_0 = 1 \implies A + B = 1.
  • As kk\to\infty, the walk has a positive drift away from the edge (each step has expected change +13+\frac13). Therefore the probability of ever hitting 00 from far away tends to 00, i.e. limkqk=0\lim_{k\to\infty}q_k = 0. This forces A=0A=0, and consequently B=1B=1.

Thus qk=(12)kq_k = \big(\frac12\big)^k. In particular, the ruin probability starting one pace away is q1=12q_1 = \frac12. The probability that he never goes over the edge is

1q1=12.1 - q_1 = \frac12.
FreeLinear algebraEasyCitadelJane StreetTwo Sigma

Three assets AA, BB, CC have correlations ρAB=0.9\rho_{AB}=0.9 and ρBC=0.8\rho_{BC}=0.8. Can ρAC=0.1\rho_{AC}=0.1?

Solution

A correlation matrix must be positive semidefinite (PSD). For three assets with pairwise correlations ρAB=0.9\rho_{AB}=0.9, ρBC=0.8\rho_{BC}=0.8, and a candidate ρAC=0.1\rho_{AC}=0.1, we check whether the 3×33\times3 correlation matrix

R=(10.90.10.910.80.10.81)R = \begin{pmatrix} 1 & 0.9 & 0.1 \\ 0.9 & 1 & 0.8 \\ 0.1 & 0.8 & 1 \end{pmatrix}

is PSD. A necessary and sufficient condition for a 3×33\times3 symmetric matrix with unit diagonal is that all principal minors are nonnegative. The 1×11\times1 and 2×22\times2 minors are clearly nonnegative, so the key condition is det(R)0\det(R) \ge 0.

The determinant of a 3×33\times3 correlation matrix is

det(R)=1+2ρABρBCρACρAB2ρBC2ρAC2.\det(R) = 1 + 2\rho_{AB}\rho_{BC}\rho_{AC} - \rho_{AB}^2 - \rho_{BC}^2 - \rho_{AC}^2.

Substituting the given values:

det(R)=1+2(0.9)(0.8)(0.1)0.920.820.12=1+0.1440.810.640.01=1.1441.46=0.316<0.\begin{aligned} \det(R) &= 1 + 2(0.9)(0.8)(0.1) - 0.9^2 - 0.8^2 - 0.1^2 \\ &= 1 + 0.144 - 0.81 - 0.64 - 0.01 \\ &= 1.144 - 1.46 = -0.316 < 0. \end{aligned}

Since the determinant is negative, RR is not positive semidefinite. Therefore ρAC=0.1\rho_{AC}=0.1 is not possible.

FreeCombinatoricsMediumCitadelJane StreetSIG

Sandy has 55 pairs of socks in a drawer, each pair a distinct color. On Monday, she randomly picks two socks from the 1010 total; on Tuesday, she picks two from the remaining 88; on Wednesday, she picks two from the remaining 66. What is the probability that Wednesday is the first day she selects a matching pair?

Solution

Let MM, TT, WW be the events that Monday, Tuesday, Wednesday produce a matching pair, respectively. We want

P(McTcW)=P(Mc)P(TcMc)P(WMcTc).P(M^c \cap T^c \cap W) = P(M^c)\,P(T^c \mid M^c)\,P(W \mid M^c \cap T^c).

1. P(Mc)P(M^c). Total ways to choose 22 socks from 1010: (102)=45\binom{10}{2}=45. Matching pairs: 55 (one per color). So P(M)=5/45=1/9P(M)=5/45=1/9, hence

P(Mc)=119=89.P(M^c)=1-\frac19=\frac89.

2. P(TcMc)P(T^c \mid M^c). After a non‑matching Monday, two socks of different colors are removed. The remaining 88 socks consist of 33 colors with 22 socks each and 22 colors with 11 sock each. Total pairs from 88: (82)=28\binom{8}{2}=28. Only the three colors with 22 socks can produce a matching pair, so 33 matching pairs. Thus P(TMc)=3/28P(T\mid M^c)=3/28 and

P(TcMc)=1328=2528.P(T^c \mid M^c)=1-\frac{3}{28}=\frac{25}{28}.

3. P(WMcTc)P(W \mid M^c \cap T^c). After Monday and Tuesday are both non‑matching, the composition of the remaining 66 socks depends on how Tuesday's non‑matching pair was formed. Starting from the Monday state (33 colors with 22 socks, 22 colors with 11 sock), Tuesday's non‑matching pair can be of three types:

  • Case A: Both socks from the 22-sock colors. Number of ways: (32)22=12\binom{3}{2}\cdot2\cdot2 = 12. Resulting state: 11 color with 22 socks, 44 colors with 11 sock. Probability of a match on Wednesday: 1(62)=115\frac{1}{\binom{6}{2}} = \frac{1}{15}.
  • Case B: One sock from a 22-sock color and one from a 11-sock color. Number of ways: 3221=123\cdot2\cdot2\cdot1 = 12. Resulting state: 22 colors with 22 socks, 22 colors with 11 sock, 11 color with 00 socks. Probability of a match on Wednesday: 215\frac{2}{15}.
  • Case C: Both socks from the two 11-sock colors. Number of ways: 11. Resulting state: 33 colors with 22 socks, 22 colors with 00 socks. Probability of a match on Wednesday: 315=15\frac{3}{15} = \frac15.

Total non‑matching pairs on Tuesday: 12+12+1=2512+12+1 = 25, so the conditional probabilities of the cases given TcT^c are 1225,1225,125\frac{12}{25},\frac{12}{25},\frac{1}{25}. Hence

P(WMcTc)=1225115+1225215+125315=12+24+3375=39375=13125.P(W \mid M^c \cap T^c) = \frac{12}{25}\cdot\frac{1}{15} + \frac{12}{25}\cdot\frac{2}{15} + \frac{1}{25}\cdot\frac{3}{15} = \frac{12+24+3}{375} = \frac{39}{375} = \frac{13}{125}.

4. Multiply.

P(McTcW)=89252813125=82513928125=260031500=26315.P(M^c \cap T^c \cap W) = \frac{8}{9} \cdot \frac{25}{28} \cdot \frac{13}{125} = \frac{8\cdot25\cdot13}{9\cdot28\cdot125} = \frac{2600}{31500} = \frac{26}{315}.

Thus the desired probability is 26315\boxed{\frac{26}{315}}.

(One can verify by counting all sequences: total sequences (102)(82)(62)=18900\binom{10}{2}\binom{8}{2}\binom{6}{2}=18900, favorable sequences 52413=15605\cdot24\cdot13=1560, giving the same fraction.)

FreeOptionsMediumCitadelSIGIMC

In a Black-Scholes setting, two assets share the same volatility but have distinct drifts under the real-world measure. Compare the prices of European calls written on these assets. Now suppose one of the underlying assets is also subject to random downward jumps. How does this affect the comparison?

Solution

High-level idea

In the Black–Scholes model, the price of a European call depends only on the risk‑free rate and volatility, not on the real‑world drift. Hence two assets with the same current price, volatility, strike, maturity, and risk‑free rate have identical European call prices, regardless of their real‑world drifts.

When one asset is also subject to random downward jumps, the comparison changes — but not in the direction naive intuition suggests. Under the risk‑neutral measure the jumps must be compensated by extra drift between jumps so that the forward price is unchanged. The compensated jumps therefore act as a mean‑preserving spread of the terminal price, and the call payoff is convex, so by Jensen's inequality the call on the jump‑exposed asset is more expensive than the call on the pure‑diffusion asset.


Derivation

1. Pure diffusion (no jumps)

Under the risk‑neutral measure Q\mathbb{Q} the asset follows

dStSt=rdt+σdWtQ,\frac{dS_t}{S_t} = r\,dt + \sigma\,dW_t^{\mathbb{Q}},

so that

ST=S0exp ⁣((rσ22)T+σTZ),ZN(0,1).S_T = S_0 \exp\!\Bigl(\bigl(r - \tfrac{\sigma^{2}}{2}\bigr)T + \sigma\sqrt{T}\,Z\Bigr), \qquad Z \sim \mathcal{N}(0,1).

The European call price is

C=erTEQ[(STK)+]=S0N(d1)KerTN(d2),C = e^{-rT}\,\mathbb{E}^{\mathbb{Q}}\bigl[(S_T - K)^{+}\bigr] = S_0 N(d_1) - K e^{-rT} N(d_2),

with

d1,2=ln(S0/K)+(r±σ22)TσT.d_{1,2} = \frac{\ln(S_0/K) + (r \pm \tfrac{\sigma^2}{2})T}{\sigma\sqrt{T}}.

The formula contains rr and σ\sigma but no real‑world drift μ\mu. Therefore, if two assets share the same S0S_0, σ\sigma, KK, TT, and rr, their European call prices are identical — distinct real‑world drifts are irrelevant.

2. Adding random downward jumps to one asset

Now let one asset follow a jump‑diffusion (Merton 1976). Under a suitable risk‑neutral measure its dynamics are

dStSt=(rλκ)dt+σdWtQ+(Yt1)dNt,\frac{dS_t}{S_{t-}} = (r - \lambda\kappa)\,dt + \sigma\,dW_t^{\mathbb{Q}} + (Y_t - 1)\,dN_t,

where NtN_t is a Poisson process with intensity λ\lambda, Yt<1Y_t < 1 is the downward jump multiplier, and κ=EQ[Yt1]\kappa = \mathbb{E}^{\mathbb{Q}}[Y_t - 1] is the compensator that keeps the expected instantaneous return equal to rr. For downward jumps κ<0\kappa < 0, so the drift between jumps is raised above rr: the compensation exactly offsets the jumps and preserves the forward, EQ[ST]=S0erT\mathbb{E}^{\mathbb{Q}}[S_T] = S_0 e^{rT} for both assets.

Solving the SDE, the terminal price factorizes as

STjump=STdiffJ,J=eλκTi=1NTYi,S_T^{\text{jump}} = S_T^{\text{diff}} \cdot J, \qquad J = e^{-\lambda\kappa T}\prod_{i=1}^{N_T} Y_i,

where STdiffS_T^{\text{diff}} is the pure‑diffusion terminal price and JJ is an independent jump factor with EQ[J]=1\mathbb{E}^{\mathbb{Q}}[J] = 1. Conditioning on STdiffS_T^{\text{diff}} and applying Jensen's inequality to the convex payoff x(xK)+x \mapsto (x - K)^{+},

EQ[(STdiffJK)+STdiff]    (STdiffEQ[J]K)+=(STdiffK)+.\mathbb{E}^{\mathbb{Q}}\bigl[(S_T^{\text{diff}}\,J - K)^{+} \,\big|\, S_T^{\text{diff}}\bigr] \;\ge\; \bigl(S_T^{\text{diff}}\,\mathbb{E}^{\mathbb{Q}}[J] - K\bigr)^{+} = \bigl(S_T^{\text{diff}} - K\bigr)^{+}.

Taking expectations and discounting shows the jump‑exposed call is worth at least as much for every strike — and strictly more whenever the jumps are genuinely random. Equivalently: at the same forward, the jumps add total risk‑neutral variance, and extra dispersion always benefits a convex payoff (a mean‑preserving spread raises the value of a convex function's expectation).

The tempting argument that "downward jumps create negative skew and therefore depress the call" is wrong because it ignores the compensator: between jumps the asset drifts upward faster than rr, and through the convexity of the payoff this more than makes up for the heavier left tail.

As a numerical check, with S0=K=100S_0 = K = 100, r=0.02r = 0.02, σ=0.2\sigma = 0.2, T=1T = 1, λ=1\lambda = 1, and jump multiplier Y=0.8Y = 0.8, Monte Carlo gives a jump‑diffusion call price of about 12.4512.45 versus a Black–Scholes price of about 8.928.92.

Consequently, the call on the asset with random downward jumps is more expensive than the call on the pure‑diffusion asset.


Final answer

Without jumps the two European calls have the same price. When one asset is also subject to random downward jumps (compensated under the risk‑neutral measure so the forward is unchanged), its call becomes more expensive than the call on the pure‑diffusion asset: the jumps act as a mean‑preserving spread of the terminal price, and the call payoff is convex.

FreeStochasticMediumCitadelDE ShawRenaissance

For the Ornstein-Uhlenbeck SDE dXt=θ(μXt)dt+σdWtdX_t = \theta(\mu - X_t)\, dt + \sigma\, dW_t with initial condition X0X_0, derive the expected value E[Xt]\mathbb{E}[X_t] and the variance Var(Xt)\operatorname{Var}(X_t) as explicit functions of tt.

Solution

We start from the Ornstein–Uhlenbeck SDE

dXt=θ(μXt)dt+σdWt,X0=x0.dX_t = \theta(\mu - X_t)\, dt + \sigma\, dW_t, \qquad X_0 = x_0.

Step 1. Solve the SDE exactly. Define Yt=eθtXtY_t = e^{\theta t} X_t. By Itô’s lemma,

dYt=eθtdXt+θeθtXtdt.dY_t = e^{\theta t}\, dX_t + \theta e^{\theta t} X_t\, dt.

Substituting dXtdX_t,

dYt=eθt[θ(μXt)dt+σdWt]+θeθtXtdt=θμeθtdt+σeθtdWt.\begin{aligned} dY_t &= e^{\theta t}\bigl[\theta(\mu - X_t)\, dt + \sigma\, dW_t\bigr] + \theta e^{\theta t} X_t\, dt \\ &= \theta\mu e^{\theta t}\, dt + \sigma e^{\theta t}\, dW_t. \end{aligned}

The terms containing XtX_t cancel. Integrate from 00 to tt,

YtY0=θμ0teθsds+σ0teθsdWs,Y_t - Y_0 = \theta\mu\int_0^t e^{\theta s}\, ds + \sigma\int_0^t e^{\theta s}\, dW_s,

with Y0=X0Y_0 = X_0. Since 0tθeθsds=eθt1\int_0^t \theta e^{\theta s}\, ds = e^{\theta t} - 1, we obtain

Xt=eθtYt=X0eθt+μ(1eθt)+σ0teθ(ts)dWs.(1)X_t = e^{-\theta t} Y_t = X_0 e^{-\theta t} + \mu\bigl(1 - e^{-\theta t}\bigr) + \sigma\int_0^t e^{-\theta(t-s)}\, dW_s. \tag{1}

Step 2. Expected value. The Itô integral in (1) is a martingale starting at zero; its expectation is zero. Hence

E[Xt]=X0eθt+μ(1eθt).(2)\mathbb{E}[X_t] = X_0 e^{-\theta t} + \mu\bigl(1 - e^{-\theta t}\bigr). \tag{2}

Step 3. Variance. Only the stochastic term in (1) contributes to the variance. Using Itô isometry,

Var(Xt)=E ⁣[(σ0teθ(ts)dWs) ⁣2]=σ20te2θ(ts)ds=σ20te2θudu=σ21e2θt2θ=σ22θ(1e2θt).(3)\begin{aligned} \operatorname{Var}(X_t) &= \mathbb{E}\!\left[\left(\sigma\int_0^t e^{-\theta(t-s)}\, dW_s\right)^{\!2}\right] = \sigma^2 \int_0^t e^{-2\theta(t-s)}\, ds \\ &= \sigma^2 \int_0^t e^{-2\theta u}\, du = \sigma^2\,\frac{1 - e^{-2\theta t}}{2\theta} \\ &= \frac{\sigma^2}{2\theta}\bigl(1 - e^{-2\theta t}\bigr). \tag{3} \end{aligned}

Equations (2) and (3) are the required expressions.

FreeProbabilityHardCitadelJane StreetSIG

Two players share a fair coin and flip it repeatedly, recording the sequence of heads (HH) and tails (TT) that appears. The first player wins if HTHHTH occurs before HHTHHT; otherwise, the second player wins. What is the probability that the first player wins?

Solution

Idea

Track the game state as the longest suffix of the flip sequence that is a prefix of either target pattern. This yields a small Markov chain whose first-step equations determine the win probability exactly.

States and Transitions

Target patterns: Player 1 wins on HTHHTH; Player 2 wins on HHTHHT.

The transient states are {ε,H,HH,HT}\{\varepsilon,\, H,\, HH,\, HT\}, where ε\varepsilon denotes no useful suffix (start, or after a progress-resetting tail).

StateFlip HHFlip TT
ε\varepsilonHHε\varepsilon
HHHHHHHTHT
HHHHHHHHP2 wins
HTHTP1 winsε\varepsilon

Remark on HHHHHHH \xrightarrow{H} HH: after any run of heads, the longest suffix that prefixes a target is still HHHH (the length-2 prefix of HHTHHT).

System of Equations

Let psp_s denote the probability that Player 1 wins from state ss.

pε=12pH+12pε    pε=pH(1)p_{\varepsilon} = \tfrac{1}{2}p_H + \tfrac{1}{2}p_{\varepsilon} \implies p_{\varepsilon} = p_H \tag{1} pH=12pHH+12pHT(2)p_H = \tfrac{1}{2}p_{HH} + \tfrac{1}{2}p_{HT} \tag{2} pHH=12pHH+120    pHH=0(3)p_{HH} = \tfrac{1}{2}p_{HH} + \tfrac{1}{2}\cdot 0 \implies p_{HH} = 0 \tag{3} pHT=121+12pε(4)p_{HT} = \tfrac{1}{2}\cdot 1 + \tfrac{1}{2}\,p_{\varepsilon} \tag{4}

Equation (3) reflects that HHHH is a trap: every additional HH keeps the game in HHHH, and the inevitable first TT completes HHTHHT, so Player 1 cannot win from HHHH.

Solution

Substituting (3)(3) into (2)(2):

pH=12pHT.p_H = \tfrac{1}{2}p_{HT}.

Combined with (1)(1), we have pε=pH=12pHTp_{\varepsilon} = p_H = \tfrac{1}{2}p_{HT}. Substituting into (4)(4):

pHT=12+1212pHT=12+14pHT.p_{HT} = \frac{1}{2} + \frac{1}{2}\cdot\frac{1}{2}p_{HT} = \frac{1}{2} + \frac{1}{4}p_{HT}. 34pHT=12    pHT=23.\frac{3}{4}p_{HT} = \frac{1}{2} \implies p_{HT} = \frac{2}{3}. pε=1223=13.p_{\varepsilon} = \frac{1}{2}\cdot\frac{2}{3} = \boxed{\dfrac{1}{3}}.

The game begins in state ε\varepsilon, so Player 1 wins with probability 13\dfrac{1}{3}.

FreeCodingMediumCitadelHudson River TradingJump Trading

In C++, virtual functions incur a runtime penalty. Two common alternatives to mitigate this are using a function pointer or templates. Evaluate whether these approaches can improve performance, and decide if virtual functions are ultimately worthwhile despite their overhead.

Solution

A virtual function call in C++ adds overhead from an indirect branch, loss of inlining and subsequent compiler optimisations, and the per‑object vptr.

Function pointer alternative – Replacing the virtual method with a stored function pointer removes the vtable indirection but still requires an indirect call; the call cost itself is unchanged. Inlining remains impossible unless the compiler can prove the pointer value at compile time. For truly dynamic dispatch, performance is on par with virtual functions, while the code loses type safety and polymorphic extensibility.

Templates (CRTP / static polymorphism) – By resolving the target type at compile time, templates enable direct calls that are fully inlineable. This eliminates all dispatch overhead and can yield large speedups for small, frequently‑called operations. The trade‑off is the loss of runtime polymorphism: all concrete types must be known at compile time. Template instantiation may also increase binary size and compilation time.

Performance verdict – In hot inner loops where the type is statically known, templates consistently outperform virtual functions. Function pointers rarely provide a meaningful advantage; they replace one indirection with another while sacrificing design clarity. In most real‑world code, virtual function overhead is dwarfed by other costs (memory latency, I/O, algorithmic complexity) and modern branch predictors hide much of the remaining penalty.

Conclusion – Virtual functions remain the right default for runtime polymorphism. They should be replaced with templates only when profiling identifies a hot virtual call site and compile‑time dispatch is feasible. The flexibility and maintainability they offer are well worth their overhead in the vast majority of code.

OptionsWarmupCitadelJane StreetSIG

Assume the risk-free rate is zero. A stock currently priced at 100willbewortheither100 will be worth either 130 or 70inoneyear,withprobabilities0.80and0.20respectively.Nodividendsarepaid.WhatisthevalueofaoneyearEuropeancalloptionwithastrikepriceof70 in one year, with probabilities 0.80 and 0.20 respectively. No dividends are paid. What is the value of a one-year European call option with a strike price of 110?

Approach

Set up the one-period binomial tree with the given up and down factors.

ProbabilityEasyCitadelJane StreetSIG

14 slips numbered 1141-14 are placed in a random order. A position ii is called a local maximum if the slip there is strictly greater than each of its immediate neighbors. Find the expected number of local maxima. For example, with 6 numbers the arrangement 513246 has local maxima at positions 1, 3, and 6, giving 3 local maxima.

Approach

Write the total number of local maxima as a sum of indicator random variables, one for each position.

ProbabilityEasyCitadelJane StreetTwo Sigma

Michael rides a remote-control skateboard around campus. The front of the Hopkins sign is the origin (0,0)(0,0); rightward is positive xx and into campus (upward) is positive yy. Every second he picks an angle uniformly from [0,2π)[0, 2\pi) and moves 1 foot in that direction from his current position. After 1616 seconds, what is the expected squared distance from the Hopkins sign?

Approach

Write the squared distance as the squared norm of a sum of random unit vectors and expand the square.

Other firms & topics

Frequently asked questions

How many Citadel interview questions are on QuantGrind?

596 questions are tagged to Citadel across our 2,516-problem set, concentrated in probability, options, and stochastic calculus. 42 are free to preview on this page; the full set unlocks with a membership, each with hints, the accepted answer, and a worked solution.

How hard is the Citadel quant interview?

Expect a phone screen heavy on mental math and probability, then an onsite or final round mixing brainteasers, market-making games, and topic depth. The bar is less about exotic tricks and more about speed, accuracy, and explaining your thinking clearly under time pressure.

How should I prepare for the Citadel quant interview?

Practice timed, out loud, and without a calculator. Rebuild each answer from first principles rather than recognizing it, and review the ones you got slowly — interview signal comes from how fast and cleanly you reason, not whether you've seen the exact prompt before.

Practice the full Citadel set

Every question comes with progressive hints, the accepted answer, and a full worked solution. 100 free to start — no card required.