Evaluating Bid-Ask Spreads with Liquidity and Volatility
Summary
The discussion asks how to classify a bid-ask spread as favorable for scalping or ordinary day trading, especially when comparing low-priced, thinly traded OTC shares with more liquid stocks. It notes that absolute spread size can mislead: a wider spread in dollars may be small relative to the share price, while displayed bid and ask sizes and the chance of the spread narrowing also matter.
One proposed framework models bid and ask queues as being depleted by Poisson processes and new orders as arriving at rates that depend on displayed queue sizes. Expected times to depletion or replenishment can then inform whether to wait for a more favorable price or submit a market order. The responses caution that tick size and bid-ask imbalance matter, and point to queue-reactive and liquidity-based execution models. Other suggestions compare spread with volatility or with a historical average. These are starting points rather than universal thresholds; results depend on assumptions, market conditions, and the chosen observation window.
Key ideas
- Absolute spread size alone is not enough to compare securities with different prices and liquidity.
- A queue model can estimate the time until displayed bid or ask liquidity is consumed or replenished.
- Relative spread, volatility, queue imbalance, and tick size can inform execution decisions.
- Historical average spreads provide a reference, but the window and market regime affect its usefulness.
Tags
Full text
# Differentiate a good from a bad bid-ask spread
# Differentiate a good from a bad bid-ask spread
Is it possible to weight the bid-ask spread? I'll explain ...
In the moment, for a share X, to trade I use the price, volume, $ volume, # trades, % chg and the bid-ask spread (BAS). To make day trading on the OTC market, it is quite easy to judge humanly what differentiates a good from a bad BAS. However, it is not so easy to program it. How can we describe a good from a bad BAS mathematically?
As far as I'm concerned, if the BAS is large enough, then it is good to do scalping strategy and if it is small enough, then it is good for standard day trading. How could we define 'large enough' and 'small enough' mathematically? Any help?
I give you an example :
```
Share bidPrice bidSize askPrice askSize
1 0.0004 4499998 0.001 11203000
2 1.86 875 1.88 1200
```
Do you understand that even if `1.88 - 1.86 = 0.02 > 0.001-0.0004 = 0.0006`, I prefer to buy 1000$ of the second action than the first one? The probability that the BAS(action 1) becomes small enough is lower than the BAS(action 2) becomes small enough.
BAS, askSize, bidSize, and volatility are probably variables to consider.
## Answer by lehalle (score 3)
https://quant.stackexchange.com/a/38832
It seems that you want to minimize your regret and that you have a liquidity consumption/provision model in mind. Let me try this:
- you see $(P_A,Q_A)$ at the ask and $(P_B,Q_B)$ at the bid
- you strongly believe that the bid and the ask are consumed by two Poisson processes of respective intensities $\lambda_B$ and $\lambda_A$
- and you believe that the insertion of a limit order in the front of the best bid (resp. best ask) is a Poisson process too with an intensity $f(Q_{B/A})$ where $f$ is an increasing function applied to $Q_B$ or $Q_A$.
Under these assumptions, as far as no limit is consumed or created:
- on average the ask and bid will be fully depleted in $\tau^-_{A/B}$ seconds such that
$$\tau^-_{A/B}={Q_{A/B} \over \lambda_{A/B}}.$$
- on average an order will be inserted resp. Inserted at the bid and ask in $\tau^+_{B/A}$ seconds such that.
$$\tau^+_{B/A}={1\over f(Q_{B/A})}.$$
Then you can take the decision you want, here for a buy order:
- if on average the price will come in your direction, ie $\tau^-_B$ or $\tau^+_{A}$ are the smallest of all the average durations: wait
- else: send a market order.
The problem is that I do not agree with you.
- first of all, you forget to specify the tick: if the spread equals one tick, no possible insert
- then, the Queue Reactive Model (Huang, L & Rosenbaum (2015). Simulating and analyzing order book data: The queue-reactive model. Journal of the American Statistical Association, 10 (509)). specifies these kind of intensities, the imbalance between the bid and ask should play a role.
- moreover, Optimal liquidity-based trading tactics, by L, Mounjid & Rosenbaum solves carefully your problem under more rigorous assumptions. Just have a look at it!
## Answer by dm63 (score 1)
https://quant.stackexchange.com/a/38506
I think what matters is the size of the BAS versus the volatility of the underlying stock. If that ratio is small, it's better to be a price taker. If it is wide , it is better to be a price maker. I would say that the ratio BAS/daily volatility would need to be lower than 5 percent to be considered low.
## Answer by J_P (score 0)
https://quant.stackexchange.com/a/38494
Let's say you have an array of previous n BAS: BAS[n] If you calculate the average of these BAS (the simple average):
```
Avg=(BAS[0]+BAS[1]+...+bas[n-1])/n
```
You have a reference to compare your current BAS with the average one, to see if it´s large enough, or small enough.
The difficult part here is to know how many BAS values take in account in the average, but some tests will give you that.Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)
This summary was written by Stratmill's research agent from the original; it is not a copy of the source.