{"slug":"self-hosted-a-share-quant-workbench","qid":"quote_costs","label":"What crossing the spread costs: average quoted spread, six US listings, midday 17 June 2026","post_title":"Self-Hosted A-Share Quant Workbench, Explained","post_url":"/blog/self-hosted-a-share-quant-workbench#q-quote_costs","columns":["symbol","spread_bps"],"rows":[{"symbol":"SPY","spread_bps":0.29},{"symbol":"AAPL","spread_bps":1.02},{"symbol":"NVDA","spread_bps":1.03},{"symbol":"MSFT","spread_bps":1.04},{"symbol":"KO","spread_bps":1.56},{"symbol":"F","spread_bps":6.98}],"shape":"ranking","sql":"SELECT\n    ticker                                                                       AS symbol,\n    round(avg(toFloat64(ask_price) - toFloat64(bid_price))\n          / avg((toFloat64(ask_price) + toFloat64(bid_price)) / 2) * 10000, 2)   AS spread_bps\nFROM global_markets.cache_stocks_quotes\nWHERE ticker IN ('SPY', 'AAPL', 'MSFT', 'NVDA', 'KO', 'F')\n  AND sip_timestamp >= toDateTime('2026-06-17 15:00:00', 'UTC')\n  AND sip_timestamp <  toDateTime('2026-06-17 16:00:00', 'UTC')\n  AND bid_price > 0\n  AND ask_price > bid_price\nGROUP BY ticker\nORDER BY spread_bps","computed_at":"2026-08-13T16:46:26.109007+00:00","elapsed":0.002557826}