Resting exposure and future fills

Construct a future-fill law and compare cancellation policies without confusing selected trade averages with value per order.

32 minutes · intermediate · Original Poker4Quant lesson

What you will learn

Derive a joint fill-time and terminal-reference ledger, reconcile conditional markouts with expected sale-versus-hold gain, and construct a cancellation-policy ranking reversal.

Prerequisites: Order events and queue changes · From outcomes to random variables · Conditioning on selected records · Expected value as a weighted average

A resting instruction creates contingent exposure

A resting sell order is an offer that remains available for a future buyer. Knowing its limit and present queue position does not tell you whether it will trade before a deadline. The SEC explains that a limit price restricts acceptable execution prices without ensuring an execution. A future-fill calculation therefore needs a law for future events as well as an allocation rule. Here that law is supplied explicitly. It is an assumed teaching experiment, rather than a rate estimated from exchange observations. Keeping that distinction visible prevents an exact calculation from acquiring an unsupported forecasting claim.

Assume you already own one indivisible unit. You may offer it at 101 chips over two event steps, starting from reference value 100. You have first priority, and each B event contains one buyer willing to pay 101. The order fills at the first B while active, at most once. U and Q contain no buyer. Each step independently draws with replacement from four labeled tickets: two B, one U and one Q. B changes the reference by minus two, U by plus two and Q by zero. The reference changes even after a sale or cancellation. There are no fees, partial fills, replacement orders, latency, hidden supply or other execution opportunities. A reference is a valuation benchmark, not an executable buyback quote.

Construct paths before conditioning on fills

Two independent ticket draws create sixteen equally likely ordered ticket pairs. Compressing them into event types gives nine cells, but those cells are not equally likely. BB represents four ticket pairs, BU two, BQ two, UB two, UU one, UQ one, QB two, QU one and QQ one. Independence justifies multiplying ticket counts; it does not justify assigning each type cell probability one ninth. Keep the multiplicities beside the paths throughout the calculation. If you change the ticket composition in the workshop, every path weight must change consistently.

Compare a keep policy, which leaves an unfilled order active through both steps, with a cancel policy, which withdraws an unfilled order immediately after U at step one. This policy can use the observed first event, but cannot inspect the second draw. Under keep, BB, BU and BQ fill at step one; UB and QB fill at step two; the other cells do not fill. Under cancel, UB no longer fills. BU still does: the order already sold before U arrived. This timing distinction is the key reasoning operation in the activity. Cancellation prevents a future execution; it cannot erase a completed one.

Define the benchmark and derive the whole ledger

Use holding the original unit until the common two-step horizon as the comparison. On a filled path you have 101 chips rather than a unit valued at terminal reference M. Your incremental marked gain is G=101−M. On a nonfilled path you still hold that unit under both policies, so incremental gain is zero. This zero is a comparison with holding, not a claim that your inventory has no risk or that a missed sale has no consequence under some other objective. Initial acquisition cost cancels between the two alternatives. The horizon is the same for early and late fills.

Let F be the fill indicator. Pathwise incremental gain is F(101−M). Thus expected gain per submitted order is E[F(101−M)]=P(F=1) E[101−M given F=1], provided fill probability is positive. The identity follows by separating filled and unfilled paths in the finite sum. It is not generally P(F=1)(101−E[M]): execution selects paths, so the conditional terminal reference can differ from the overall reference. The SEC’s historical execution-quality discussion similarly separates fill likelihood and subsequent reference comparisons. Our single-unit, common-horizon benchmark is not its regulatory realized-spread statistic, which uses other timing and scaling conventions.

Work a policy reversal in the selected average

For keep, terminal references in filled type cells BB, BU, BQ, UB and QB are respectively 96, 100, 98, 100 and 98. Their sale-minus-hold gains are 5, 1, 3, 1 and 3, with weights 4, 2, 2, 2 and 2. Filled weight is twelve. Weighted gain is 4×5+2×1+2×3+2×1+2×3=36. Fill probability is 12/16=3/4, gain per fill is 36/12=3, and gain per submission is 36/16=9/4. As an independent check, the eight paths beginning with B contribute 28 gain chips; the four late-fill paths contribute eight.

Cancel removes only the two UB ticket pairs, each worth one gain chip under keep. Filled weight becomes ten, weighted gain becomes 34, fill probability becomes 5/8 and gain per fill becomes 34/10=17/5. Gain per submission falls to 34/16=17/8. The conditional average rises from 3 to 3.4 while the policy value falls from 2.25 to 2.125. Cancellation discarded profitable but below-average fills. Keep minus cancel is 2/16=1/8 per submitted order. Comparing only executed trades would rank these policies in the opposite direction from our declared expected incremental-gain objective.

Change the law and expose the limits

The unconditional expected terminal reference is 99: each step has expected move (2×(−2)+1×2+1×0)/4=−1/2. Multiplying keep’s fill probability by the unconditioned sale edge gives (3/4)(101−99)=3/2, which disagrees with the correct 9/4. Filled paths have a different reference mixture. This is favorable selection for the seller in the starting law. It was deliberately chosen to expose the denominator error and policy-ranking reversal without claiming that supplying liquidity is usually favorable.

Toggle B’s reference move to plus two. Keep’s same filled cells now have gains −3, −3, −1, −3 and −1. Their weighted sum is −28, giving −7/4 per submission. Cancel removes two losses of three each and improves value to −22/16=−11/8. The direction of the policy preference changes with the joint event law, although the fill probabilities do not. In the workshop transfer probability tickets, classify every cell’s execution time and audit the conditional and unconditional quantities. At zero B weight no execution can occur, expected incremental gain is zero, and gain per fill is undefined. At zero U weight the two policies agree. These are model checks, not recommendations for live orders.

Worked example

Offer an owned unit at 101 for two independent four-ticket event draws. B moves reference by −2, U by +2 and Q by zero. Compare keep with cancel after U first.

  1. Count type-cell weights BB,BU,BQ,UB,UU,UQ,QB,QU,QQ as 4,2,2,2,1,1,2,1,1; they sum to sixteen.
  2. Keep fills at step one on BB,BU,BQ and step two on UB,QB. Terminal references 96,100,98,100,98 imply gains 5,1,3,1,3.
  3. Compute weighted gain 20+2+6+2+6=36 and filled weight 4+2+2+2+2=12. Hence P(fill)=3/4, conditional gain=3 and unconditional gain=9/4.
  4. Cancel only removes UB: two paths, each with gain one. New weighted gain 34, filled weight ten, conditional gain 17/5 and unconditional gain 17/8.
  5. Check both normalizations: (3/4)×3=9/4 and (5/8)×(17/5)=17/8. Keep minus cancel=(36−34)/16=1/8.
  6. Independent first-event enumeration: B first contributes 28, U then B contributes two, Q then B contributes six. This again totals 36; cancel deletes only the middle contribution.

A higher gain per fill can accompany a lower gain per submitted order. The joint path law and the sale-versus-hold benchmark determine this result.

Hands-on: Build a future-fill policy ledger

Transfer event tickets, construct causal fill times and compare selected gain with value per submission under two cancellation policies.

Build a future-fill policy ledger

Own one unit; offer at 101; initial reference 100; first priority. Two independent four-ticket draws with replacement. B supplies one buyer and moves reference by -2; U moves it by +2 without a buyer; Q does neither. Reference evolves through both steps even after sale. No fees or latency. Incremental gain compares selling with holding to the same horizon. Draft lasts for this visit and earns no credit.

Transfer event tickets

B tickets 2, U tickets 1, Q tickets 1. Four tickets conserved; every ordered ticket pair has weight 1/16.

Current policy: keep through both steps. Cancellation cannot undo a completed sale.

Construct the nine execution times

Cycle each cell: no fill, step 1, step 2. Classify even zero-weight cells using the structural policy. Each card shows your draft gain times its weight; this is a construction aid, not a correctness certificate.

Path BB

Weight 4/16; terminal reference 96. Draft incremental gain 0; weighted contribution 0.

Path BU

Weight 2/16; terminal reference 100. Draft incremental gain 0; weighted contribution 0.

Path BQ

Weight 2/16; terminal reference 98. Draft incremental gain 0; weighted contribution 0.

Path UB

Weight 2/16; terminal reference 100. Draft incremental gain 0; weighted contribution 0.

Path UU

Weight 1/16; terminal reference 104. Draft incremental gain 0; weighted contribution 0.

Path UQ

Weight 1/16; terminal reference 102. Draft incremental gain 0; weighted contribution 0.

Path QB

Weight 2/16; terminal reference 98. Draft incremental gain 0; weighted contribution 0.

Path QU

Weight 1/16; terminal reference 102. Draft incremental gain 0; weighted contribution 0.

Path QQ

Weight 1/16; terminal reference 100. Draft incremental gain 0; weighted contribution 0.

Draft filled weight 0/16; draft weighted gain 0. A correct sum does not certify correct event timing.

Use probabilities as fractions or decimals. Gains are chips per unit or per submission as labeled. Enter none for an undefined conditional gain. Final field always means keep minus cancel under the current law.

Construct all nine causal fill times, then audit the weighted ledger.

Common mistakes

  • Treating nine event-type cells as equally likely despite sixteen labeled ticket pairs.
  • Canceling a sale retroactively after observing the second event.
  • Stopping reference evolution when the order fills and thereby changing the common horizon.
  • Multiplying fill probability by an unconditioned reference edge.
  • Reporting zero for an undefined per-fill mean when no fills are possible.
  • Treating marked reference gain as executable liquidation profit or an empirical forecast.

Keep these ideas

  • Specify future-event probabilities separately from deterministic queue rules.
  • Classify execution timing before averaging path gains.
  • Expected incremental gain equals fill probability times conditional gain when fills are possible.
  • Compare policies on the same submission population and declared benchmark.

Further reading

  • SEC: Limit Orders (2011) ↗

    Read the definition paragraph: price restrictions and lack of execution guarantee. Our two-step ticket law and policies are original assumptions, not exchange observations or a forecast. Checked 2026-10-25.

  • SEC: Disclosure of Order Execution and Routing Practices (historical 2001 release), section III.C.1 ↗

    Read the fill-timing, realized-spread and non-marketable-limit-order discussion in section III.C.1. Historical conceptual background only, not current reporting requirements. Our common two-step horizon, single-unit sale-versus-hold gain and policy reversal are original and are not regulatory realized-spread statistics. No whole-release or video review claimed. Checked 2026-10-25.

Check your understanding

Untimed · 4 checks · Guest progress stays in this browser. Sign in to save account snapshots.

Loading saved lesson…