Kosten voor het verhandelen van aandelen
Commissies zijn nul, maar elke transactie betaalt de bid-ask spread. Bekijk de werkelijke kosten in basis points voor twaalf bekende aandelen en ETF's.
De kosten voor het verhandelen van aandelen zijn niet gedaald naar nul toen de commissies dat deden. Elke verhandelbare order betaalt nog steeds de bid-ask spread — het verschil tussen de hoogste prijs die kopers willen betalen en de laagste prijs die verkopers accepteren — waarbij de helft aan de ene zijde en de helft aan de andere zijde wordt verdiend. Deze pagina meet deze kosten in basis points voor twaalf aandelen en ETF's voor particulieren, op basis van quote-data op tick-niveau, waarbij de exacte SQL achter elk getal is opgenomen.
Commissies gingen naar nul — de spread niet
Een aandeel heeft nooit één prijs; het heeft er twee. De bid is de beste actuele biedprijs; de ask is de beste actuele laatprijs. Handelen betekent op dit moment die kloof overbruggen: een market buy wordt uitgevoerd tegen de ask, een market sell tegen de bid, en het verschil blijft bij degene die de quote heeft geplaatst — meestal een professionele market maker die gedurende de hele sessie beide zijden quote. Wat een bid-ask spread is legt de volledige mechanica uit; deze pagina bepaalt de prijs hiervan.
Een hypothetisch voorbeeld maakt de rekenmethode duidelijk. Een aandeel met een quote van $20.00 bid / $20.05 ask heeft een midpoint van $20.025 — de gebruikelijke referentie voor de fair value op dat moment. Een market buy betaalt $20.05, wat 2,5 cent boven de midpoint ligt: de helft van de quoted width. Een market sell ontvangt $20.00, waarmee de andere helft wordt opgegeven. Voer beide uit — een round trip — en de volledige vijf cent blijft achter op elke share, zonder dat er ergens een commissie staat.
De professionele eenheid voor deze kosten is de basis point (bp) — één honderdste van één procent. Het citeren van de spread als een deel van de midpoint brengt een ETF van enkele dollars en een ETF van enkele honderden dollars op dezelfde schaal, en de verschillen die dit onthult zijn groter dan de meeste zero-commission traders verwachten.
De ladder van handelskosten: twaalf namen, gemeten
Hieronder staan twaalf veelgehandelde aandelen en ETF's, gerangschikt op basis van de mediane quoted spread als percentage van de midpoint. De data is gebaseerd op elke update van de NBBO — de geconsolideerde best bid en offer over alle Amerikaanse beurzen, de koers die een brokerage-app weergeeft — gemeten in een vast tijdsvenster (13:30–19:59 UTC). Dit venster komt overeen met de reguliere sessie van 9:30 a.m.–4:00 p.m. Eastern tijdens de maanden met zomertijd. Het venster bevat de meest recente voltooide sessies in onze data en stopt bewust enkele dagen voor de huidige datum, zodat dagen met een onvolledige verwerking buiten de medianen blijven. Updates met een ontbrekende zijde, of met een ask op of onder de bid, worden uitgesloten van de medianen en geteld in de laatste kolom in plaats van simpelweg te worden weggelaten.
De exacte SQL achter elk getal
SELECT ticker,
round(quantileExactIf(0.5)(toFloat64(ask_price - bid_price) / (toFloat64(ask_price + bid_price) / 2), bid_price > 0 AND ask_price > bid_price) * 10000, 2) AS typical_spread_bps,
round(quantileExactIf(0.5)(toFloat64(ask_price - bid_price), bid_price > 0 AND ask_price > bid_price) * 100, 1) AS typical_spread_cents,
round(count() / 1e6, 1) AS quote_updates_m,
round(100 * countIf(bid_price <= 0 OR ask_price <= 0 OR ask_price <= bid_price) / count(), 2) AS pct_updates_excluded
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'QQQ', 'IWM', 'AAPL', 'MSFT', 'NVDA', 'AMD', 'TSLA', 'KO', 'DIS', 'F', 'SOXS')
AND sip_timestamp >= toDateTime(today() - 10)
AND sip_timestamp < toDateTime(today() - 3)
AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
GROUP BY ticker
ORDER BY typical_spread_bpsAan de top staat SPY op 0.27 bps — een fractie van een enkele basis point — een mediaan gebaseerd op 14.9 miljoen quote updates. Op de vierde trede staat NVDA op 0.99 bps. De onderste trede, SOXS, meet 23.17 bps — en de kolom met cents is de stille les van de gehele tabel: de quoted gap is 1¢, een gap op cent-niveau gekoppeld aan de hoogste procentuele kosten in de lijst. Cents maken goedkope aandelen vlakker; basis points geven de prijs eerlijk weer.
Eén basis point is één dollar per $10.000
De bps-kolom wordt met een vaste rekenmethode omgezet naar geld: bij een order van $10.000 is één basis point gelijk aan één dollar (10.000 × 0,0001 = 1). De ladder moet worden gelezen als een prijslijst voor een round-trip per verhandelde $10.000: de bovenste trede van 0.27 bps is ongeveer $0.27; de onderste trede van 23.17 bps is ongeveer $23.17. Eén enkele transactie — enkel kopen of enkel verkopen — bedraagt de helft van elk bedrag.
De frequentie bepaalt de totale kosten. Een hypothetische spread van 20 bp die één keer per week round-trip wordt verhandeld op dezelfde $10.000, komt uit op ongeveer $1.040 over 52 weken (20 × $1 × 52) — ongeveer één procent van de rekening, bij een zero commission. Dezelfde gewoonte bij een hypothetische spread van 1 bp komt uit op ongeveer $52 per jaar. De trede waarop een instrument zich bevindt, is belangrijker dan welke commission-regel dan ook.
Een mega-cap versus een leveraged inverse ETF
De onderste trede van de ladder verdient een naam, net als een mega-cap uit het bovenste derde deel. NVIDIA (NVDA) is een mega-cap semiconductor-aandeel. SOXS is de Direxion Daily Semiconductor Bear 3X shares — een leveraged inverse ETF die is ontworpen om dagelijks drie keer de tegenovergestelde beweging van een semiconductor-index te maken, met een dagelijkse reset. Beide werden over dezelfde periode op dezelfde manier gemeten:
De exacte SQL achter elk getal
WITH per_day AS (
SELECT toDate(toTimeZone(sip_timestamp, 'America/New_York')) AS et_date,
quantileExactIf(0.5)(toFloat64(ask_price - bid_price) / (toFloat64(ask_price + bid_price) / 2), ticker = 'NVDA' AND bid_price > 0 AND ask_price > bid_price) * 10000 AS nvda_bps,
quantileExactIf(0.5)(toFloat64(ask_price - bid_price) / (toFloat64(ask_price + bid_price) / 2), ticker = 'SOXS' AND bid_price > 0 AND ask_price > bid_price) * 10000 AS soxs_bps
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('NVDA', 'SOXS')
AND sip_timestamp >= toDateTime(today() - 10)
AND sip_timestamp < toDateTime(today() - 3)
AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
GROUP BY et_date
),
whole AS (
SELECT quantileExactIf(0.5)(toFloat64(ask_price - bid_price) / (toFloat64(ask_price + bid_price) / 2), ticker = 'NVDA' AND bid_price > 0 AND ask_price > bid_price) * 10000 AS nvda_bps,
quantileExactIf(0.5)(toFloat64(ask_price - bid_price) / (toFloat64(ask_price + bid_price) / 2), ticker = 'SOXS' AND bid_price > 0 AND ask_price > bid_price) * 10000 AS soxs_bps
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('NVDA', 'SOXS')
AND sip_timestamp >= toDateTime(today() - 10)
AND sip_timestamp < toDateTime(today() - 3)
AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
)
SELECT round((SELECT nvda_bps FROM whole), 2) AS nvda_spread_bps,
round((SELECT soxs_bps FROM whole), 2) AS soxs_spread_bps,
round((SELECT soxs_bps FROM whole) / (SELECT nvda_bps FROM whole), 1) AS times_wider,
(SELECT count() FROM per_day) AS sessions_measured,
round((SELECT min(soxs_bps / nvda_bps) FROM per_day), 1) AS smallest_daily_gap_xDe mediane spread van NVDA bedroeg 0.99 bps. De spread van SOXS bedroeg 23.17 bps — respectievelijk 23.3 keer zo breed. Gedurende alle 5 sessies in de periode kwam de gap in een enkele sessie nooit onder de factor 14.1. Dezelfde paren bevonden zich aan de uitersten van de semiconductor-breuk van 7 juli — een sessie die dit exacte contrast tick voor tick mat bij de ochtendminima.
De exacte SQL achter elk getal
SELECT et_date,
nvda_spread_bps,
soxs_spread_bps,
round(soxs_spread_bps / nvda_spread_bps, 1) AS times_wider
FROM (
SELECT toDate(toTimeZone(sip_timestamp, 'America/New_York')) AS et_date,
round(quantileExactIf(0.5)(toFloat64(ask_price - bid_price) / (toFloat64(ask_price + bid_price) / 2), ticker = 'NVDA' AND bid_price > 0 AND ask_price > bid_price) * 10000, 2) AS nvda_spread_bps,
round(quantileExactIf(0.5)(toFloat64(ask_price - bid_price) / (toFloat64(ask_price + bid_price) / 2), ticker = 'SOXS' AND bid_price > 0 AND ask_price > bid_price) * 10000, 2) AS soxs_spread_bps
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('NVDA', 'SOXS')
AND sip_timestamp >= toDateTime(today() - 10)
AND sip_timestamp < toDateTime(today() - 3)
AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
GROUP BY et_date
)
ORDER BY et_dateOp 2026-07-08, de eerste sessie van de periode, bedroeg de mediane quote van NVDA 1.52 bps, tegenover 21.48 bps voor SOXS — respectievelijk 14.1 keer de kosten. De volgorde verandert nooit van sessie naar sessie: de goedkope naam blijft goedkoop, de dure naam blijft duur. De positie van een naam op de kostenladder is een constante eigenschap, geen dagelijkse stemming.
Waarom een goedkoop aandeel duurder is om te verhandelen dan een duur aandeel
Een deel van het verschil wordt veroorzaakt door de marktstructuur. Amerikaanse aandelen en ETF's met een koers boven de $1 worden in stappen van één cent genoteerd. Eén cent is de kleinste spread die een koers kan hebben. Een vaste cent vertegenwoordigt een verschillende fractie van verschillende aandelenkoersen: nauwelijks zichtbaar bij een ETF van $700, maar enorm bij een aandeel van $4. De onderstaande tabel meet hoe sterk deze ondergrens beperkend werkt — het aandeel van de koerswijzigingen per naam die exact één cent groot is, wat een cent betekent in bps bij die aandelenkoers, en hoe ver de mediane spread boven de ondergrens ligt.
De exacte SQL achter elk getal
SELECT ticker,
typical_share_price,
pct_quotes_at_one_cent,
round(100 / typical_share_price, 2) AS one_cent_in_bps,
typical_spread_bps,
round(abs(typical_spread_bps - 100 / typical_share_price), 2) AS dist_from_floor_bps
FROM (
SELECT ticker,
round(quantileExactIf(0.5)((toFloat64(ask_price) + toFloat64(bid_price)) / 2, bid_price > 0 AND ask_price > bid_price), 2) AS typical_share_price,
round(100 * countIf(bid_price > 0 AND ask_price > bid_price AND abs(toFloat64(ask_price - bid_price) - 0.01) < 0.001) / countIf(bid_price > 0 AND ask_price > bid_price), 1) AS pct_quotes_at_one_cent,
round(quantileExactIf(0.5)(toFloat64(ask_price - bid_price) / (toFloat64(ask_price + bid_price) / 2), bid_price > 0 AND ask_price > bid_price) * 10000, 2) AS typical_spread_bps
FROM global_markets.cache_stocks_quotes
WHERE ticker IN ('SPY', 'AAPL', 'KO', 'F', 'SOXS')
AND sip_timestamp >= toDateTime(today() - 10)
AND sip_timestamp < toDateTime(today() - 3)
AND (toHour(sip_timestamp) * 60 + toMinute(sip_timestamp)) BETWEEN 810 AND 1199
GROUP BY ticker
)
ORDER BY typical_share_price DESCSPY, die rond de $750.32 per aandeel handelt, heeft bij 23.4% van de koerswijzigingen een spread van exact één cent — en voor het duurste aandeel in de lijst is een cent slechts 0.13 bps. In het middensegment zit KO rond de $83.82 bij de ondergrens voor 65.4% van de wijzigingen. Daarna neemt de ondergrens het volledig over: F rond de $13.86 heeft een spread van één cent bij 99% van de wijzigingen, en SOXS rond de $4.31 bij 100% — met mediane spreads binnen 0 en 0.03 bps van hun ondergrens van één cent. Voor de goedkoopste aandelen is de procentuele handelskosten simpelweg de aandelenkoers in een andere eenheid: de koers kan niet smaller worden dan één cent.
De kosten laag houden
- Limit orders stellen de prijs vast. Een market order accepteert de actuele quote; een limit order wordt uitgevoerd tegen de opgegeven prijs of beter. Een buy order die op de bid staat, incasseert de spread in plaats van deze te betalen wanneer een verkoper de order matcht — het nadeel is dat de order mogelijk nooit wordt uitgevoerd.
- De tijd is van belang. Quoted spreads zijn het breedst voor de opening, rond de sluiting en tijdens de extended hours, en het smalst tijdens de liquide middenperiode van de reguliere sessie — de intraday grafiek in onze bid-ask spread gids toont deze U-vorm op basis van echte data.
- Lees basis points, geen cents. Dezelfde cent is 0.13 bps op SPY en 23.2 bps op SOXS. Een "strakke" quote van één cent kan de duurste regel op het bord zijn.
- Tel de round trips. Elke transactie betaalt eenmaal de volledige quoted width, en de kosten stijgen mee met de turnover, niet met de grootte van de rekening of de intentie. Activiteitsindicatoren zoals relatieve volume meten wanneer een name ver boven het normale handelsvolume handelt — bij een hoge turnover stapelen de spread costs zich ongemerkt op.
FAQ
Wat zijn de kosten voor het verhandelen van een aandeel met nul commissies?
De helft van de geciteerde bid-ask spread bij de aankoop en de helft bij de verkoop. Gemeten over onze ladder met twaalf namen, varieerde deze round trip van 0.27 bps van de handelswaarde (SPY) tot 23.17 bps (SOXS) — ongeveer $0.27 tot $23.17 per verhandelde $10.000.
Wat is een basis point in dollartermen?
Eén basis point is een honderdste van één procent: $1 per $10.000, $10 per $100.000. Een spread geciteerd in bps verdubbelt als een round-trip prijs per $10.000 — een hypothetische spread van 20 bp kost ongeveer $20.
Waarom hebben leveraged ETF's zulke brede spreads in percentages?
Lage aandelenkoersen komen in aanraking met het minimale quote-increment van één cent. De goedkoopste naam op ons bord, SOXS, handelde rond de $4.31 met 100% van de quotes met een breedte van exact één cent — en een cent op die aandelenkoers is 23.2 bps van elke transactie.
Zijn bid-ask spreads relevant voor langetermijnbeleggers?
Veel minder dan voor actieve traders. Een enkele round trip op de bovenste trede van de ladder bedroeg 0.27 bps — ongeveer $0.27 per $10.000 — en het eenmaal per decennium betalen hiervan is verwaarloosbaar. De kosten schalen met de omloopsnelheid, niet met de bewaartermijn.
Is de spread de enige resterende handelskost?
Het is de kosten per transactie die elke marktorder betaalt, en de kost die deze pagina meet. Er zijn andere kostenposten: grote orders kunnen de prijs bewegen voordat ze volledig zijn uitgevoerd, fondsen rekenen expense ratios over tijd, en margin brengt rente met zich mee. Geen van deze kosten vervangt de spread; ze komen bovenop de spread.
Elk paneel hierboven bevat de exacte SQL die het heeft gegenereerd — open er een, vervang de tickers waarmee u daadwerkelijk handelt, en bereken uw eigen cost-to-trade ladder op de Strasmore terminal.