{"slug":"mutual-funds-vs-etfs","qid":"spread_cost","label":"Quoted bid-ask spread by fund: venue quotes, 11:00 to 13:59 ET, July 22, 2026","post_title":"Mutual Funds vs ETFs: What Actually Differs","post_url":"/blog/mutual-funds-vs-etfs#q-spread_cost","columns":["ticker","quote_count_millions","median_spread_bps","p90_spread_bps"],"rows":[{"ticker":"XLU","quote_count_millions":0.07,"median_spread_bps":2.19,"p90_spread_bps":2.19},{"ticker":"AMLP","quote_count_millions":0.02,"median_spread_bps":1.83,"p90_spread_bps":3.65},{"ticker":"VNQ","quote_count_millions":0.21,"median_spread_bps":1.01,"p90_spread_bps":1.01},{"ticker":"VOO","quote_count_millions":0.27,"median_spread_bps":0.58,"p90_spread_bps":0.73},{"ticker":"QQQ","quote_count_millions":0.91,"median_spread_bps":0.42,"p90_spread_bps":0.57},{"ticker":"IWM","quote_count_millions":0.53,"median_spread_bps":0.34,"p90_spread_bps":0.68},{"ticker":"SPY","quote_count_millions":0.79,"median_spread_bps":0.27,"p90_spread_bps":0.27}],"shape":"ranking","sql":"SELECT ticker,\n       round(count() / 1000000, 2) AS quote_count_millions,\n       round(quantileDeterministic(0.5)(20000 * toFloat64(ask_price - bid_price) / toFloat64(ask_price + bid_price),\n                                        cityHash64(sip_timestamp)), 2) AS median_spread_bps,\n       round(quantileDeterministic(0.9)(20000 * toFloat64(ask_price - bid_price) / toFloat64(ask_price + bid_price),\n                                        cityHash64(sip_timestamp)), 2) AS p90_spread_bps\nFROM global_markets.cache_stocks_quotes\nWHERE ticker IN ('SPY', 'VOO', 'QQQ', 'IWM', 'VNQ', 'XLU', 'AMLP')\n  AND toDate(toTimeZone(sip_timestamp, 'America/New_York')) = toDate('2026-07-22')\n  AND toHour(toTimeZone(sip_timestamp, 'America/New_York')) BETWEEN 11 AND 13\n  AND bid_price > 0\n  AND ask_price > bid_price\n  AND toFloat64(ask_price - bid_price) / toFloat64(ask_price) < 0.05\nGROUP BY ticker\nORDER BY median_spread_bps DESC","computed_at":"2026-08-02T08:03:07.967310+00:00","elapsed":0.002989553}