A smallcap has been sitting in your watchlist for a fortnight. On the one-minute chart it does something that looks almost designed: it drops about 1.5%, comes back, drops again, comes back, all afternoon, on no news at all. You write the obvious rule — buy the dip, sell the recovery — and test it on two years of one-minute data. It wins 78% of the time. You trade it for three weeks and lose money on almost every attempt, including the attempts that the chart afterwards shows were correct. Nothing on your screen was wrong. The prices were real prices, the test arithmetic was right, and the thing being measured was not the stock.
Every point on a price chart is a Last traded price — a price at which somebody actually transacted. And almost nobody transacts at the middle of the market. A buyer in a hurry pays the offer; a seller in a hurry accepts the bid. So the series your chart is drawn from is not a series of values. It is a series of values plus a record of which side was impatient, and that record flips constantly.
A sarafa shop displays two rates all day — one at which it buys your gold and a higher one at which it sells you gold. Suppose the underlying rate does not move a paisa between eleven and four. Now write down, in order, the price of every transaction that happened at that counter: a sale, a purchase, a sale, two purchases. The list zig-zags. Show the list to somebody who never saw the board and they will tell you gold was volatile that afternoon. It was not. You have shown them a record of who walked in, not a record of the price.
The exchange displays two rates too, and prints only transactions. A chart of last traded prices in a wide-spread stock is that same list, plotted. The zig-zag is genuine, in the sense that each print really happened; it carries no information about value, because it is generated by the alternation of impatient buyers and impatient sellers rather than by anybody changing their mind.
The arithmetic, on a day when nothing happened
It shrinks as the bar lengthens, and that is the practical fix
The bounce adds roughly one spread’s worth of width to a bar, more or less regardless of how long the bar is — because a bar records the highest print and the lowest print, and in a two-sided market those are an offer and a bid. Genuine movement, on the other hand, accumulates as the bar lengthens. So the bounce’s share of what you measure falls steadily with the timeframe, which means the fix is not a cleverer indicator; it is a longer bar.
| Bar length | Genuine movement in the bar | What the bar measures | Share that is spread |
|---|---|---|---|
| 1 minute | ₹0.10 | ₹0.90 | About 89% |
| 15 minutes | ₹0.39 | ₹1.19 | About 67% |
| One session | ₹1.94 | ₹2.74 | About 29% |
| One week | ₹4.33 | ₹5.13 | About 16% |
- Spread of one or two per cent — thin smallcaps, most of the SME platform, anything with a handful of trades a minute
- Short bars: one-minute and five-minute charts, where the spread is comparable to the bar’s whole range
- Anything that counts reversals — pull-back rules, oscillator crossings, doji and inside-bar counts, tests of mean reversion
- Volatility measures taken from prints: ATR on an intraday chart reads mostly spread, so a stop set at a multiple of it is sized against the spread
- A large cap where the best bid and best offer sit one tick apart: five paise on a ₹1,500 share is 0.003% against a daily range of a per cent or more
- Daily and weekly bars on any reasonably traded name
- The exchange’s official close in a name that actually trades through the last half-hour, because it is then a volume-weighted average of that window and therefore averages both sides of the spread together — the carve-out for thin names is below
- Trend measures over long horizons, where genuine movement is orders of magnitude larger than one spread
There is no price at the middle. Thin the levels out and watch the two prices a trade can actually happen at move further apart — every point on a chart of that stock is one or the other.
The four-line habit
- 1Record the spread next to the price, once per name
Best bid, best offer, the mid, and the spread as a percentage of the mid. Take it twice — once mid-morning and once mid-afternoon — because the first fifteen minutes and the last are not representative of either.
- 2Divide the spread by the typical range of the bar you trade
This one ratio decides whether the chart in front of you is readable at that timeframe. Above roughly a third and you are mostly looking at the spread; the honest responses are to lengthen the bar or to drop the name, and there is no third option that involves an indicator.
- 3Test at the price you could have touched
Buys fill at the offer, sells at the bid. A test run on last traded prices credits you with both halves of every spread you would in fact have paid, and that error is largest in exactly the names where a pull-back rule looks best.
- 4Prefer the official close to the last print — and then check whether you actually got one
The exchange’s close is an average across the last half-hour and therefore across both sides of the market, so it carries far less bounce than the final trade of the day. The carve-out matters more than the rule, because it bites in exactly the names this lesson is about: where a security did not trade at all in that final window, the last traded price stands in as the official close, bounce and all — and where it traded four times, the "average" is an average of four prints that were each at somebody’s bid or somebody’s offer. The protection is proportional to how much trading went into the window, which in a thin scrip can be none. An earlier lesson in this track deals with the two different daily closes and where each comes from.
The perfect range
A ₹42 smallcap has traded between ₹41 and ₹43 for six weeks, touching both ends repeatedly on the daily chart. The best bid is ₹41.75 and the best offer is ₹42.35. Your written pull-back rule, tested on the print series, shows a 74% win rate and an average gain of 1.1% a trade.
A scrip has a best bid of ₹47.60 and a best offer of ₹48.40 all day. Sixty trades print, alternating between the two, and no other price trades. What does the daily candle look like, and what does an ATR-based stop do with it?
Sarafa ki dukaan pe do rate board pe likhe hain — aapse sona ₹199 mein lenge, aapko ₹201 mein denge. Maano dopahar bhar asli bhaav ek paisa nahi hila. Ab us counter pe hue saare saudon ki list banao: ek bikri, ek kharidi, phir bikri — 201, 199, 201, 199. List zig-zag kar rahi hai, aur jisne board nahi dekha woh list dekh ke kahega "aaj sona bahut oopar-neeche hua". Kuch nahi hua. Aapne bhaav ka record nahi dikhaya — kaun andar aaya, uska record dikhaya hai. Chart pe bilkul yahi hai: har point ek asli sauda hai, aur beech waale ₹200 pe sauda hota hi nahi. Bid ₹199, offer ₹201: candle ka high 201, low 199, range ₹2 yaani 1% — us din jab company ki keemat ek rupaya nahi badli. Ab "girawat pe khareedo, wapsi pe becho" rule ko print series pe test karo: 199 pe liya, 201 pe becha, +₹2, aur 78% baar sahi. Live mein? Khareedne ke liye offer dena padta hai — ₹201 — aur bechne pe bid milta hai — ₹199. −₹2. Farq ₹4, yaani do spread: ek andar jaate waqt, ek bahar aate waqt. Test ne round trip ka kharcha munafa likh diya, sign ulta karke. Do saal ka extra data isse nahi pakadta, kyunki usmein wahi bounce bhara hai; bada bar isse chhota karta hai, aur "offer pe kharid, bid pe bikri" waala test isse ek shaam mein maar deta hai.
- Every point on a chart is a trade, and every trade happened at the bid or the offer — never at the middle.
- Bid-ask bounce is movement caused by consecutive trades landing on opposite sides of the spread.
- It widens each bar by roughly one spread, so its share of what you measure falls as the bar lengthens.
- It manufactures apparent mean reversion, so any thin name will test as reverting whatever it is doing.
- Divide the spread by the typical bar range: above about a third, the chart at that timeframe is mostly spread.
- Test at the touchable price — buys at the offer, sells at the bid — or the round-trip cost gets reported as profit.
Mark it done to track your progress through the curriculum.
Common questions
Short, direct answers to what people ask about this topic.
- bid ask bounce meaning in stock market
- Bid-ask bounce is the price movement a chart shows purely because consecutive trades printed on opposite sides of the spread — one at the offer, the next at the bid. The value of the company did not change; only the side of the impatient trader did. It exists in every last-traded-price series ever drawn, it is proportional to the bid-ask spread, and in a liquid large cap it is far too small to notice.
- every point on a price chart is the
- Last traded price — the price at which somebody actually transacted, not the middle of the market. Almost nobody transacts at the mid, because a buyer in a hurry pays the offer and a seller in a hurry accepts the bid. So a chart is a record of prices plus a record of which side was impatient, and that second record flips constantly.
- why does a pull-back strategy win in a backtest on a thin stock and lose live
- Because the backtest buys at the bid-side print and sells at the offer-side print, and neither price was ever available to you. To buy you must pay what sellers are asking and to sell you must accept what buyers are bidding, so the round trip crosses the spread twice. In a wide-spread scrip the test can report the cost of the round trip as the profit of it, with the sign reversed.
- how much does crossing the bid ask spread cost on a round trip
- One full spread — half of it given up on the way in and half on the way out. On a stock with a mid of ₹200 quoted 199 bid and 201 offer, the spread is ₹2, so buying at 201 and selling at 199 in an unchanged market costs ₹2 a share, or 1% of the price, before brokerage, STT and the other statutory charges are counted at all. The ₹4 figure is a different quantity: it is the gap between a backtest and an account, because a test filled on the print series credits itself with the favourable side of both quotes and is therefore out by two spreads rather than one.
- why do illiquid stocks always test as mean reverting
- Because the printed side alternates, so an up print tends to be followed by a down print regardless of what the company is doing. A wide-spread stock will therefore test as mean-reverting on any length of data, and the result is a measurement of the spread rather than of the stock. The fix is a longer bar and a liquidity check before the test, not a cleverer indicator — the bounce adds roughly one spread of width to a bar whatever its length, while genuine movement accumulates as the bar lengthens.