To calculate the bid–ask spread, subtract the bid price from the ask price. A stock quoted at a $49.90 bid and a $50.10 ask has a spread of $0.20 per share. To express that spread as a percentage, divide it by the midpoint of the two prices and multiply by 100.
The arithmetic takes seconds. Interpreting the result needs more care: a spread per share is not the same as the dollar cost for an entire order, and a displayed quote is not a guaranteed execution price. This guide covers the calculations; the broader explanation of bid–ask spreads covers how the two sides of a market work.
The Bid–Ask Spread Formula
Bid–ask spread = Ask price − Bid price
Use the bid and ask for the same instrument, currency and point in time. Do not combine a current ask with an old bid, or quotes for different option contracts or futures delivery months. The subtraction might still work, but the answer would not describe a tradable spread.
Consider this hypothetical stock quote:
| Item | Value | Meaning |
|---|---|---|
| Bid price | $49.90 | Quoted price available to a seller, subject to available size |
| Ask price | $50.10 | Quoted price available to a buyer, subject to available size |
| Spread calculation | $50.10 − $49.90 | Subtract the bid from the ask |
| Quoted spread | $0.20 per share | The distance between the two prices |
For this simplified calculation, buying means paying the ask and selling means receiving the bid. The labels describe standing buy and sell quotations, not the direction of your planned trade. The distinction follows the SEC’s bid and ask definitions.
Keep the result in the quote’s original units before making other conversions. A $0.20 spread is twenty cents per share, not twenty dollars and not 0.20%.
Calculate the Midpoint and Percentage Spread
The midpoint provides a reference price halfway between the bid and ask:
Midpoint = (Bid price + Ask price) ÷ 2
For the example above, the midpoint is ($49.90 + $50.10) ÷ 2 = $50.00. The midpoint based percentage spread is:
Percentage spread = (Spread ÷ Midpoint) × 100
Therefore, ($0.20 ÷ $50.00) × 100 = 0.40%.
You can also express the result in basis points. Divide the spread by the midpoint and multiply by 10,000 instead of 100. Here, the spread is 40 basis points. A basis point equals 0.01 percentage points.
Label the denominator whenever you record or compare percentage spreads. Dividing by the ask rather than the midpoint produces a slightly different answer. Neither calculation should be passed off as the other. The separate guide to absolute spreads versus percentage spreads covers comparisons between differently priced instruments.
Convert the Spread Into a Dollar Amount
For shares quoted in dollars per share, multiply the spread by the number of shares:
Full spread amount = Spread per share × Number of shares
With a $0.20 spread and 200 shares, the full spread amount is $0.20 × 200 = $40. To see what that represents, assume the quote stays unchanged and enough shares are available on both sides.
Buying 200 shares at the $50.10 ask costs $10,020. Immediately selling those shares at the $49.90 bid returns $9,980. The difference is $40, before commissions or other charges.
This is a hypothetical immediate round trip, not a prediction of the result from holding the shares. If the market moves between entry and exit, the eventual profit or loss includes that price movement too.
Why a Single Trade Is Often Measured Against Half the Spread
The same purchase can be measured against the midpoint rather than an immediate resale price:
Purchase cost relative to midpoint = (Ask − Midpoint) × Shares
At $50.10, the purchase is $0.10 per share above the $50.00 midpoint. For 200 shares, that difference is $20. Selling at the unchanged $49.90 bid would create another $20 difference relative to the same midpoint.
Both descriptions are correct. The purchase alone is $20 above midpoint value, while the immediate buy and sell loses $40. Calling each side a $40 cost would count the spread twice.
The spread is embedded in the trading prices; it is not necessarily a separate debit on an account statement. Keep commissions and financing separate from this calculation. The guide to comparing total trading costs explains how those charges fit together without double counting.
Adjust for the Instrument’s Quotation Units
Subtracting bid from ask gives a price difference. Turning that difference into money requires the correct quantity, contract multiplier or unit value. This is where a correct subtraction can produce a very wrong cost estimate.
Options: Apply the Premium Multiplier
Standard U.S. equity options generally quote premiums per share and use a multiplier of 100. Check the contract details rather than assuming every option follows that convention; contract terms can be adjusted. The Options Industry Council’s overview of contract sizes and premium multipliers sets out these distinctions.
Suppose an option has a $2.40 bid, a $2.60 ask and a premium multiplier of 100. Its quoted spread is $0.20, but the full spread amount for one contract is $0.20 × 100 = $20. For three contracts, it is $60, assuming unchanged quotes and sufficient size.
Forex: Convert the Price Difference Into Pips
Suppose EUR/USD is quoted at 1.08426 bid and 1.08438 ask. Subtraction gives 0.00012. With a pip size of 0.0001, the spread is 0.00012 ÷ 0.0001 = 1.2 pips.
For a position of 10,000 euros, that price difference corresponds to $1.20: 0.00012 × 10,000. This amount is in the quote currency, U.S. dollars. Converting it into another account currency requires another calculation. See calculating forex spread costs in pips and money for the full process.
Check Whether the Quote Covers Your Order Size
A spread describes the distance between quoted prices, not how much you can trade at those prices. Record the displayed sizes alongside the bid and ask whenever you use a quote to estimate an order’s cost.
If only 100 shares are offered at $50.10, do not assume a 200 share purchase will all execute there. Prices can also change while an order travels to the market. These are two reasons the displayed quote may differ from the eventual fill, covered in the SEC’s explanation of order execution and quoted size.
For a hypothetical example, assume 100 shares fill at $50.10 and another 100 fill at $50.15. The total purchase amount is $5,010 + $5,015 = $10,025. Dividing by 200 gives an average execution price of $50.125.
That is $5 more than the $10,020 estimate based entirely on the best ask. The original quoted spread remains $0.20, but it did not describe the cost of completing the whole purchase.
For orders spanning several price levels, calculate a quantity weighted average execution price rather than applying the best quote to every unit. The relationship between available quantities and execution prices is covered in order book depth and the cost of large trades.
Calculate the Effective Spread After Execution
The quoted spread uses bid and ask prices. An effective spread calculation uses the actual execution price and a reference midpoint. It helps separate the displayed quotation from the price achieved.
For a basic marketable stock order, use the midpoint when the order was received:
Buy effective spread = 2 × (Execution price − Reference midpoint)
Sell effective spread = 2 × (Reference midpoint − Execution price)
The factor of two expresses the result on a full spread basis, rather than measuring only the trade’s distance from midpoint. These directional formulas follow the SEC’s effective spread methodology.
Return to the $49.90 bid and $50.10 ask. If a buy order executes at $50.06 against a $50.00 reference midpoint, its effective spread is 2 × $0.06 = $0.12 per share, compared with the $0.20 quoted spread.
The actual purchase is $0.06 per share above the midpoint, or $12 for 200 shares. Do not mistake the doubled effective spread statistic for a separately charged fee.
Avoid Common Calculation Errors
Using the Last Traded Price Instead of the Bid or Ask
A last trade of $50.00 does not replace either side of a current $49.90/$50.10 quote. Subtracting the last price from the ask gives $0.10, which is not the quoted spread. Use both current quotation fields.
Mixing Percentages With Decimal Ratios
Dividing $0.20 by $50.00 gives 0.004. Multiplying by 100 converts that ratio into 0.40%. If your spreadsheet already displays a ratio as a percentage, multiplying it by 100 again will overstate the result.
Rounding Too Early
Keep the precision supplied in the quote throughout the subtraction and unit conversion. Rounding both forex prices to four decimal places before calculating the spread can change the result. Round the final displayed answer, not the inputs.
Treating an Incomplete Quote as a Usable Market
A missing bid or ask does not establish a zero spread. Check whether the data is delayed, whether both sides have timestamps, and whether the prices belong to the same instrument. If the fields cannot be verified, leave the calculation unresolved rather than manufacturing a reassuring number.
Use the Result Before Submitting an Order
A useful calculation record contains the bid, ask, timestamp, quoted sizes, spread per unit and intended trade quantity. Add the midpoint and percentage spread when comparing costs, then record the actual execution price afterward.
The calculation also helps assess order choices. A limit order can control the worst acceptable execution price, but it does not guarantee a fill. An order priced inside the spread may remain unexecuted. The guide to market orders versus limit orders and paying the spread covers that trade off.
The working sequence is straightforward: subtract the bid from the ask, confirm the units, scale the result to the position, and state the assumptions. A precise answer is useful only when it measures the trade you actually intend to place.