---
title: "Tick Size, Queues and Priority"
book: "Microstructure and Execution"
subject: quant
language: en
chapter: 6
exercises: 8
source: https://one-course.com/books/quant/10/en/chapter/6-tick-size-queues-and-priority
---

# Chapter 6 — Tick Size, Queues and Priority

From October 2016 the SEC’s [tick size](https://one-course.com/books/quant/10/en/chapter/1-the-limit-order-book#def-mx-the-limit-order-book-tick) pilot quoted about twelve hundred small stocks in five-cent increments instead of one; two of its three groups of four hundred also traded in them. Spreads widened, displayed depth grew, and the value of standing first in a queue changed for every market maker in those stocks. The tick is the market’s smallest unit of price, and it decides more than it seems: whether liquidity providers compete on price or on time, how long queues are, how long an order waits and what its place in line is worth. This chapter runs the same order flow on grids of one, two, five and ten cents in the exchange simulator, values a queue slot, and reads the pilot the way it was designed to be read.

## 6.1 Large-tick and small-tick assets

**Definition 6.1 (Relative tick size).**

The *relative tick size* of an instrument is its [tick size](https://one-course.com/books/quant/10/en/chapter/1-the-limit-order-book#def-mx-the-limit-order-book-tick) $\delta_{\mathrm{tick}}$ divided by its price, usually in basis points. A one-cent tick is 25 basis points of a four-dollar stock and a quarter of a basis point of a four-hundred-dollar one.

**Definition 6.2 (Large-tick and small-tick assets).**

A *large-tick asset* is one whose spread is one tick almost all the time: the tick binds, and liquidity providers who would quote a narrower spread cannot. A *small-tick asset* has a spread of several ticks and a sparse book: the tick hardly constrains prices.

The [relative tick size](#def-mx-tick-size-queues-and-priority-relative) alone does not decide which kind an asset is: what matters is the tick against the spread the asset would have without it, which depends on volatility and activity. Harris (1994) predicted from the constraint what later studies measured: a larger tick widens spreads and concentrates depth at fewer prices. A large tick turns price competition into time competition: when the price cannot improve, the only way to be first is to arrive first, which is where the value of queue position and much of the race for speed come from (Yao and Ye, 2018).

How large is a tick for a given asset? Robert and Rosenbaum (2011) answered with a model.

**Definition 6.3 (Uncertainty-zone model).**

In the *uncertainty-zone model* of Robert and Rosenbaum, the traded price changes only when the efficient price $P^\ast$ moves far enough from the last traded price: around each mid-tick value lies a zone of width $2\eta\,\delta_{\mathrm{tick}}$, $0<\eta\le1$, and the traded price moves to a new tick when $P^\ast$ crosses the zone’s far edge. The parameter $\eta$ measures the aversion of market participants to price changes of one tick; Dayri and Rosenbaum (2015) call $2\eta\,\delta_{\mathrm{tick}}$ the implicit spread of a [large-tick asset](#def-mx-tick-size-queues-and-priority-large).

A small $\eta$ makes price changes of one tick bounce back and forth: a new price needs $P^\ast$ to travel $\eta\,\delta_{\mathrm{tick}}$ past the mid-tick and is then likely to revert. At $\eta=\tfrac12$ the traded price is a sampled Brownian motion. The estimator counts, among one-tick changes of the traded price, the *continuations* $N_c$ (same direction as the previous change) and the *alternations* $N_a$ (opposite direction): $\hat\eta=N_c/(2N_a)$. Dayri and Rosenbaum call a tick optimal when $\eta=\tfrac12$ with a spread still of one tick; below one half, the tick is too large for the asset.

```python
def eta_hat(prices) -> dict:
    d = np.diff(np.asarray(prices, float))
    d = d[d != 0]
    one = np.abs(d[1:]) == 1
    same = np.sign(d[1:]) == np.sign(d[:-1])
    n_cont, n_alt = int(np.sum(one & same)), int(np.sum(one & ~same))
    return {"eta": n_cont / (2 * n_alt) if n_alt else float("nan"), "continuations": n_cont, "alternations": n_alt}
```

***Listing 6.1.** The uncertainty-zone parameter from one-tick continuations and alternations. code/firm/queuevalue/firm_queuevalue.py*

The experiment keeps `firm.tape`’s order flow fixed and changes only the grid: every [limit order](https://one-course.com/books/quant/10/en/chapter/1-the-limit-order-book#def-mx-the-limit-order-book-orders) goes to `firm.exchsim` with its price rounded away from the market, bids down and asks up, to a multiple of one, two, five or ten cents ([Figure 6.1](#fig-mx-tick-size-queues-and-priority-grid)). The providers do not react to the new grid; the experiment isolates what the grid does to the same orders.

```python
class CoarseTape(TapeBackground):
    """firm.tape's flow on a coarser grid: the same orders, their limit prices rounded to `mult` cents."""
    mult: int = 1

    def build(self, sim, venue_cfg, jumps=()):
        cents = tuple(replace(i, tick=100) if i.locate == self.locate else i
                      for i in venue_cfg.instruments)
        recs, truth = super().build(sim, replace(venue_cfg, instruments=cents), jumps)
        step = 100 * self.mult
        out = []
        for t, m in recs:
            if type(m).__name__ == "In_O" and m.price > 0:
                p = (m.price // step) * step if m.side == "B" else -((-m.price) // step) * step
                m = m._replace(price=p)
            out.append((t, m))
        return out, truth
```

***Listing 6.2.** The same order flow on a coarser grid: every limit price rounded away from the market, bids down and asks up. code/microstructure/06-tick-size-queues-and-priority/python/mx_ticks.py*

![The same resting orders on two grids, prices in cents. Rounding away from the market sends the bids at 96 to 99 down to 95 and the asks at 101 to 105 up to 105: the spread becomes one tick of five cents, and the best ask queue holds the orders of five former levels.](https://one-course.com/images/onecourse/chapters/quant-10/mx-tick-size-queues-and-priority/fig-f96b1672161e.svg)

***Figure 6.1.** The same resting orders on two grids, prices in cents. Rounding away from the market sends the bids at 96 to 99 down to 95 and the asks at 101 to 105 up to 105: the spread becomes one tick of five cents, and the best ask queue holds the orders of five former levels.*

Over four simulated hours per grid, the time-weighted spread is 1.07, 2.06, 5.03 and 10.03 cents, one tick 94.2%, 97.1%, 99.4% and 99.7% of the time. The displayed size at the best, averaged over both sides, grows from 1 740 shares to 3 020, 6 560 and 10 780; the number of orders queued at each best from 8.7 to 15.3, 33.6 and 55.5. The [market orders](https://one-course.com/books/quant/10/en/chapter/1-the-limit-order-book#def-mx-the-limit-order-book-orders) are the same and pay the grid: an effective half-spread of 0.56, 1.05, 2.53 and 5.02 cents. The simulated stock is a [large-tick asset](#def-mx-tick-size-queues-and-priority-large) already at one cent: $\hat\eta$ is 0.108 (353 continuations against 1 632 alternations), 0.058, 0.019 and 0.007 on the coarser grids. The implicit spread $2\hat\eta\,\delta_{\mathrm{tick}}$ is 0.22, 0.23, 0.19 and 0.14 cents: nearly a property of the asset, while the [quoted spread](https://one-course.com/books/quant/10/en/chapter/5-decomposing-the-spread#def-mx-decomposing-the-spread-quoted) is a property of the grid.

**As of September 2026 — A half-penny tick for US stocks.**

The SEC’s 2024 amendments to Rule 612 of Regulation NMS (Release 34-101070, published October 8, 2024) set a minimum pricing increment of USD 0.005 for quotes and orders priced at USD 1.00 or more in NMS stocks whose time-weighted average [quoted spread](https://one-course.com/books/quant/10/en/chapter/5-decomposing-the-spread#def-mx-decomposing-the-spread-quoted) is USD 0.015 or less, keep USD 0.01 for the others, and set no minimum increment for trades. Compliance, first due November 3, 2025, was deferred by exemptive orders of October 31, 2025 and June 11, 2026 to the first business day of November 2027.

## 6.2 The value of queue position

**Definition 6.4 (Queue value).**

The *queue value* of a [limit order](https://one-course.com/books/quant/10/en/chapter/1-the-limit-order-book#def-mx-the-limit-order-book-orders) is its expected profit per share from the moment it joins a queue: the probability that it fills times the spread it captures on a fill less the adverse selection it suffers after one, net of fees. The value of queue position is the difference between the queue values of orders at the front and at the back of the same queue.

An order at the front of the queue fills first and fills against almost every [market order](https://one-course.com/books/quant/10/en/chapter/1-the-limit-order-book#def-mx-the-limit-order-book-orders) that reaches its price, informed or not; an order at the back fills only when a large or persistent flow has eaten everything ahead of it, which is more often flow that goes on moving the price. Position changes both factors of the value, the probability and the conditional adverse selection, and Moallemi and Yuan (2016) built a model of the value of a queue position from them. A slot’s value in the birth–death queue of chapter 1 is

$$
V(n)=P_n\,\bigl(c-a(n)\bigr),\qquad P_n=\frac{\mu}{\mu+\nu}\prod_{k=1}^{n}\frac{\mu+k\theta}{\mu+k\theta+\nu},
$$

with $n$ orders ahead, [market orders](https://one-course.com/books/quant/10/en/chapter/1-the-limit-order-book#def-mx-the-limit-order-book-orders) at rate $\mu$, cancellations at rate $\theta$ per order ahead and $\nu$ for ours, $c$ the half-spread captured and $a(n)$ the adverse selection conditional on a fill.

The simulator measures both factors. `mx_ticks.queue_study` follows every [limit order](https://one-course.com/books/quant/10/en/chapter/1-the-limit-order-book#def-mx-the-limit-order-book-orders) that joins or improves the best: the orders and shares ahead of it at entry, its fills, the time to its first fill, and per fill the capture $\pm(m-p)$ and the move of the mid 30 seconds later. On the one-cent grid, an order that opens a new best level fills 54% of the time and earns 0.57 cents per posted share; behind 20 or more orders it fills 6% of the time and earns 0.001 cents. Its adverse selection per filled share goes from $-0.71$ cents at the front, a gain (orders that open a level are placed by providers on the side the efficient price favours), to 0.48 behind 20 orders. On coarser grids the front is worth more: 0.66, 1.26 and 2.05 cents per posted share at two, five and ten cents, against 0.005, 0.094 and 0.188 at the back. The value of queue position, front less back, is 0.57, 0.66, 1.16 and 1.86 cents: the larger the tick, the more there is to win by being first.

![Queue position on the simulated venue, four hours per grid. Left: the share of orders that fill, against the orders ahead at entry, with the birth–death formula at the rates measured on the same sessions (dashed). Right: spread capture less 30-second adverse selection, per share posted. Data: mx_ticks.tick_experiment.](https://one-course.com/images/onecourse/chapters/quant-10/mx-tick-size-queues-and-priority/fig-ea30def9a066.svg)

***Figure 6.2.** Queue position on the simulated venue, four hours per grid. Left: the share of orders that fill, against the orders ahead at entry, with the birth–death formula at the rates measured on the same sessions (dashed). Right: spread capture less 30-second adverse selection, per share posted. Data: `mx_ticks.tick_experiment`.*

## 6.3 Queue dynamics and the time to fill

Queues lengthen with the tick, so orders wait longer: the median time from entry to first fill, among orders that fill, is 11.3 seconds on the one-cent grid, 24.1 at two cents, 55.7 at five and 81.4 at ten; the share of joining orders that fill at all falls from 15.3% to 12.3%, 8.0% and 5.6%. The birth–death queue predicts the shape of the fill probability but not its level ([Figure 6.2](#fig-mx-tick-size-queues-and-priority-queue), left). At one cent, with $\mu=0.194$ [market orders](https://one-course.com/books/quant/10/en/chapter/1-the-limit-order-book#def-mx-the-limit-order-book-orders) per second per side and $\theta=0.063$ cancellations per order per second measured on the same sessions, it gives 0.76 at the front, 0.44 behind three orders and 0.13 behind twenty, against 0.54, 0.22 and 0.06 observed. The model’s queue is a line that only shortens; a real best level can be overtaken by a better one, which sends everyone in it back to the second level, and orders cancel faster when the price moves against them (chapter 1 found the same gap for orders that are jumped). A queue model for trading has to include the price moving away.

The expected time to fill in the model, with our order never cancelled, is $1/\mu+\sum_{k=1}^n 1/(\mu+k\theta)$: the front waits one market-order interarrival, each order ahead adds the time for it to be traded or cancelled. The tutorial computes the full distribution with `firm.queues.fill_time_cdf` (One Quant Book 4, chapter 8) and compares it with the observed times.

## 6.4 Tick-size experiments

**Definition 6.5 (Difference-in-differences).**

A *difference-in-differences* estimate of a treatment’s effect compares the change in an outcome for treated units between before and after with the change for untreated (control) units over the same dates: $(\bar y_{T,1}-\bar y_{T,0})-(\bar y_{C,1}-\bar
y_{C,0})$. It removes what changed for everyone, under the assumption that treated and control outcomes would have moved in parallel without the treatment; in a regression it is the coefficient on the interaction of the treated and after indicators.

The pilot was built for this estimate. The SEC ordered the exchanges and FINRA to submit a plan in June 2014 and approved it on May 6, 2015; it started on October 3, 2016 for two years. Three test groups of about four hundred small stocks each were drawn: the first quoted in five cents and traded at the old increment, the second quoted and traded in five cents (with exemptions for midpoint, retail and negotiated trades), the third added a trade-at rule that kept executions on venues displaying the best price. The remaining eligible stocks were the control group.

The control group matters because the market changed at the same time: in the SEC staff’s comparison of June–September 2016 with November 2016–February 2017, spreads rose significantly for every group, control included. Against the control, the average relative [quoted spread](https://one-course.com/books/quant/10/en/chapter/5-decomposing-the-spread#def-mx-decomposing-the-spread-quoted) of the test groups rose between five and seven basis points (the sample’s median [quoted spread](https://one-course.com/books/quant/10/en/chapter/5-decomposing-the-spread#def-mx-decomposing-the-spread-quoted) was 18 basis points). Displayed depth at the best rose in all test groups, but the staff warned that the rise is largely mechanical, since depth from several one-cent levels consolidates at one five-cent price; depth within five cents of the best did not rise significantly in the first two groups. Albuquerque, Song and Yao (2020) and Chung, Lee and Rösch (2020) studied the pilot’s effects on prices and on the trading costs of small and large orders.

![A simulated tick-size experiment: depth at the best for eight treated and eight control stocks before and after the treated stocks move to a five-cent grid, while every stock sees more volatility and noise flow. The dashed line is the parallel-trend counterfactual; the gap to it at the end is the difference-in-differences estimate. Data: mx_ticks.did_panel.](https://one-course.com/images/onecourse/chapters/quant-10/mx-tick-size-queues-and-priority/fig-4e5daf615343.svg)

***Figure 6.3.** A simulated tick-size experiment: depth at the best for eight treated and eight control stocks before and after the treated stocks move to a five-cent grid, while every stock sees more volatility and noise flow. The dashed line is the parallel-trend counterfactual; the gap to it at the end is the [difference-in-differences](#def-mx-tick-size-queues-and-priority-did) estimate. Data: `mx_ticks.did_panel`.*

The simulator can run a pilot where the truth is known. Sixteen simulated stocks with random liquidity are observed for 20 minutes before and 20 after, in three windows of five minutes each (96 observations). After, every stock sees 50% more efficient-price moves and 20% more noise orders; the eight treated stocks also move to a five-cent grid. For depth at the best ([Figure 6.3](#fig-mx-tick-size-queues-and-priority-did)), the treated stocks’ before–after change is $+7\,560$ shares, the controls’ $-400$, and the [difference-in-differences](#def-mx-tick-size-queues-and-priority-did) $+7\,960$. Its standard error clustered by stock is 2 270, against 1 340 if the windows are treated as independent: the windows of one stock share its liquidity, and ignoring that overstates the precision by a factor of 1.7 (clustered standard errors, One Quant Book 4, chapter 16). For the [quoted spread](https://one-course.com/books/quant/10/en/chapter/5-decomposing-the-spread#def-mx-decomposing-the-spread-quoted) the estimate is $+3.97$ cents against a before–after change of $+4.01$: the common shock hardly moved spreads here, which is exactly what a researcher could not know without the control group.

## 6.5 Priority rules beyond time

Price–time priority is not the only rule (One Quant Book 1, chapter 19). Under pro rata, an incoming order is split across the resting orders at the best in proportion to their sizes; under a top-order rule the order that set the price gets a share first; some venues rank displayed before hidden, round lots before odd lots, or a broker’s own orders first. Each rule changes what a place in line is worth, and so what providers compete on.

On the five-cent grid with the same flow, pure pro rata flattens the queue: the share of orders that receive a fill is 0.78 at the front and 0.58 behind 20 or more orders, against 0.70 and 0.05 under time priority, and the median wait for a first fill behind 20 orders drops from 76.7 seconds to 4.3. Fills are partial, so the value per posted share still falls with the queue (0.72 cents at the front, 0.093 at the back), but the value of position, front less back, halves from 1.20 cents to 0.63. Pro rata rewards size instead of speed: a provider who wants more of each fill posts more than she wants to trade, which is why pro-rata futures markets add minimum allocations and top-order shares.

![Time priority against pure pro rata on the five-cent grid, same order flow, two hours each. Pro rata spreads fills over the whole queue. Data: mx_ticks.priority_compare.](https://one-course.com/images/onecourse/chapters/quant-10/mx-tick-size-queues-and-priority/fig-2ee945eee70a.svg)

***Figure 6.4.** Time priority against pure pro rata on the five-cent grid, same order flow, two hours each. Pro rata spreads fills over the whole queue. Data: `mx_ticks.priority_compare`.*

## 6.6 Tutorial: five cents instead of one

**Goal.** Run the same market on four grids, value a queue slot two ways, and estimate a tick change as the pilot did. **End state:** Figures [6.2](#fig-mx-tick-size-queues-and-priority-queue), [6.3](#fig-mx-tick-size-queues-and-priority-did) and [6.4](#fig-mx-tick-size-queues-and-priority-priority) and the numbers of sections 1 to 5.

1. **Grids.** `mx_ticks.session(mult, seconds, seed)` for `mult` in 1, 2, 5, 10; `grid_stats` for spread, depth and one-tick time.
2. **Queues.** `queue_study(tape, mult)` and `firm_queuevalue.empirical(entries, edges, by)` ; `rates(tape)` for $\mu$ and $\theta$ , then `fill_probability` and `firm.queues.fill_time_cdf` for the model.
3. **Tick.** `eta_hat` and `implicit_spread` on the traded prices of each grid.
4. **Priority.** `priority_compare()` runs the five-cent grid under time priority and pro rata.
5. **Experiment.** `did_panel()` simulates the treated and control stocks and fits the interaction with clustered standard errors (statsmodels); draw with `fig_ticks.py` .

**What to change next.** Let the liquidity providers react to the grid (post fewer, larger orders when the tick is large) and see which of the mechanical effects survive; add a trade-at rule on a second venue with `firm.exchsim`’s multi-venue simulator.

## 6.7 Build: the value of a queue slot

**Purpose.** What a place in a queue is worth, used by the placement logic of chapter 17, by the venue choice of chapter 18 and by Book 11’s market makers.

**Interface.** `fill_probability(n, mu, theta, nu)`, `expected_time_to_fill(n, mu, theta)`, `slot_value(…)`; `ENTRY` and `empirical(entries, edges, by)` for observed orders; `eta_hat(prices)`, `implicit_spread(eta, tick)`.

**Rules.** The birth–death queue of chapter 1; empirical values per posted share, fills partial or whole, adverse selection measured from the mid just before each fill; $\hat\eta$ from one-tick changes of the traded price only.

**Acceptance tests.** `code/firm/queuevalue/tests/`: the fill probability against a direct simulation of the queue; the expected wait by hand; bucket statistics on hand-made orders; $\hat\eta$ on hand-made price paths (a pure bounce gives zero).

**Stretch.** A queue model in which the best price can move (a new level in front, the level emptied), as in Moallemi and Yuan; [queue values](#def-mx-tick-size-queues-and-priority-queuevalue) net of the fees of chapter 7.

Sources and further reading

- L. Harris, “Minimum price variations, discrete bid-ask spreads, and quotation sizes”, *Review of Financial Studies* 7(1), 1994.
- C. Y. Robert and M. Rosenbaum, “A new approach for the dynamics of ultra-high-frequency data: the model with uncertainty zones”, *Journal of Financial Econometrics* 9(2), 2011.
- K. Dayri and M. Rosenbaum, “Large tick assets: implicit spread and optimal tick size”, *Market Microstructure and Liquidity* 1(1), 2015.
- C. C. Moallemi and K. Yuan, “A model for queue position valuation in a limit order book”, working paper, 2016.
- C. Yao and M. Ye, “Why trading speed matters: a tale of queue rationing under price controls”, *Review of Financial Studies* 31(6), 2018.
- E. Hu, P. Hughes, J. Ritter, P. Vegella and H. Zhang, *Tick Size Pilot Plan and Market Quality* , SEC Division of Economic and Risk Analysis white paper, 2018.
- R. Albuquerque, S. Song and C. Yao, “The price effects of liquidity shocks: a study of the SEC’s tick size experiment”, *Journal of Financial Economics* 138(3), 2020.
- K. H. Chung, A. J. Lee and D. Rösch, “Tick size, liquidity for small and large orders, and price informativeness: evidence from the Tick Size Pilot Program”, *Journal of Financial Economics* 136(3), 2020.
- U.S. Securities and Exchange Commission, *Regulation NMS: Minimum Pricing Increments, Access Fees, and Transparency of Better Priced Orders* , Release 34-101070, 2024.

## 6.8 Exercises

**Exercise 6.1 ★.**

What is the [relative tick size](#def-mx-tick-size-queues-and-priority-relative) of a one-cent tick on a stock at four dollars and on one at four hundred dollars? Which is more likely to be a [large-tick asset](#def-mx-tick-size-queues-and-priority-large), and what else would you need to know?

**Solution of Exercise 6.1.**

$0.01/4=25$ basis points and $0.01/400=0.25$ basis points. The four-dollar stock is more likely to be large-tick, but the answer depends on the spread it would have without the constraint, which depends on its volatility and activity: a very active, low-volatility stock can be large-tick at a high price.

**Exercise 6.2 ★.**

Over a day a stock’s traded price makes 40 one-tick continuations and 160 one-tick alternations. Estimate $\eta$ and the implicit spread for a one-cent tick. Is the tick too large in the sense of Dayri and Rosenbaum?

**Solution of Exercise 6.2.**

$\hat\eta=40/(2\times160)=0.125$; implicit spread $2\times0.125\times1=0.25$ cents. Yes: $\eta$ is well below one half.

**Exercise 6.3 ★.**

An order joins a queue with two orders ahead; [market orders](https://one-course.com/books/quant/10/en/chapter/1-the-limit-order-book#def-mx-the-limit-order-book-orders) arrive at 0.2 per second, each order cancels at 0.05 per second, ours included. What is its fill probability, and its expected time to fill if it is never cancelled?

**Solution of Exercise 6.3.**

$P_2=\tfrac{0.2}{0.25}\cdot\tfrac{0.25}{0.30}\cdot\tfrac{0.30}{0.35}=0.571$. Expected time: $1/0.2+1/0.25+1/0.3=12.33$ seconds.

**Exercise 6.4 ★★.**

On a five-cent grid, an order at the front fills with probability 0.7 and suffers 0.4 cents of adverse selection per filled share; one at the back fills with probability 0.06 and suffers 0.9. Both capture 2.5 cents. What is each slot worth per share, and what is the front worth over the back for 500 shares?

**Solution of Exercise 6.4.**

Front: $0.7\times(2.5-0.4)=1.47$ cents per share; back: $0.06\times(2.5-0.9)=0.096$. The front is worth 1.37 cents per share more: USD 6.87 for 500 shares.

**Exercise 6.5 ★★.**

In the simulated experiment the treated stocks’ depth at the best goes from 2 400 to 9 960 shares and the controls’ from 2 750 to 2 350. Compute the before–after change and the [difference-in-differences](#def-mx-tick-size-queues-and-priority-did), and say what assumption makes the second a causal effect.

**Solution of Exercise 6.5.**

Before–after: $9\,960-2\,400=7\,560$. [Difference-in-differences](#def-mx-tick-size-queues-and-priority-did): $7\,560-(2\,350-2\,750)=7\,960$. It is causal if, without the new grid, the treated stocks’ depth would have changed like the controls’ (parallel trends); here it holds by construction, because the simulator draws the stocks alike.

**Exercise 6.6 ★★.**

Why is the standard error of the depth estimate larger when clustered by stock (2 270) than when the 96 windows are treated as independent (1 340)? Which should you report?

**Solution of Exercise 6.6.**

The three windows of one stock share its liquidity and its random draws, so they are positively correlated and carry less information than three independent observations; the independent formula ignores that and understates the error by a factor of 1.7. Report the clustered one; with only 16 clusters, a small-sample correction or a wild bootstrap is safer still.

**Exercise 6.7 ★★★.**

*Coding.* Run `queue_study` on the five-cent grid under time priority and under pro rata. Compare the fill probability and the value per posted share at the front and behind 20 orders, and explain why the value still falls with the queue under pro rata.

**Solution of Exercise 6.7.**

Two hours per rule on seeds 7 and 8: under time priority 0.70 of front orders and 0.05 of those behind 20 or more receive a fill, worth 1.28 and 0.081 cents per posted share; under pro rata 0.78 and 0.58, worth 0.72 and 0.093. Pro rata gives each resting order a slice of every fill in proportion to its size, so an order deep in a long queue still receives only a small part of its size, and the value per posted share falls with the length of the queue it shares.

**Exercise 6.8 ★★★.**

*Find the flaw.* “The [tick size](https://one-course.com/books/quant/10/en/chapter/1-the-limit-order-book#def-mx-the-limit-order-book-tick) pilot raised displayed depth at the best quotes in every test group, so it made small stocks more liquid.”

**Solution of Exercise 6.8.**

Depth at the best rises mechanically when several one-cent levels are pooled at one five-cent price: the same shares are counted at fewer prices. The SEC staff found no significant change in depth within five cents of the best for the first two groups, and [quoted spreads](https://one-course.com/books/quant/10/en/chapter/5-decomposing-the-spread#def-mx-decomposing-the-spread-quoted) rose five to seven basis points against the control group. The simulated experiment shows the same: depth at the best grows 3.8-fold on a five-cent grid with no new orders at all, while every [market order](https://one-course.com/books/quant/10/en/chapter/1-the-limit-order-book#def-mx-the-limit-order-book-orders) pays 4.5 times more.

## 6.9 Problem: Five Cents Instead of One

**Problem 6.1.**

Weekend problem — five cents instead of one

A regulator is asked to widen the tick of small stocks to help market makers. Run the change in the simulated market and compare it with the pilot.

**Part I — The grid.**

1. Define a [large-tick asset](#def-mx-tick-size-queues-and-priority-large) and say why the [relative tick size](#def-mx-tick-size-queues-and-priority-relative) alone does not decide it.
2. What does the experiment hold fixed, and what does it change?
3. Give the mean spread and the one-tick share of time on the one- and five-cent grids.
4. How do the displayed size and the number of orders at the best change?
5. What do [market orders](https://one-course.com/books/quant/10/en/chapter/1-the-limit-order-book#def-mx-the-limit-order-book-orders) pay on each grid, and why is that mechanical here?

**Part II — Queues.**

6. Define [queue value](#def-mx-tick-size-queues-and-priority-queuevalue) and write the birth–death value of a slot.
7. Give the median time to first fill on the four grids.
8. Compare the birth–death fill probabilities with the observed ones at one cent, and explain the gap.
9. Give the value of the front and of the back of the queue on each grid.
10. Why is adverse selection worse at the back?

**Part III — The tick.**

11. State the uncertainty-zone estimator of $\eta$ .
12. Give $\hat\eta$ and the implicit spread on the four grids.
13. What does the near-constant implicit spread say about the asset?
14. Where does the half-penny tick of the 2024 amendments apply?

**Part IV — The experiment and the verdict.**

15. Describe the pilot’s three test groups.
16. Why did the SEC staff need the control group?
17. What did it find for [quoted spreads](https://one-course.com/books/quant/10/en/chapter/5-decomposing-the-spread#def-mx-decomposing-the-spread-quoted) and for depth?
18. Give the simulated [difference-in-differences](#def-mx-tick-size-queues-and-priority-did) for depth and its two standard errors.
19. State the *named result* : the change in spread, depth and [queue value](#def-mx-tick-size-queues-and-priority-queuevalue) when the tick is multiplied by five in the simulated market, against the pilot’s measured effects.
20. In one sentence: who gains from a five-cent tick?

**Solution of Problem 6.1.**

**1.** One whose spread is one tick almost always; the tick must be compared with the spread the asset would have unconstrained, which depends on volatility and activity. **2.** It holds `firm.tape`’s order flow fixed and changes only the price grid (limit prices rounded away from the market). **3.** 1.07 cents and 94.2%; 5.03 cents and 99.4%. **4.** 1 740 to 6 560 shares, 8.7 to 33.6 orders. **5.** 0.56 and 2.53 cents of effective half-spread: the same [market orders](https://one-course.com/books/quant/10/en/chapter/1-the-limit-order-book#def-mx-the-limit-order-book-orders) cross a spread that is now one five-cent tick. **6.** Expected profit per share from joining; $V(n)=P_n(c-a(n))$. **7.** 11.3, 24.1, 55.7 and 81.4 seconds. **8.** 0.76, 0.44 and 0.13 predicted at 0, 3 and 20 orders ahead against 0.54, 0.22 and 0.06: the model ignores new levels in front and faster cancellations when the price moves. **9.** Front 0.57, 0.66, 1.26 and 2.05 cents per posted share; back 0.001, 0.005, 0.094 and 0.188. **10.** The back fills only when the flow has eaten the whole queue, which is more often flow that keeps moving the price: at one cent, $-0.71$ cents at the front against 0.48 behind 20 orders. **11.** $\hat\eta=N_c/(2N_a)$ over one-tick changes of the traded price. **12.** 0.108, 0.058, 0.019 and 0.007; 0.22, 0.23, 0.19 and 0.14 cents. **13.** The implicit spread is close to a property of the asset: the [quoted spread](https://one-course.com/books/quant/10/en/chapter/5-decomposing-the-spread#def-mx-decomposing-the-spread-quoted) follows the grid, the asset’s own cost of a price change does not. **14.** NMS stocks priced at USD 1.00 or more whose time-weighted average [quoted spread](https://one-course.com/books/quant/10/en/chapter/5-decomposing-the-spread#def-mx-decomposing-the-spread-quoted) is USD 0.015 or less, for quotes and orders. **15.** About 400 stocks each: quoting in five cents; quoting and trading in five cents; the same plus trade-at. **16.** Spreads rose for every group between the two periods, control included. **17.** [Quoted spreads](https://one-course.com/books/quant/10/en/chapter/5-decomposing-the-spread#def-mx-decomposing-the-spread-quoted) up five to seven basis points against the control; depth at the best up, mostly mechanically; depth within five cents not significantly changed in the first two groups. **18.** $+7\,960$ shares; 2 270 clustered by stock, 1 340 unclustered. **19.** *Named result*: multiplying the tick by five on the same flow multiplies the spread by 4.7 (1.07 to 5.03 cents), the displayed size at the best by 3.8, the median time to fill by 4.9 and the value of the front of the queue by 2.2 (0.57 to 1.26 cents per posted share); the pilot measured a five-to-seven basis point rise of [quoted spreads](https://one-course.com/books/quant/10/en/chapter/5-decomposing-the-spread#def-mx-decomposing-the-spread-quoted) against controls and a mostly mechanical rise of depth at the best. **20.** Liquidity providers at the front of the queue, paid by every order that crosses the wider spread.

## 6.10 Interview questions

**Interview question 6.1 ★ trader.**

What is a large-tick stock, and how does trading one differ from trading a small-tick stock?

**Solution of Interview question 6.1.**

Its spread is one tick almost always and its queues are long; trading it is a question of queue position and timing (joining early, not paying the spread), while a small-tick stock has a sparse book, spread changes and competition on price.

*What the interviewer is looking for: Spread pinned at one tick; queues; price against time competition.*

**Interview question 6.2 ★★ trader, researcher.**

Why is queue position valuable, and when is it worth more?

**Solution of Interview question 6.2.**

The front fills more often and against less informed flow; the back fills rarely and mostly when the price is moving through it. It is worth more when the tick is large relative to the asset’s natural spread, queues are long, and priority is by time.

*What the interviewer is looking for: Both factors (probability and conditional adverse selection); the tick; the priority rule.*

**Interview question 6.3 ★★ researcher.**

An order sits behind $n$ orders. Write a model for its fill probability and say what it leaves out.

**Solution of Interview question 6.3.**

A birth–death queue: [market orders](https://one-course.com/books/quant/10/en/chapter/1-the-limit-order-book#def-mx-the-limit-order-book-orders) at rate $\mu$ take the front, orders ahead cancel at $\theta$, ours at $\nu$: $P_n=\tfrac{\mu}{\mu+\nu}\prod_k\tfrac{\mu+k
\theta}{\mu+k\theta+\nu}$. It leaves out price moves (a better level forming, the level emptying), state-dependent cancellations, market-order sizes and [hidden orders](https://one-course.com/books/quant/10/en/chapter/2-order-types-and-their-uses#def-mx-order-types-and-their-uses-hidden).

*What the interviewer is looking for: The formula; its missing price dynamics.*

**Interview question 6.4 ★★ researcher.**

How would you estimate the effect of a tick-size change on spreads from a pilot with treated and control stocks?

**Solution of Interview question 6.4.**

[Difference-in-differences](#def-mx-tick-size-queues-and-priority-did): regress spreads on treated, after and their interaction with stock and date controls, standard errors clustered by stock; check pre-trends and the balance of the groups, and report by pre-period spread (the constraint binds only where the old spread was below the new tick).

*What the interviewer is looking for: Control group; interaction; clustering; heterogeneity.*

**Interview question 6.5 ★★ trader.**

You make markets in a pro-rata futures contract. How does your quoting differ from a price–time equity market?

**Solution of Interview question 6.5.**

Position matters less and size more: fills are split by size, so I post more than I want to trade and manage the overfill risk, watch the top-order and minimum-allocation rules, and cancel faster when the queue’s total size could fill me too much at once.

*What the interviewer is looking for: Oversizing; allocation rules; fill risk.*

**Interview question 6.6 ★★★ researcher.**

How would you tell whether a stock’s tick is too large?

**Solution of Interview question 6.6.**

Check the share of time the spread is one tick and the queue lengths, then estimate $\eta$ from one-tick continuations and alternations: $\eta$ well below one half, with a spread pinned at one tick, means the tick is large relative to the asset’s implicit spread $2\eta\delta_{\mathrm{tick}}$.

*What the interviewer is looking for: One-tick share; queue lengths; the uncertainty-zone estimator.*
