RESEARCH

Buying vs selling on a fast move: the cost is the same both ways

Study details

Measured
2025-04-02 - 2026-07-27, 38 sessions; 745 symbol-days, 4,400,640 quoted seconds
Instruments
US equities that appeared in a day trading scan on the same day, one-second recordings of the best bid and offer and the size on each, 09:30-15:59 ET
Method
split every pair of consecutive recorded seconds into rising, falling and unchanged. On rising seconds measure the distance from the last print up to the best offer and the dollars resting there. On falling seconds measure the mirror image against the best bid. Group both by the size of the move so the two sides are compared under identical conditions
Result
the two sides are almost identical. On one-second moves of 1.00% or more the buyer paid 0.31% above the last print against 0.29% below it for the seller, and found $740 at the offer against $720 at the bid. Across every bucket the ratio between the two directions stayed between 0.97 and 1.07
Contents
Traders talk as though the two sides of a trade are different problems. Getting in is supposed to be easy and getting out is supposed to be hard, or the reverse, depending on who is telling the story and how their last trade went. It is testable. We have both sides of the book recorded at one-second resolution, so we measured what a market buy faces when a stock is jumping and what a market sell faces when it is falling, under conditions matched second for second.

1. What each side is up against

A market buy takes the best offer. A market sell takes the best bid. Neither trades at the last printed price, which is simply the record of somebody else's completed transaction. So the cost of crossing has two parts on either side: how far the touch sits from the last print, and how much size is standing there before the order has to walk to the next level. We measured both, for both directions.

2. The two sides, matched second for second

Each row holds the seconds where the price moved by that much in one second. The buying columns are measured on rising seconds, the selling columns on falling seconds.
Move in one secondBuy: to the offerSell: to the bidBuy: at the offerSell: at the bid
Up to 0.25%0.09%0.09%$2,630$2,720
0.25% to 0.50%0.22%0.21%$1,410$1,470
0.50% to 1.00%0.19%0.19%$1,100$1,080
1.00% or more0.31%0.29%$740$720
The ratio between the two directions never leaves the range 0.97 to 1.07 in any cell. On a fast move the cost runs the same both ways. The book presents the same problem to a buyer chasing a spike as to a seller leaving a drop, and there is no asymmetry here worth trading around. The quoted spread agrees. It ran 0.27% on the smallest moves and 1.52% on the largest for buyers, against 0.27% and 1.49% for sellers.

3. What actually sets the cost

If direction does not set the cost, something else does, and the table already shows it. Read down a column instead of across a row.
DirectionDistance grows bySize shrinks by
Buying3.4x3.6x
Selling3.2x3.8x
Between the smallest and largest buckets the distance to the touch roughly triples and the money standing there drops to somewhere near a quarter, on both sides. That is the variable that matters. The cost of a market order is a function of how violently the stock is moving in the second you send it, and it is close to blind to which way you are facing. This is the same result we found measuring https://traderwe.com/research/stop-loss-slippage-the-spread-widens-with-the-drop-that-triggers-it and https://traderwe.com/research/liquidity-when-a-stock-drops-the-bid-thins-on-95-of-sessions from the selling side alone. The buy side turns out to be the same study with the sign flipped.

4. One row that does not behave

The medians are not monotonic. The 0.50% to 1.00% bucket shows a smaller distance to the touch, 0.19%, than the 0.25% to 0.50% bucket at 0.22% and 0.21%. That is not noise from a thin sample: both directions show it, on 67,877 and 63,643 seconds. The tail does behave. At the 90th percentile the distance rises through every bucket, 0.58%, then 0.78% and 0.75%, then 1.03% and 0.99%, then 1.85% and 1.80%. The likely cause is that a median in cents is a coarse instrument on cheap stocks. One cent on a $2 stock is 50 basis points, so the median snaps to whichever whole tick is most common in that bucket rather than sliding smoothly. We are reporting it rather than smoothing it, because a reader checking our numbers would find it and wonder what else was tidied.

5. Most of the day nothing happens

Of the 4,400,640 seconds we recorded, 3,613,850 had no change in the last price at all. That is 82.1% of the regular session sitting still, against 9.1% rising and 8.8% falling. The stillness is not the same as calm. Those are the seconds in which the quote you are looking at was formed, and it is the reason a spread measured across the whole day understates what an active order pays. We looked at that from the data-quality side in https://traderwe.com/research/46-of-a-recorded-trading-day-contained-no-new-information-market-data

6. What this changes

Stop building different plans for entries and exits on liquidity grounds. If a position is too big to exit cleanly on a 1% second, it was too big to enter cleanly on one, and the entry is the half you get to choose the timing of. Stop treating a chase as uniquely expensive. Buying a spike costs what it costs because the stock is moving, not because you are late. The same move would have cost a seller the same amount. Judge the moment, not the direction. A fast second is expensive both ways and a still one is not. The only number in this study that changes the answer is how far the stock moved in that second, and that is visible before the order is sent.

7. What this does not measure

We recorded what was quoted, not what was executable. A quote can be pulled between our snapshot and an order arriving, and a one-second grid cannot see inside a second. Every figure here is the optimistic case. We also did not measure returns. Whether buying a spike is a good idea is a different question from what it costs, and nothing here answers it.

8. Sample accounting

The sample is 38 sessions drawn evenly from 264 recorded sessions between 2025-04-02 and 2026-07-27, giving 745 symbol-days and 4,400,640 recorded seconds, of which 398,842 were rising and 387,948 were falling. The universe is the stocks our own scan surfaced each day, the day's active movers rather than a cross-section of the market. Only the regular session is included. Seconds were used only where both sides of the quote were present with positive size and the two snapshots were exactly one second apart, so a gap in the recording cannot be read as a price move. All figures are medians and quartiles rather than means. Distances are floored at zero, so seconds where the touch was already at or through the last print enter as no distance rather than as a negative cost.

Related reading

← All research

Originally published by TraderWe on August 27, 2026. You may quote and link to this page. Republishing the full text without a link back to the original is not permitted.

3 replies

F
FiveMinFiona· 24d ago
Makes sense to me. Symmetry is what you'd expect if the book doesn't care which way it's leaning. What I'd still like spelled out is whether these scan names behave the same at the open as they do mid-afternoon, because my 5m entries cluster in the first hour and that's where I feel the slippage most.
L
LurkerLee· 23d ago
So the pain isn't the side, it's the speed?
BacktestBetty· 23d ago
1. Agree with the finding as stated, and the mirror-image method is clean. 2. My worry is the sample - scan-of-the-day names are self-selected for being in motion, so this may not travel to the boring tickers half of us actually hold. 3. Also most seconds have no change at all, which means the interesting cases are a thin slice of the data. Small slices are exactly where I've fooled myself before. 4. Doesn't change my plan, but I'll stop blaming exits specifically.
Sign in to reply →