Bid-Ask Spread Percentage: A Step-by-Step Calculation Method
A bid-ask spread of $0.01 has different execution significance at $10 and $500. In the first case, the quoted spread equals 10 basis points. In the second, it equals 0.2 basis points. The absolute spread is identical.
Garrett Croft·Updated: August 12, 2026·15 min read

The transaction cost is not.
Bid ask spread percentage converts the quoted price difference into a normalized liquidity metric. It allows traders to compare stocks with different prices, share sizes, and volatility profiles. The calculation also provides a baseline for estimating slippage, round-trip costs, and the minimum price movement required to offset execution friction.
The metric has two common forms:
- The retail calculation divides the spread by the ask price.
- The institutional and academic calculation divides the spread by the midpoint price.
Both methods are valid. They serve different reporting conventions. The formula must be identified before comparing results.
Defining the Bid-Ask Spread as a Transaction Cost
The quoted market contains two primary prices:
- Bid: The highest current price available from buyers.
- Ask: The lowest current price available from sellers.
The absolute spread is:
Absolute Spread = Ask Price − Bid Price
Assume a stock displays:
- Bid: $24.98
- Ask: $25.00
The absolute spread is:
$25.00 − $24.98 = $0.02
A market order that buys at the ask and later sells at the bid crosses the quoted spread. The execution begins with a $0.02 disadvantage per share, before commissions, fees, price movement, and additional slippage.
This is a direct cost for short-horizon strategies. A day trader entering and exiting a position must generate price movement greater than the combined execution costs. A strategy with a small expected move and a wide relative spread has negative expectancy before its win rate is considered.
The spread is not fixed during the trading session. It changes with:
- Displayed liquidity at the best bid and ask.
- Trading volume.
- Volatility.
- News releases.
- Market opening and closing conditions.
- Order flow imbalance.
- Latency between quote updates and order submission.
- The number of participants at each price level.
A Level 2 screen can show multiple price levels, but the bid-ask spread percentage normally uses the best displayed bid and best displayed ask at a specific time. It is a top-of-book metric. It does not measure the full depth of the order book.
The quoted spread is the entry-level liquidity cost. It is not a complete execution-cost model.
For a liquid large-cap stock, a spread of 15 basis points or less is typical according to the supplied market reference. Small-cap stocks can exceed 500 basis points. The difference is material. A 15-basis-point spread and a 500-basis-point spread cannot support the same scalping parameters, even if both securities show active prints.
Retail Bid-Ask Spread Percentage Formula
The retail method uses the ask price as the denominator:
Bid-Ask Spread Percentage = ((Ask Price − Bid Price) / Ask Price) × 100
Using the $24.98 bid and $25.00 ask:
1. Calculate the absolute spread.
$25.00 − $24.98 = $0.02
2. Divide the spread by the ask price.
$0.02 / $25.00 = 0.0008
3. Convert the result into a percentage.
0.0008 × 100 = 0.08%
The bid-ask spread percentage is therefore 0.08% under the retail method.
The same result can be expressed in basis points:
0.08% × 100 = 8 basis points
Since 100 basis points equal 1%, the conversion is:
Basis Points = Percentage × 100
The retail method is convenient when a trading platform, educational resource, or screening tool uses the ask price as its reference. It is simple to calculate and sufficient for basic comparisons.
However, the ask price is not always the best neutral reference. The ask is one side of the market. It reflects the lowest displayed selling price, not the center of the quoted market.
Example with a lower-priced stock
Assume:
- Bid: $9.95
- Ask: $10.00
The absolute spread is:
$10.00 − $9.95 = $0.05
Retail calculation:
($0.05 / $10.00) × 100 = 0.50%
The spread is 0.50%, or 50 basis points.
A long entry at $10.00 followed by an immediate exit at $9.95 produces a $0.05 loss per share before the stock changes direction. The stock must move by more than 0.50% in the trader's favor to offset the one-way quoted spread. A complete buy-sell round trip can require more movement, depending on the exit price and the spread at that time.
Example with a higher-priced stock
Assume:
- Bid: $499.99
- Ask: $500.00
The absolute spread remains $0.01.
Retail calculation:
($0.01 / $500.00) × 100 = 0.002%
In basis points:
0.002% × 100 = 0.2 basis points
The two examples show why absolute spread alone is insufficient. The first stock has a $0.05 spread and a 50-basis-point relative cost. The second has a $0.01 spread and a 0.2-basis-point relative cost.
The dollar difference is only four cents. The percentage difference is 49.8 basis points.
Institutional and Midpoint-Based Calculation
The institutional and academic method uses the midpoint of the bid and ask:
Midpoint = (Bid Price + Ask Price) / 2
The relative spread formula is:
Relative Spread = ((Ask Price − Bid Price) / Midpoint Price) × 100
Using the first example:
- Bid: $24.98
- Ask: $25.00
The midpoint is:
($24.98 + $25.00) / 2 = $24.99
The absolute spread is:
$0.02
The midpoint-based spread percentage is:
($0.02 / $24.99) × 100 ≈ 0.0800%
The result is close to the retail calculation because the bid and ask are close together. The difference becomes more relevant when the spread is large relative to the price.
For the $9.95 bid and $10.00 ask:
- Midpoint: ($9.95 + $10.00) / 2 = $9.975
- Absolute spread: $0.05
- Relative spread: ($0.05 / $9.975) × 100 ≈ 0.5013%
The retail method produces 0.50%. The midpoint method produces approximately 0.5013%. The numerical difference is small in this example, but consistency remains necessary when tracking execution quality or comparing securities.
| Measurement method | Formula | Primary use | Reference price | ||
|---|---|---|---|---|---|
| Absolute spread | Ask − Bid | Dollar cost per share | None | ||
| Retail spread percentage | ((Ask − Bid) / Ask) × 100 | Basic retail comparison | Ask | ||
| Midpoint relative spread | ((Ask − Bid) / Midpoint) × 100 | Institutional and academic analysis | Midpoint | ||
| Effective spread | 2 × \ | Trade Price − Midpoint\ | Actual execution quality | Execution price and midpoint |
The midpoint is also used in execution analysis because it represents the center of the displayed quote. A buy order executed above the midpoint incurs a positive execution cost relative to that reference. A sell order executed below the midpoint incurs the same type of cost.
The midpoint does not guarantee execution. It is a benchmark. The displayed quote can change before an order reaches the venue. This is where latency and queue position affect the difference between the quoted spread and the realized cost.
Converting Spread Percentage into Basis Points
Basis points provide a compact unit for comparing small percentage changes.
- 1 basis point = 0.01%
- 100 basis points = 1%
- 500 basis points = 5%
The conversion from percentage to basis points is:
Spread in Basis Points = Spread Percentage × 100
The conversion from basis points to percentage is:
Spread Percentage = Basis Points / 100
Examples:
| Bid-ask spread percentage | Basis-point equivalent |
|---|---|
| 0.002% | 0.2 bps |
| 0.01% | 1 bps |
| 0.05% | 5 bps |
| 0.15% | 15 bps |
| 0.50% | 50 bps |
| 5.00% | 500 bps |
Basis points are useful for strategy benchmarking because they can be compared directly with:
- Average trade profit.
- Average adverse excursion.
- Commission and exchange fees.
- Slippage per share.
- VWAP deviation.
- Expected price movement.
- Daily drawdown limits.
- Strategy win rate.
Assume a scalping system produces an average gross gain of 12 bps per completed trade. The quoted spread is 8 bps. Commissions, fees, and slippage add another 5 bps. The expected net result is negative:
12 bps gross gain − 8 bps spread − 5 bps additional costs = −1 bps
The strategy can maintain a high win rate and still lose money if its average winner does not exceed its full execution cost.
A second example:
- Average gross move: 40 bps.
- One-way quoted spread: 10 bps.
- Estimated entry and exit slippage: 6 bps combined.
- Fees and commissions: 4 bps.
Estimated net movement:
40 − 10 − 6 − 4 = 20 bps
This is a simplified model. It does not account for spread expansion during the trade or partial fills. It does establish the correct measurement sequence: calculate gross movement first, then subtract the cost components.
A spread is acceptable only relative to the strategy's expected movement, holding period, and execution model.
For passive limit orders, the trader may avoid crossing the full quoted spread. The order can receive a fill at the bid, ask, or inside the spread. The cost is then determined by the execution price, queue position, fill probability, and adverse selection. A limit order that receives no fill has no spread cost, but it also has no completed trade.
Effective Spread and Actual Execution Cost
The quoted spread describes the market before execution. The effective spread measures the execution that occurred.
The effective spread is:
Effective Spread = 2 × |Trade Price − Midpoint Price|
The midpoint is calculated from the quote available at the relevant execution time. The 2× factor is the defining feature of the metric. A fill that lands one side of the midpoint is paired with the symmetrical cost on the opposite side when the position is closed. A trader who buys above the midpoint must, on average, sell below it later. The doubling captures both halves of the round trip.
Assume:
- Bid: $24.98
- Ask: $25.00
- Midpoint: $24.99
- Buy execution: $25.00
The distance between the fill and the midpoint is:
$25.00 − $24.99 = $0.01
Expressed in basis points against the midpoint:
($0.01 / $24.99) × 10,000 ≈ 4 basis points
The effective spread is:
2 × $0.01 = $0.02, or 2 × 4 bps = 8 basis points
The effective spread equals the quoted spread in this case, expressed against the midpoint reference.
Now assume the buy order executes at $24.995, inside the displayed quote:
Distance from midpoint = $24.995 − $24.99 = $0.005
In basis points:
($0.005 / $24.99) × 10,000 ≈ 2 basis points
The effective spread is:
2 × $0.005 = $0.01, or 2 × 2 bps = 4 basis points
The effective spread is $0.01. It is lower than the $0.02 quoted spread.
A third case, expressed entirely in basis points:
- Midpoint: $24.99
- Buy execution lands 12 basis points above the midpoint.
The midpoint distance is 12 bps. Applying the stated formula, the effective spread is:
Effective Spread = 2 × 12 bps = 24 basis points
A fill that sits 12 bps away from the midpoint produces a 24 bp effective spread once the doubling is included. Omitting the 2× factor halves the measured cost, and that is one of the most common reporting errors in execution analysis. The midpoint distance on entry is not the round-trip cost. The round-trip cost is twice that distance.
How execution improves or worsens the effective spread
The effective spread can move in either direction from the quoted spread:
- Lower than the quoted spread: midpoint peg orders, price improvement, hidden liquidity, dark pool executions inside the displayed market, or routing to a venue with tighter micro-structure.
- Higher than the quoted spread: latency between quote capture and order arrival, quote movement between order submission and fill, partial fills at multiple price levels, and adverse selection against informed flow.
The quoted spread is therefore not always the exact amount paid by the trader. It is a reference to displayed liquidity. The effective spread uses the actual trade price.
Quoted spread versus effective spread
| Metric | What it measures | Data required | Main limitation |
|---|---|---|---|
| Quoted spread | Best displayed ask minus best displayed bid | Top-of-book quote | Does not include actual fill price |
| Relative quoted spread | Quoted spread normalized by midpoint or ask | Top-of-book quote and price reference | Sensitive to quote changes |
| Effective spread | 2 × execution distance from midpoint | Trade price and synchronized quote | Requires accurate timestamp alignment |
| Realized spread | Execution outcome after subsequent price movement | Trade, quote, and post-trade data | More complex and time-dependent |
| Implementation shortfall | Total difference between decision price and final execution | Decision timestamp and order records | Includes broader execution effects |
A platform or broker report may use one of these metrics without labeling it clearly. Execution analysis should identify the benchmark, timestamp, and denominator.
For high-frequency or low-latency strategies, quote synchronization is a technical requirement. A midpoint captured several hundred milliseconds away from the fill may not represent the market available when the order was executed. During rapid price movement, the resulting effective spread calculation can be distorted.
The minimum dataset for a basic execution review includes:
- Symbol.
- Side: buy or sell.
- Order quantity.
- Fill price.
- Fill timestamp.
- Best bid at the fill timestamp.
- Best ask at the fill timestamp.
- Midpoint.
- Route or venue, if available.
- Partial-fill information.
- Order submission and acknowledgment timestamps.
The analysis should separate:
1. Quoted cost: The displayed spread at order time.
2. Execution cost: The difference between the fill and the midpoint.
3. Timing cost: Price movement between decision and submission.
4. Market impact: Price movement caused by the order's interaction with available liquidity.
5. Fee cost: Commissions, exchange fees, rebates, and routing charges.
These components should not be merged into a single spread percentage. A wide spread can increase execution cost, but latency and market impact can create additional losses even when the quoted spread is narrow.
Liquidity Profiles: Large-Cap Versus Small-Cap Spreads
The bid-ask spread percentage is a liquidity indicator, not a complete liquidity measurement.
A narrow spread generally indicates lower immediate transaction cost. It does not prove that sufficient size is available at the best prices. A stock can display a one-cent spread with only a small number of shares at the bid and ask. A larger order can consume multiple levels of the order book and produce substantial slippage.
A wider spread generally increases the cost of marketable orders. It also indicates that the best bid and ask are farther apart relative to the stock price. The effect is more severe for strategies targeting small intraday moves.
The supplied market reference identifies these broad profiles:
- Large-cap stocks often show spreads of 15 basis points or less.
- Small-cap stocks can show spreads exceeding 500 basis points.
These are not universal limits. Spread behavior varies by venue, session period, market condition, and security. The figures are reference ranges, not fixed classifications.
Large-cap execution profile
Large-cap securities commonly provide:
- Higher displayed volume.
- More price levels near the midpoint.
- Lower relative spread percentages.
- More stable top-of-book conditions during normal trading.
- Lower expected cost for small marketable orders.
The main risk is not always the spread itself. During scheduled news, earnings, or volatility expansion, the spread can widen rapidly. A strategy calibrated on midday conditions can produce different results at the open or during a news release.
Small-cap execution profile
Small-cap securities can produce:
- Wider relative spreads.
- Lower displayed depth.
- Larger price gaps between consecutive levels.
- Higher slippage for market orders.
- Greater sensitivity to order size.
- Higher execution variance.
A 500-basis-point spread represents 5% of the ask-based reference price. If the expected trade movement is 2%, the quoted spread alone exceeds the target movement. The trade has no positive cost structure unless the execution model uses passive orders, price improvement, or a materially different expected move.
This is not a forecast of price direction. It is a transaction-cost constraint.
A Step-by-Step Calculation Workflow
A consistent workflow prevents denominator errors and separates quoted liquidity from realized performance.
1. Capture the best bid and ask
Record the best displayed bid and ask at the same timestamp.
Example:
- Bid: $9.95
- Ask: $10.00
Do not combine a bid from one timestamp with an ask from a later quote. This can create a synthetic spread that never existed in the market.
2. Calculate the absolute spread
Absolute Spread = Ask − Bid
$10.00 − $9.95 = $0.05
This is the immediate displayed price difference per share.
3. Calculate the midpoint
Midpoint = (Bid + Ask) / 2
($9.95 + $10.00) / 2 = $9.975
The midpoint provides the neutral reference for the institutional calculation.
4. Calculate the percentage using the selected convention
Retail method:
($0.05 / $10.00) × 100 = 0.50%
Midpoint method:
($0.05 / $9.975) × 100 ≈ 0.5013%
Record which formula was used. Do not compare a retail percentage against a midpoint percentage drawn from a different source. The denominator must be aligned before any spread comparison is made.
5. Convert the spread into basis points
For the retail figure:
0.50% × 100 = 50 basis points
For the midpoint figure:
0.5013% × 100 ≈ 50.13 basis points
6. Calculate the effective spread after execution
Effective spread:
2 × |Trade Price − Midpoint|
If the trade fills at the ask ($10.00):
2 × ($10.00 − $9.975) = $0.05, or 2 × 50.13 bps ≈ 100.26 bps
The effective spread in this scenario equals the quoted spread because the fill lands at the displayed ask. Any partial improvement or slippage relative to that ask adjusts the effective spread accordingly.
The Practical Boundary of the Metric
The bid-ask spread percentage is a compact diagnostic. It quantifies the immediate friction of crossing the displayed market. It does not describe:
- Order book depth beyond the top-of-book.
- The probability of fill at a limit price.
- The variance of fill prices during fast markets.
- The cost of trading through multiple price levels for larger orders.
A 5-basis-point spread with 200 shares at the bid and ask is not the same execution environment as a 5-basis-point spread with 5,000 shares at the top of book. The percentage metric sees them as identical. The trader who places a 1,000-share market order sees the difference immediately.
For this reason, the spread percentage is a starting point, not a verdict. Combine it with depth data, time-of-day patterns, and the strategy's order-size profile before treating it as a fixed transaction cost.