Quantitative Finance · Book 10 · Execution

Microstructure and Execution

Microstructure and Execution · Execution

4Why There Is a Spread

A market maker quotes 100.00 bid, 100.02 offered. If nobody knew more than she did, the two cents would pay for her time, her systems and the risk of the inventory she carries between trades. A buyer who has read the news first makes the spread pay for something else: every trade with him loses money, and the spread must recover the loss from everyone else. Three theories of the spread answer three questions: what it costs to process a trade, what it costs to hold what a trade leaves behind, and what it costs to trade with someone who knows more. They lead to different spreads, to different dynamics of quotes, and to different ways of measuring each part (chapter 5).

4.1 Order-processing costs

Definition 4.1 (Order-processing cost)

The order-processing cost of a liquidity provider is the cost per trade that does not depend on who the counterparty is or on what happens to the price afterwards: exchange and clearing fees, systems, staff and capital, net of rebates.

If processing were the only cost, a competitive market maker would quote a half-spread equal to it, the value would not react to trades, and transaction prices would bounce between bid and ask around a random-walk value. Roll (1984) turned the bounce into an estimate: with a constant effective half-spread cc and independent trade signs, the price changes have autocovariance −c2-c^2, so s=2−Cov(Δpt,Δpt−1)s = 2\sqrt{-\mathrm{Cov}(\Delta p_t,\Delta p_{t-1})} (Roll’s estimator, One Quant Book 4, chapter 21). On the simulated hour of firm.tape, the estimate is 0.88 ticks against a quoted spread of 1.08: the simulator’s trade signs are positively autocorrelated (0.29 at lag one, because noise orders come in metaorders), which removes part of the bounce, as it does in real markets (One Quant Book 7, chapter 9).

4.2 Inventory

Definition 4.2 (Inventory-holding cost)

The inventory-holding cost of a trade is the compensation a risk-averse liquidity provider requires for carrying the position the trade leaves her with until she can unwind it.

Garman (1976) modelled a dealer whose inventory is a random walk driven by the arrival of buyers and sellers, and who must set prices to avoid ruin; Stoll (1978) and Ho and Stoll (1981) priced the risk. The simplest version already gives the two features every inventory model shares.

Proposition 4.3 (Mean–variance dealer)

A dealer marks her inventory qq to the value vv, expects to hold it for a time TT during which the value has variance σ2T\sigma^2T, and has mean–variance preferences with risk aversion γ\gamma: holding qq costs her 12γσ2Tq2\tfrac12\gamma\sigma^2Tq^2. The prices at which a trade of size QQ leaves her indifferent are

a=v+γσ2T(Q2−q),b=v−γσ2T(Q2+q):a = v + \gamma\sigma^2T\left(\frac Q2 - q\right),\qquad b = v - \gamma\sigma^2T\left(\frac Q2 + q\right):

a spread γσ2TQ\gamma\sigma^2TQ that grows with the size of the trade, centred on the reservation price v−γσ2Tqv-\gamma\sigma^2Tq that moves against her inventory.

Proof. Selling QQ at aa changes her wealth by Q(a−v)Q(a-v) and her holding cost from 12γσ2Tq2\tfrac12\gamma\sigma^2Tq^2 to 12γσ2T(q−Q)2\tfrac12\gamma\sigma^2T(q-Q)^2; indifference gives Q(a−v)=12γσ2T((q−Q)2−q2)=γσ2T(Q22−qQ)Q(a-v)=\tfrac12\gamma\sigma^2T\left((q-Q)^2-q^2\right)=\gamma\sigma^2T\left(\tfrac{Q^2}{2}-qQ\right). The bid follows with −Q-Q. ∎

A dealer who is long shades both quotes down: she wants to sell and discourages buying from others. The inventory term is the root of the market-making models of One Quant Book 11 (the Avellaneda–Stoikov reservation price has the same form); here it matters that it produces a spread without any information at all.

4.3 Information: the sequential-trade model

Definition 4.4 (Informed trader, noise trader)

An informed trader knows something about the value that the liquidity provider does not and trades on it. A noise trader (liquidity trader) trades for reasons unrelated to the value (a fund flow, a hedge, a rebalancing) and carries no information.

Definition 4.5 (Sequential-trade model, Glosten–Milgrom model)

A sequential-trade model lets traders arrive one at a time to a competitive, risk-neutral liquidity provider who quotes before each arrival and learns from each trade. The Glosten–Milgrom model is the sequential-trade model in which each arrival is informed with probability μ\mu and trades in the direction of the value, or is a noise trader who buys or sells with equal probability, and the provider sets the ask and bid to the expected value conditional on a buy and on a sale.

One arrival of the Glosten–Milgrom model. The provider sees only the direction of the trade; a buy is more likely when the value is high, by , and the ask is the value’s expectation given a buy.
Figure 4.1. One arrival of the Glosten–Milgrom model. The provider sees only the direction of the trade; a buy is more likely when the value is high, by μ\mu, and the ask is the value’s expectation given a buy.

Proposition 4.6 (Glosten–Milgrom quotes)

With v∈{vL,vH}v\in\{v_L,v_H\}, Pr⁡(v=vH)=δ\Pr(v=v_H)=\delta and informed share μ\mu,

a=vL+(vH−vL)δ(1+μ)δ(1+μ)+(1−δ)(1−μ),b=vL+(vH−vL)δ(1−μ)δ(1−μ)+(1−δ)(1+μ).a = v_L+(v_H-v_L)\frac{\delta(1+\mu)}{\delta(1+\mu)+(1-\delta)(1-\mu)},\qquad b = v_L+(v_H-v_L)\frac{\delta(1-\mu)}{\delta(1-\mu)+(1-\delta)(1+\mu)}.

At δ=12\delta=\tfrac12 the spread is a−b=μ(vH−vL)a-b=\mu(v_H-v_L). After a buy the provider’s belief becomes δ′=a\delta'=a (on the scale vL=0v_L=0, vH=1v_H=1), and the quotes are regret-free: they are what each trade reveals.

Proof. Pr⁡(buy∣vH)=μ+1−μ2=1+μ2\Pr(\text{buy}\mid v_H)=\mu+\tfrac{1-\mu}{2}=\tfrac{1+\mu}{2} and Pr⁡(buy∣vL)=1−μ2\Pr(\text{buy}\mid v_L)=\tfrac{1-\mu}{2}. Bayes’ rule (One Quant Book 2, chapter 30, for the Bayesian update) gives Pr⁡(vH∣buy)\Pr(v_H\mid\text{buy}), and a=vL+(vH−vL)Pr⁡(vH∣buy)a=v_L+(v_H-v_L)\Pr(v_H\mid\text{buy}) by risk neutrality and zero expected profit. The bid is symmetric. At δ=12\delta=\tfrac12, a=vL+(vH−vL)1+μ2a=v_L+(v_H-v_L)\tfrac{1+\mu}{2} and b=vL+(vH−vL)1−μ2b=v_L+(v_H-v_L)\tfrac{1-\mu}{2}. ∎

def gm_quotes(delta: float, mu: float, v_low: float = 0.0, v_high: float = 1.0) -> tuple[float, float]:
    dv = v_high - v_low
    ask = v_low + dv * delta * (1 + mu) / (delta * (1 + mu) + (1 - delta) * (1 - mu))
    bid = v_low + dv * delta * (1 - mu) / (delta * (1 - mu) + (1 - delta) * (1 + mu))
    return bid, ask


def gm_update(delta: float, side: int, mu: float) -> float:
    ph = (1 + mu) / 2 if side > 0 else (1 - mu) / 2        # P(side | v_high)
    pl = (1 - mu) / 2 if side > 0 else (1 + mu) / 2        # P(side | v_low)
    return delta * ph / (delta * ph + (1 - delta) * pl)
Listing 4.1. Glosten–Milgrom quotes and the update after a trade. code/firm/spreadmodels/firm_spreadmodels.py

The spread is entirely adverse selection (One Quant Book 1, chapter 1): the provider breaks even across traders, losing to the informed exactly what she earns from noise. It narrows as trades reveal the value (Figure 4.2): with 30% informed arrivals the median path needs 19 trades for the spread to fall to a tenth of its start, with 10% it needs 148. Informed trading does two things at once: it widens the spread and makes prices learn faster. With a processing cost cc per trade added to each quote, the adverse-selection share of the spread is μΔv/(μΔv+2c)\mu\Delta v/(\mu\Delta v+2c): with Δv=1\Delta v=1 and c=0.05c=0.05, half the spread at μ=0.1\mu=0.1 and three quarters at μ=0.3\mu=0.3.

The Glosten–Milgrom spread along a sequence of arrivals, averaged over 400 paths (half with a high value): it starts at  and falls as trades reveal the value, faster when more arrivals are informed. Data: mx_spread.gm_learning.
Figure 4.2. The Glosten–Milgrom spread along a sequence of arrivals, averaged over 400 paths (half with a high value): it starts at μ\mu and falls as trades reveal the value, faster when more arrivals are informed. Data: mx_spread.gm_learning.

4.4 Information: the strategic trader

Definition 4.7 (Kyle model)

The Kyle model has one informed trader who knows the value v∼N(p0,Σ0)v\sim\mathcal N(p_0,\Sigma_0) and chooses a quantity xx, noise traders who submit u∼N(0,σu2)u\sim\mathcal N(0,\sigma_u^2) independent of vv, and competitive risk-neutral market makers who see only the total order flow y=x+uy=x+u and set the price p=E[v∣y]p=\E[v\mid y].

The informed trader is strategic: he knows his trades move the price and hides in the noise. The linear equilibrium is short to derive.

Proposition 4.8 (Kyle’s one-period equilibrium)

In the unique linear equilibrium x=β(v−p0)x=\beta(v-p_0) and p=p0+λyp=p_0+\lambda y with

β=σuΣ0,λ=Σ02σu;\beta=\frac{\sigma_u}{\sqrt{\Sigma_0}},\qquad \lambda=\frac{\sqrt{\Sigma_0}}{2\sigma_u};

the price reveals half of the private information (Var(v∣p)=Σ0/2\mathrm{Var}(v\mid p)=\Sigma_0/2) and the informed trader earns 12Σ0 σu\tfrac12\sqrt{\Sigma_0}\,\sigma_u in expectation, paid by the noise traders.

Proof. Given p=p0+λyp=p_0+\lambda y, the informed trader maximises E[x(v−p)∣v]=x(v−p0)−λx2\E[x(v-p)\mid v]=x(v-p_0)-\lambda x^2, so x=(v−p0)/(2λ)x=(v-p_0)/(2\lambda) and β=1/(2λ)\beta=1/(2\lambda). Given x=β(v−p0)x=\beta(v-p_0), the market maker’s projection gives λ=Cov(v,y)/Var(y)=βΣ0/(β2Σ0+σu2)\lambda=\mathrm{Cov}(v,y)/\mathrm{Var}(y)=\beta\Sigma_0/(\beta^2\Sigma_0+\sigma_u^2). Substituting β=1/(2λ)\beta=1/(2\lambda) gives β2Σ0=σu2\beta^2\Sigma_0=\sigma_u^2, hence both formulas. Then Var(v∣y)=Σ0−λ2Var(y)=Σ0−Σ0/2\mathrm{Var}(v\mid y)=\Sigma_0-\lambda^2\mathrm{Var}(y)=\Sigma_0-\Sigma_0/2, and the expected profit is βΣ0−λβ2Σ0=Σ0σu/2\beta\Sigma_0-\lambda\beta^2\Sigma_0=\sqrt{\Sigma_0}\sigma_u/2. ∎

The slope λ\lambda is Kyle’s lambda (One Quant Book 7, chapter 9): the price impact of a unit of order flow, the inverse of the market’s depth. More noise makes the market deeper and the insider richer, and leaves the price exactly as informative. On 100 000 simulated draws with Σ0=1\sqrt{\Sigma_0}=1 and σu=2\sigma_u=2, the regression of pp on yy returns 0.250, the residual variance of vv is 0.498 and the insider’s average profit 0.991, against the proposition’s 0.25, 0.5 and 1. In Kyle’s continuous-time version the insider trades gradually, λ\lambda is constant through time and all of his information is in the price by the end (

Proof. Admitted here. ∎

; derived in Kyle’s paper).

4.5 Measuring informed trading

Definition 4.9 (Probability of informed trading)

The probability of informed trading (PIN) of Easley, Kiefer, O’Hara and Paperman is, in their model of daily order flow, the share of trades that come from informed traders: PIN=αμ/(αμ+εb+εs)\mathrm{PIN}=\alpha\mu/(\alpha\mu+\varepsilon_b+\varepsilon_s), where an information event occurs on a day with probability α\alpha, is bad news with probability δ\delta, brings informed orders at rate μ\mu, and uninformed buys and sells arrive at rates εb\varepsilon_b and εs\varepsilon_s.

Each day’s buys and sells are Poisson with rates set by the day’s hidden state, and the parameters are fitted by maximum likelihood on daily counts (the likelihood mixes three Poisson pairs; its logarithm must be computed in a numerically stable way).

def pin_loglik(theta, buys, sells) -> float:
    a, d, mu, eb, es = theta
    b = np.asarray(buys, float)
    s = np.asarray(sells, float)
    terms = np.stack([np.log(1 - a) + _logpois(b, eb) + _logpois(s, es),
                      np.log(a * d) + _logpois(b, eb) + _logpois(s, es + mu),
                      np.log(a * (1 - d)) + _logpois(b, eb + mu) + _logpois(s, es)])
    return float(logsumexp(terms, axis=0).sum())
Listing 4.2. The PIN log-likelihood, stable through log-sum-exp. code/firm/spreadmodels/firm_spreadmodels.py

The model reads any common swing in buying and selling as information when the swing is not one-sided in its data, and Duarte and Young (2009) found that PIN’s association with returns came from its illiquidity component rather than its information component. Figure 4.3 shows why on simulated data. Days with no information at all, whose uninformed rates move together from day to day (a lognormal factor on both), are fitted with a PIN of 0.085 when the factor’s standard deviation is 0.25, 0.153 at 0.5 and 0.207 at 0.75, against 0.006 without the swings. A market with true PIN 0.107 is estimated at 0.107 without swings and 0.195 with the largest.

Maximum-likelihood PIN on simulated samples of 250 days (mean and standard deviation over 20 samples), against the size of a common daily factor on the uninformed rates; the dashed line is the true PIN of the informed market. Data: mx_spread.pin_bias.
Figure 4.3. Maximum-likelihood PIN on simulated samples of 250 days (mean and standard deviation over 20 samples), against the size of a common daily factor on the uninformed rates; the dashed line is the true PIN of the informed market. Data: mx_spread.pin_bias.

4.6 Tutorial: three spreads in code

Goal. Compute the three spreads, check Kyle’s equilibrium by simulation and see PIN mistake activity for information. End state: Figures 4.2 and 4.3 and the numbers of sections 1 and 4.

  1. Bounce. mx_spread.roll_on_tape(): Roll’s estimate, the quoted spread and the trade-sign autocorrelation of the simulated hour.
  2. Inventory. inventory_quotes(v, q, size, gamma, sigma, horizon) for inventories from −5-5 to 55: the quotes move against the position.
  3. Learning. gm_learning() and gm_with_cost(mu, dv, c).
  4. Kyle. kyle_check() simulates the equilibrium and recovers λ\lambda.
  5. PIN. pin_bias(sd, alpha) over the grid; draw with fig_spread.py.

What to change next. Let the informed trader in the Glosten–Milgrom model trade only when the quote is far enough from the value (a profit threshold) and watch the spread; fit PIN on firm.tape’s days of buys and sells, where the informed flag is known.

4.7 Build: the spread models

Purpose. The reference implementations of the spread theories, used by chapter 5’s decompositions, by the agent-based market of chapter 27 (an informed agent and a Glosten–Milgrom market maker) and by Book 11’s market-making tutorials as benchmarks.

Interface. gm_quotes, gm_update, gm_path; kyle_one_period, kyle_simulate; inventory_quotes; roll_spread; pin, pin_loglik, pin_fit, simulate_days.

Rules. Closed forms where they exist; the PIN likelihood in log-sum-exp form with Poisson log-probabilities from gammaln; fits from several starting points; everything seeded.

Acceptance tests. code/firm/spreadmodels/tests/: the Glosten–Milgrom spread equal to μ\mu at δ=12\delta=\tfrac12 and the ask equal to the posterior after a buy; Kyle’s λ\lambda, β\beta, posterior variance and profit, and their simulated values; inventory quotes by hand; Roll’s estimator on a bouncing random walk; PIN recovered within 0.02 on 300 simulated days.

Stretch. Kyle’s multi-period recursion; the Easley–O’Hara model with time-varying arrival rates; the adjusted PIN of Duarte and Young.

Sources and further reading

  • R. Roll, “A simple implicit measure of the effective bid-ask spread in an efficient market”, Journal of Finance 39(4), 1984.
  • M. B. Garman, “Market microstructure”, Journal of Financial Economics 3(3), 1976.
  • H. R. Stoll, “The supply of dealer services in securities markets”, Journal of Finance 33(4), 1978.
  • T. Ho and H. R. Stoll, “Optimal dealer pricing under transactions and return uncertainty”, Journal of Financial Economics 9(1), 1981.
  • L. R. Glosten and P. R. Milgrom, “Bid, ask and transaction prices in a specialist market with heterogeneously informed traders”, Journal of Financial Economics 14(1), 1985.
  • A. S. Kyle, “Continuous auctions and insider trading”, Econometrica 53(6), 1985.
  • D. Easley, N. M. Kiefer, M. O’Hara and J. B. Paperman, “Liquidity, information, and infrequently traded stocks”, Journal of Finance 51(4), 1996.
  • J. Duarte and L. Young, “Why is PIN priced?”, Journal of Financial Economics 91(2), 2009.

4.8 Exercises

Exercise 4.1 ★

Successive transaction-price changes of a stock have an autocovariance of −0.0004-0.0004 (dollars squared). What spread does Roll’s estimator give?

Solution

Solution of Exercise 4.1.

s=20.0004=0.04s=2\sqrt{0.0004}=0.04: four cents.

Exercise 4.2 ★

In the Glosten–Milgrom model the value is 99 or 101 with equal probability and 20% of arrivals are informed. What are the bid and the ask?

Solution

Solution of Exercise 4.2.

With δ=12\delta=\tfrac12: a=99+2×1.22=100.2a=99+2\times\tfrac{1.2}{2}=100.2 and b=99+2×0.82=99.8b=99+2\times\tfrac{0.8}{2}=99.8; the spread is μ×2=0.4\mu\times2=0.4.

Exercise 4.3 ★

In Kyle’s model Σ0=2\sqrt{\Sigma_0}=2 and σu=8\sigma_u=8. Give λ\lambda, β\beta, the insider’s expected profit and the posterior variance of the value.

Solution

Solution of Exercise 4.3.

λ=2/(2×8)=0.125\lambda=2/(2\times8)=0.125, β=8/2=4\beta=8/2=4, profit 12×2×8=8\tfrac12\times2\times8=8, posterior variance 4/2=24/2=2.

Exercise 4.4 ★★

A dealer marks her position to 50, is short 3 units, and has γ=0.2\gamma=0.2, σ=1\sigma=1 and T=0.5T=0.5. What are her bid and ask for one unit? Explain why both are above 50.

Solution

Solution of Exercise 4.4.

γσ2T=0.1\gamma\sigma^2T=0.1: a=50+0.1 (0.5+3)=50.35a=50+0.1\,(0.5+3)=50.35 and b=50−0.1 (0.5−3)=50.25b=50-0.1\,(0.5-3)=50.25. Being short, she wants to buy: her reservation price is 50+0.3=50.350+0.3=50.3, and both quotes sit around it, above the value.

Exercise 4.5 ★★

In exercise 2, a buy arrives. What is the provider’s new probability of the high value, and what are the new quotes?

Solution

Solution of Exercise 4.5.

The belief becomes the old ask on the unit scale: δ′=0.6\delta'=0.6. New quotes: b=100.00b=100.00 and a=100.38a=100.38; the spread narrows from 0.40 to 0.38 and both quotes move up.

Exercise 4.6 ★★

Why does doubling the noise traders’ volume in Kyle’s model not make the price less informative?

Solution

Solution of Exercise 4.6.

The insider scales his trading with the noise: β=σu/Σ0\beta=\sigma_u/\sqrt{\Sigma_0} doubles, the signal-to-noise ratio of the order flow is unchanged, and so is the share of information in the price (one half). What changes is λ\lambda (halved: a deeper market) and the insider’s profit (doubled).

Exercise 4.7 ★★★

Coding. Fit PIN on 250 simulated days with α=0.4\alpha=0.4 and a daily activity factor of standard deviation 0.5, then fit it again after dividing each day’s buys and sells by the day’s total and multiplying by the sample’s mean total. Does normalising remove the bias? Why only partly?

Solution

Solution of Exercise 4.7.

On one sample (seed 41) PIN is 0.149 with the swings, 0.139 after normalising, against 0.098 on the same sample without swings (true 0.107). Normalising removes the common factor but also the extra volume of informed days, which the model uses to spot them, and the rescaled counts are no longer Poisson (their variance is not their mean), so the likelihood is misspecified in another way.

Exercise 4.8 ★★★

Find the flaw. “Stock A has a PIN of 0.25 and stock B of 0.12, so A’s market makers face twice as much informed trading.”

Solution

Solution of Exercise 4.8.

PIN is a model-based share of trades, not a measure of informed losses: common swings in activity, not information, can raise it (the chapter’s simulation adds 0.15 for swings of standard deviation 0.5), and it says nothing about how much each informed trade costs the market maker. Compare adverse-selection costs directly (chapter 5) before concluding.

4.9 Problem: The Specialist’s Two Cents

Problem 4.1

Weekend problem — the specialist’s two cents

A specialist quotes a two-cent spread and wants to know what it pays for: processing, inventory or information; and a research desk wants to know whether PIN can tell.

Part I — Processing and inventory.

  1. What does Roll’s estimator assume, and what does it give on the simulated hour?
  2. Why does it fall short of the quoted spread there?
  3. State the mean–variance dealer’s quotes and the spread they imply.
  4. What happens to the quotes when the dealer is long, and why?

Part II — The sequential-trade model.

  1. Derive the Glosten–Milgrom ask at δ=12\delta=\tfrac12.
  2. What is the spread with 30% informed arrivals and a value that is 0 or 1?
  3. How many trades does the median path need for the spread to fall to a tenth, at 10%, 30% and 50% informed?
  4. With a processing cost of 0.05 per trade, what share of the spread is adverse selection at μ=0.1\mu=0.1 and μ=0.3\mu=0.3?

Part III — The strategic trader.

  1. Derive Kyle’s λ\lambda and β\beta.
  2. What share of the private information does the price reveal?
  3. What do 100 000 simulated draws give for λ\lambda, the posterior variance and the insider’s profit?
  4. Who pays the insider’s profit?

Part IV — PIN.

  1. Write PIN in terms of the model’s parameters and compute it for α=0.4\alpha=0.4, μ=60\mu=60, εb=εs=100\varepsilon_b=\varepsilon_s=100.
  2. What PIN is fitted when there is no information and no activity swing?
  3. What is fitted with no information and daily activity swings of standard deviation 0.25, 0.5 and 0.75?
  4. State the named result: the adverse-selection share of the spread against the informed share, and the bias of PIN under common activity swings.
  5. Why does the model read common swings as information?
  6. What did Duarte and Young conclude about PIN and returns?
  7. How would you separate illiquidity from information in daily order flow?
  8. In one sentence: which of the three costs does a two-cent spread in a liquid stock mostly pay for?
Solution

Solution of Problem 4.1.

1. A constant half-spread, independent trade signs and a random-walk value; 0.88 ticks on the simulated hour. 2. The simulated trade signs are positively autocorrelated (0.29 at lag one): the bounce is partly cancelled, and the estimator falls short of the quoted 1.08 ticks. 3. a=v+γσ2T(Q/2−q)a=v+\gamma\sigma^2T(Q/2-q), b=v−γσ2T(Q/2+q)b=v-\gamma\sigma^2T(Q/2+q); spread γσ2TQ\gamma\sigma^2TQ. 4. Both move down by γσ2Tq\gamma\sigma^2Tq: the dealer wants to sell and to avoid buying more. 5. Pr⁡(vH∣buy)=(1+μ)/2(1+μ)/2+(1−μ)/2=1+μ2\Pr(v_H\mid\text{buy})=\tfrac{(1+\mu)/2}{(1+\mu)/2+(1-\mu)/2}=\tfrac{1+\mu}{2}, so a=vL+(vH−vL)1+μ2a=v_L+(v_H-v_L)\tfrac{1+\mu}{2}. 6. 0.3. 7. 148, 19 and 6 trades. 8. One half and three quarters. 9. See the proof of the proposition: β=1/(2λ)\beta=1/(2\lambda) from the insider’s problem, λ=βΣ0/(β2Σ0+σu2)\lambda=\beta\Sigma_0/(\beta^2\Sigma_0+\sigma_u^2) from the market maker’s, hence β=σu/Σ0\beta=\sigma_u/\sqrt{\Sigma_0}, λ=Σ0/(2σu)\lambda=\sqrt{\Sigma_0}/(2\sigma_u). 10. Half: Var(v∣p)=Σ0/2\mathrm{Var}(v\mid p)=\Sigma_0/2. 11. 0.250, 0.498 and 0.991 (against 0.25, 0.5 and 1). 12. The noise traders, whose orders execute at prices moved by the insider’s. 13. αμ/(αμ+εb+εs)=24/224=0.107\alpha\mu/(\alpha\mu+\varepsilon_b+\varepsilon_s)=24/224=0.107. 14. 0.006. 15. 0.085, 0.153 and 0.207. 16. Named result: with a processing cost of 0.05 per trade and a value range of 1, adverse selection is μ/(μ+0.1)\mu/(\mu+0.1) of the spread (one half at μ=0.1\mu=0.1, three quarters at μ=0.3\mu=0.3); PIN estimated on days with no information rises from 0.006 to 0.085, 0.153 and 0.207 as common activity swings grow to standard deviations of 0.25, 0.5 and 0.75, and an informed market’s 0.107 is read as 0.195 with the largest. 17. A day with more buys and sells than usual fits the event-day components better than the no-event component, whose rates are fixed; the model has no other way to explain dispersion in daily totals. 18. That the component of PIN related to illiquidity, not the one related to asymmetric information, is priced in the cross-section of returns. 19. Model the common factor explicitly (time-varying uninformed rates, symmetric order-flow shocks), and measure information by what follows trades: price impact that persists (chapter 5’s permanent component) rather than volume. 20. In a liquid stock with a one-tick spread, mostly adverse selection and processing costs net of rebates; inventory costs are small because positions are turned over in seconds.

4.10 Interview questions

Interview question 4.1 ★ trader, researcher

Name the three components of the bid–ask spread and one piece of evidence for each.

Solution

Solution of Interview question 4.1.

Order processing (evidence: spreads fall with fees and technology costs; Roll’s bounce), inventory (quotes move against dealer positions; spreads widen with volatility and trade size), adverse selection (prices move in the direction of trades and stay there; spreads widen before announcements).

What the interviewer is looking for: the three names and a mechanism-level piece of evidence for each.

Interview question 4.2 ★★ researcher

Derive the Glosten–Milgrom ask price when the value is 0 or 1 with equal probability and a fraction μ\mu of traders is informed.

Solution

Solution of Interview question 4.2.

Pr⁡(buy∣1)=(1+μ)/2\Pr(\text{buy}\mid1)=(1+\mu)/2, Pr⁡(buy∣0)=(1−μ)/2\Pr(\text{buy}\mid0)=(1-\mu)/2, so Pr⁡(1∣buy)=(1+μ)/2\Pr(1\mid\text{buy})=(1+\mu)/2 and, with zero profit, a=(1+μ)/2a=(1+\mu)/2; the bid is (1−μ)/2(1-\mu)/2 and the spread μ\mu.

What the interviewer is looking for: Bayes’ rule and the zero-profit condition, stated before computing.

Interview question 4.3 ★★ researcher

In Kyle’s model, what happens to the price impact and to the insider’s profit when noise trading doubles?

Solution

Solution of Interview question 4.3.

λ\lambda halves (impact falls with the depth that noise provides), β\beta doubles, the insider’s profit doubles, and the price reveals the same half of his information.

What the interviewer is looking for: that informativeness does not depend on noise, because the insider scales up.

Interview question 4.4 ★★ trader

You make a market and you are long 10 000 shares. How do you move your quotes, and why?

Solution

Solution of Interview question 4.4.

Lower both quotes (skew): a higher chance of selling and a lower chance of buying more, and possibly widen if the position is near its limit; hedge in a correlated instrument if one exists.

What the interviewer is looking for: the reservation-price idea and the trade-off with adverse selection when skewing.

Interview question 4.5 ★★ researcher

Roll’s estimator gives an imaginary spread for a stock. What happened, and what do you do?

Solution

Solution of Interview question 4.5.

The first-order autocovariance of price changes was positive, not negative: trade signs are autocorrelated (order splitting), prices trend over the sampling interval, or the data mixes quotes from several venues. Use quote data if available, sample at a coarser interval, or use an estimator that does not rely on the bounce (Corwin–Schultz, Abdi–Ranaldo; chapter 5).

What the interviewer is looking for: knowing why the estimator fails, not only that it does.

Interview question 4.6 ★★★ researcher

How would you estimate the share of a stock’s spread that compensates adverse selection?

Solution

Solution of Interview question 4.6.

Decompose it: measure the effective spread and the realised spread at a horizon where price moves have settled; their difference is the price impact that stays, the adverse-selection part; or fit a structural decomposition (Huang–Stoll, MRR) or a VAR.

What the interviewer is looking for: the effective–realised decomposition and the choice of horizon, both chapter 5.

Terms defined in this chapter

See all 2333 terms in the glossary