You put in a buy order. It fills immediately. You feel like you got in clean. But here's what actually happened: you paid the ask price, not the last traded price you saw on the screen. The moment your order filled, you were already sitting on a small loss — and nobody sent you a receipt for it.
That gap between what buyers will pay and what sellers will ask is the bid-ask spread. It's not a fee. It doesn't show up on your contract note. But it's real money, and if you're trading even moderately active, it's probably costing you more than your brokerage.
What the Order Book Is Actually Showing You
Open any stock on Zerodha's Kite or Upstox Pro. You'll see two columns — bids on the left, offers (asks) on the right. The best bid is the highest price someone in the market is willing to buy at right now. The best ask is the lowest price a seller will accept.
If Reliance Industries shows a best bid of ₹2,980.00 and a best ask of ₹2,980.05, the spread is ₹0.05. That's 0.0017% of the stock price — essentially nothing. This is what a liquid, heavily traded stock looks like. On a normal session day, Reliance trades ₹800–1,200 crore in equity volume. Market makers are competing to quote tight prices because the volume rewards them.
Now open something like Borosil Renewables on a quiet Tuesday. The best bid might sit at ₹498.00 while the best ask is at ₹500.50. That's a ₹2.50 spread — about 0.5% of the stock price, just to enter the trade. On some days, when volume thins out, that gap stretches to ₹4–₹5, pushing the cost to over 0.4% per side before a single rupee of brokerage is charged.
The Guaranteed Loss You Accept the Moment You Hit Market Order
This is the part most retail traders have never explicitly thought about. When you buy at the ask and later need to sell, your immediate exit price is the bid — which is always lower than what you just paid. You are instantaneously underwater by the full spread.
On Reliance, that's ₹0.05 per share. On 100 shares, you're down ₹5 before the market has moved even one tick. Painful? Barely. On Borosil Renewables with a ₹3 spread and 500 shares, you're starting ₹1,500 in the hole. The stock has to move in your favour by 0.5% just for you to break even on the spread alone, before brokerage, before STT, before anything else.
This is not a theoretical loss. This is money that transferred from your account to a market maker or a more patient seller the second your order got matched.
The Real Annual Drag for an Active Small-Cap Trader
Let's do the actual arithmetic, because the number is uncomfortable.
Say you're an active retail trader doing 200 trades per year. That's roughly 4 trades a week, which is conservative for anyone calling themselves a trader. You focus on mid and small-cap names — Syrma SGS, MTAR Technologies, Borosil Renewables, that sort of universe. Average trade size: ₹50,000.
Assume a conservative average spread of ₹2 per share and an average share price of ₹400 — that's a 0.5% spread per side. Each round trip (buy + sell) costs you 1% in spread alone. On a ₹50,000 position, that's ₹500 per round trip.
200 trades × ₹500 = ₹1,00,000 in spread cost annually.
That's a lakh of rupees that quietly left your account without ever appearing on a single P&L report. Your broker charged you maybe ₹20 per order flat — ₹4,000 total for the year. The spread cost you 25 times more than your brokerage.
Now layer in STT, exchange fees, and SEBI charges — maybe another ₹8,000–₹12,000. Your all-in friction cost is closer to ₹1.15 lakh per year. You need to generate that much in profit just to stand still.
When Spreads Get Worse — And Why Timing Matters
Spreads are not static. They breathe with the session. In the first 15 minutes after 9:15 AM, market makers are still calibrating their quotes, overnight news is being digested, and the order book is thin. Spreads during this window can be 2–3x wider than midday levels on the same stock.
The same thing happens in the final 15 minutes before 3:30 PM. Institutional desks are wrapping up, intraday traders are squaring off, and anyone providing liquidity is pulling back. If you're placing market orders during these windows on illiquid names, you're paying a premium on top of an already expensive spread.
The sweet spot for liquidity on NSE is typically 10:30 AM to 2:30 PM. This is when spreads are tightest, depth is highest, and your orders have the best chance of getting filled at a fair price.
Limit Orders Are Not Just About Price — They're About Crossing the Spread
Here's the most underused insight in retail trading. A limit order placed inside the spread doesn't just protect you from overpaying — it can actually eliminate the spread cost entirely.
If Borosil Renewables is showing bid ₹498, ask ₹501, and you place a buy limit at ₹499.50, you're not the passive order anymore — but you're also not paying the full ask. If a seller comes in and hits your bid, you've effectively cut the spread in half. You saved ₹1.50 per share versus just hitting the market order.
Market orders on illiquid scrips are a tax you volunteer to pay. On Reliance or Infosys, fine — hit market, the spread is negligible. But on anything below, say, ₹50 crore in daily turnover, always use a limit order. Set it a few ticks inside the current ask on the buy side. You might not fill immediately, but when you do, you've already won part of the trade.
Before You Place Your Next Order, Check This
The spread is one of the three major friction costs in Indian equity trading — alongside brokerage and STT. Unlike STT, which is fixed and regulated, and brokerage, which you've already negotiated with your broker, the spread is something you can actively manage with order placement strategy.
Before every trade in a small or mid-cap name, pull up the full order book — Level 2 depth on Kite shows the top 5 bids and asks. Count the spread in percentage terms, not rupees. If it's above 0.3% and you're trading intraday, do the round-trip math. Ask whether the setup you're trading has enough expected move to actually clear that friction cost and still leave profit on the table.
Most don't. That's not a reason to stop trading small-caps. It's a reason to be more selective, use limit orders deliberately, and avoid the first and last 15 minutes unless your edge is specifically in that chaos. Every rupee you don't pay in spread is a rupee that stays in your account — no view required, no prediction needed.
