Bid Ask Spreads and Quote Sizes for SGX Iron Ore Futures


In practice, a liquid financial market is defined as one in which trades can be executed rapidly and at low costs (BIS, 1999). Measuring liquidity is complex – it depends on the size of trades, timing, venue, and counterparties. However, understanding liquidity and its underlying factors is greatly beneficial to participants and decision makers operating in any market as it directly impacts trading performance and feasibility. For example, trading costs could be higher on a day with lower volumes as compared to another day with more activity.


This post seeks to investigate the relationship between two of the most commonly used measures of liquidity by participants in financial markets – bid/ask spreads and top of book quote size. There has been similar research done in this field previously – Frank and Garcia (2011) found that daily volumes were negatively related to bid/ask spreads in live cattle and hog futures markets. We aim to explore the significance and extent of this relationship within short intraday timeframes using historical futures tick data for SGX iron ore futures – a increasingly popular Asian commodity futures contract. In addition, we showcase a useful way of visualizing the data for monitoring these measures on a weekly basis.



The bid/ask spread directly measures trading costs as the difference between the bid and ask prices on the limit order book. In this post, This can be easily calculated at each point in time using the following formula:


Bid Ask Spread = Best Ask Price – Best Bid Price


The quantity of securities that can be traded at the bid and ask prices indicates the depth of the market and complements the bid/ask spread as a measure of market liquidity. A simple indicator of this quantity is the top of book quote size, which is the quantity of securities that is offered for sale at the first posted level of bid and ask prices. This is calculated at each point in time using the following formula:


Top of Book Quote Size = Quote Size for Best Bid Price + Quote Size for Best Ask Price


For our analysis, we used one week’s worth of tick data for SGX iron ore futures to compute these two liquidity metrics. This comprises of market data with second-based time stamps that shows prices and volumes for every trade and change to the best bid and ask from 30th June to 7th July 2017:


Fig 1 – Tick Data for SGX Iron Ore Futures


Next, we compute 5 minute time weighted average values on spreads and quote sizes to smoothen out the distribution within the data. Time weighted averages are computed using the following formula:


Time Weighted Average  = $\sum_{1}^{n}\frac{t_{1}c_{1} + t_{2}c_{2} + … + t_{n}c_{n}}{t_{1} + t_{2} + … + t_{n}}$

Where c = Value at each timestamp

And t = Time difference the current and previous timestamp

And $\sum_{1}^{n}t_{1} + t_{2} + … + t_{n}$ = 5 minutes



First, we consider the distribution of 5-minute time weighted average values for bid/ask spreads and their corresponding top of book sizes for the SGX Iron ore Q7 contract over the week of 30th June to 7th July 2017. We also consider that market liquidity could vary across different parts of the day and split the data by different trading sessions in Singapore/HK time, where the morning session refers to hours between 8am to 1pm and the afternoon session refers to hours between 1pm to 8pm. The histograms and boxplots below showcase the distribution of bid/ask spreads and size up for trade at different timeframes.


Fig 2 – Distribution of Time Weighted Average Bid/Ask Spreads


Fig 3 – Distribution of Time Weighted Average Top of Book Size


Judging from the graphs, it appears that SGX iron ore futures have higher top of book size in the morning compared to the afternoon. Although there does not seem to be much of a difference in median bid/ask spreads, the boxplots show a negative skew for afternoon data with the 75th percentile at 0.6% of mid-price vs 0.4% for the morning. Finally, we perform Welch’s two sample t-test to validate the statistical significance of whether values for spreads and top of book sizes are different on average across sessions.


t = 1.8215, df = 734.31, p-value = 0.06894

alternative hypothesis: true difference in means is not equal to 0

95 percent confidence interval:

-0.0001590477  0.0042470143

sample estimates:

mean of x   mean of y

0.008770679 0.006726696

Fig 4 – Results: Welch’s Test for Time Weighted Average Bid/Ask Spreads


t = 6.861, df = 985.51, p-value = 1.207e-11

alternative hypothesis: true difference in means is not equal to 0

95 percent confidence interval:

5.098404 9.183252

sample estimates:

mean of x mean of y

28.85720  21.71638

Fig 5 – Results: Welch’s Test for Time Weighted Average Top of Book Size


For bid/ask spreads, we obtained a p-value greater than 0.05, which suggests that means are significantly similar between sessions. However, the t-test for top of book size produced a tiny p-value and we can conclude that mean top of book size is significantly different across sessions.


Statistical Analysis

In summary, we found evidence to show that top of book size was significantly higher in the morning than in the afternoon sessions, but not for bid/ask spreads. However, the distribution for bid/ask spreads still shows a pronounced negative skew, which suggests that the afternoon trading does have potential for wider spreads than the morning.

The contour plot below provides an effective way of visualizing historical data for these metrics across morning (gold) and afternoon (green) sessions, can be a useful tool for monitoring them on a regular basis.



Fig 6 – Density Plot of Time Weighted Average Values for Bid/Ask Spreads and Size Up for Trade


Model and Results

So, how tight would we expect the bid/ask spread to be for a given top of book size? To get a sense of this, we first assume that the relationship between the two variables is linear. In line with Frank and Garcia’s research in livestock futures markets, we expect to find a negative relationship between bid/ask spread and top of book size, by fitting a simple linear regression through our time weighted data using time weighted average volumes as the predictor variable and time weighted average bid/ask spreads as the dependent variable. ANOVA tables for morning and afternoon sessions as well as the full data are shown below.


Fig 7 – Regression Analysis using Morning Session Data
Fig 8 – Regression Analysis using Afternoon Session Data


Fig 9 – Regression Analysis using Full Day Data


All p-values were much smaller than 0.05, therefore all were statistically significant. Slope coefficients were negative, but they were also very small. Among all 3 models, fitting the model on morning session data produced the steepest slope and largest intercept. The slope coefficient suggests that for every incremental lot size on top of book, the bid/ask spread decreases by 0.025%. This is unsurprising given that the models had small R squares, which suggests that top of book size only accounts for a small proportion in the variation of bid ask spreads.



Although all regression models were statistically significant, the statistical relationship between bid/ask spreads and size was much smaller than we expected. However, liquidity analysis is a complex field in finance and future improvements to this study should expand the scope of variables to other important liquidity factors such as market impact and arrival time. In addition, it would be interesting to see this analysis extended to other global futures markets too.



  • BIS (1999) “Market Liquidity: Research Findings and Selected Policy Implications”, Report for the CGFS <>
  • Frank, Julieta and Garcia, Philip (2009) “Bid-Ask Spreads, Volume, and Volatility: Evidence from Livestock Markets”, Agricultural and Applied Economics Association, 2009 AAEA and ACCI Joint Meeting <>