Strasmore Research
Formazione Matt ConnorDi Matt Connor · Aggiornato 2026-07-24 · data as of July 24, 2026 · refreshed weekly

Costo reale trading azioni e bid-ask spread

Le commissioni sono zero ma ogni operazione paga lo spread. Analisi dei costi in basis points su dodici titoli azionari e ETF selezionati.

Il costo per negoziare azioni non è sceso a zero con il calo delle commissioni. Ogni ordine eseguibile paga ancora lo bid-ask spread — la differenza tra il prezzo massimo offerto dai compratori e il prezzo minimo accettato dai venditori — con metà del valore che va in entrata e metà in uscita. Questa pagina misura tale costo in basis points su dodici titoli azionari e ETF domestici, utilizzando dati di quotazione a livello di tick, con la query SQL specifica per ogni numero riportata in allegato.

Le commissioni sono scese a zero — lo spread no

Un'azione non ha mai un unico prezzo; ne ha due. Il bid è la migliore offerta di acquisto disponibile; l'ask è la migliore offerta di vendita disponibile. Operare in questo momento significa colmare quel divario: un acquisto a mercato viene eseguito all'ask, una vendita a mercato al bid, e la differenza rimane a chi ha pubblicato la quotazione — molto spesso un market maker professionale che quota entrambi i lati per tutta la sessione. Cos'è un bid-ask spread ne spiega dettagliatamente la meccanica; questa pagina ne quantifica il valore.

Un esempio ipotetico rende chiari i calcoli. Un'azione quotata a $20.00 bid / $20.05 ask ha un midpoint di $20.025 — il riferimento abituale per il suo fair value in quel preciso istante. Un acquisto a mercato paga $20.05, che si trova 2,5 centesimi sopra il midpoint: metà dello spread quotato. Una vendita a mercato riceve $20.00, cedendo l'altra metà. Effettuando entrambe le operazioni — un round trip — i cinque centesimi totali rimangono su ogni azione, senza alcuna voce relativa alle commissioni.

L'unità professionale per questo costo è il basis point (bp) — un centesimo dell'un per cento. Quotare lo spread come frazione del midpoint permette di confrontare un ETF da pochi dollari e un ETF da diverse centinaia di dollari sulla stessa scala; le differenze che ne emergono sono maggiori di quanto la maggior parte dei trader a zero commissioni si aspetti.

La scala dei costi di trading: dodici titoli misurati

Di seguito sono riportati dodici titoli e ETF ampiamente scambiati, classificati in base allo spread mediano quotato come percentuale del midpoint. I dati si riferiscono a ogni aggiornamento del NBBO — il miglior bid e offer consolidato su tutte le borse statunitensi, ovvero la quotazione visualizzata dalle app di brokerage — calcolato in una finestra temporale fissa (13:30–19:59 UTC), che coincide con la sessione regolare delle 9:30–16:00 Eastern durante i mesi dell'ora legale. La finestra copre le sessioni completate più recenti nei nostri dati e si ferma deliberatamente alcuni giorni prima della data odierna, escludendo dai calcoli delle medie i giorni con dati parziali. Gli aggiornamenti con un lato mancante, o con un ask al livello o inferiore al bid, sono esclusi dalle medie e conteggiati nell'ultima colonna invece di essere semplicemente scartati.

QueryCost-to-trade ladder — median quoted spread in bps del midpoint, regular hours, session recenti completate
L'esatto SQL dietro ogni numero
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_bps

In cima troviamo SPY a 0.27 bps — una frazione di un singolo basis point — con una mediana basata su 14.9 milioni di aggiornamenti delle quotazioni. Al quarto gradino, NVDA quota 0.99 bps. L'ultimo gradino, SOXS, misura 23.17 bps — e la sua colonna dei centesimi rappresenta la lezione fondamentale dell'intera tabella: lo spread quotato è di 1¢, un divario su scala di un centesimo associato al costo percentuale più elevato del listino. I centesimi rendono più piatti i titoli economici; i basis point ne riflettono il prezzo reale.

Un basis point equivale a un dollaro ogni 10.000 dollari

La colonna bps converte il valore in denaro tramite un'aritmetica fissa: su un ordine da 10.000 dollari, un basis point equivale a un dollaro (10.000 × 0,0001 = 1). Considerate la scala come un listino prezzi round-trip per ogni 10.000 dollari scambiati: il valore di 0.27 bps sul gradino superiore corrisponde a circa $0.27; il valore di 23.17 bps sul gradino inferiore corrisponde a circa $23.17. Un singolo passaggio — solo acquisto o solo vendita — comporta la metà di ciascuna cifra.

La frequenza determina l'impatto dei costi. Uno spread ipotetico di 20 bp eseguito una volta a settimana round-trip su 10.000 dollari totalizza circa 1.040 dollari in 52 settimane (20 × $1 × 52) — circa l'uno percento del conto, con commissioni pari a zero. Lo stesso comportamento con uno spread ipotetico di 1 bp totalizza circa 52 dollari all'anno. La posizione di un titolo sulla scala è più rilevante di qualsiasi linea relativa alle commissioni.

Una mega-cap contro un ETF inverse a leva

Il gradino più basso della scala merita un nome, così come una mega-cap situata nel suo terzo superiore. NVIDIA (NVDA) è un titolo semiconductor a mega-cap. SOXS è il Direxion Daily Semiconductor Bear 3X shares — un ETF inverse a leva progettato per muoversi tre volte in direzione opposta a un indice semiconductor ogni giorno, con reset giornaliero. Entrambi misurati nello stesso intervallo temporale e con la stessa modalità:

QueryNVDA vs SOXS — median quoted spread nel periodo, con il gap minimo in singola sessione
L'esatto SQL dietro ogni numero
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_x

Lo spread mediano quotato di NVDA è stato di 0.99 bps. Quello di SOXS è stato di 23.17 bps — ovvero 23.3 volte più ampio. Durante tutte le 5 sessioni dell'intervallo, il gap della singola sessione non si è mai ridotto sotto le 14.1 volte. La stessa coppia si è trovata agli estremi del break semiconductor del 7 luglio — una sessione che ha registrato questo esatto contrasto tick per tick ai minimi mattutini.

QueryNVDA vs SOXS — median quoted spread per sessione (bps del midpoint)
L'esatto SQL dietro ogni numero
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_date

Il 2026-07-08, la prima sessione dell'intervallo, lo spread mediano di NVDA era di 1.52 bps contro i 21.48 bps di SOXS — ovvero 14.1 volte il costo. L'ordine non cambia mai da una sessione all'altra: il titolo economico rimane economico, quello costoso rimane costoso. La posizione di un titolo sulla scala dei costi è una proprietà costante, non un umore giornaliero.

Perché un'azione economica costa di più per essere scambiata rispetto a una costosa

Parte della differenza dipende dalla struttura del mercato. Le azioni e gli ETF statunitensi con prezzo superiore a un dollaro si quotano con incrementi di un centesimo, e un centesimo è il gap minimo possibile per una quotazione. Un centesimo fisso rappresenta una frazione diversa a seconda del prezzo dell'azione: è quasi invisibile per un ETF da 700 dollari, ma è enorme per un'azione da 4 dollari. La tabella seguente misura quanto sia vincolante questo limite inferiore: la percentuale di aggiornamenti delle quotazioni fissata esattamente a un centesimo, il valore di un centesimo in bps rispetto a quel prezzo e la distanza dello spread mediano rispetto al limite minimo.

QueryThe one-cent floor — prezzo dell'azione, % di quote con spread di un centesimo, costo di un penny in bps
L'esatto SQL dietro ogni numero
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 DESC

SPY, che scambia vicino a 750.32 dollari a titolo, presenta aggiornamenti con un gap di esattamente un centesimo per il 23.4% delle volte — mentre per l'azione più costosa in tabella, un centesimo corrisponde a soli 0.13 bps. Per i titoli medi, KO vicino a 83.82 dollari si trova sul limite minimo per il 65.4% degli aggiornamenti. In altri casi, il limite inferiore diventa totale: F vicino a 13.86 dollari ha un gap di un centesimo per il 99% degli aggiornamenti, e SOXS vicino a 4.31 dollari per il 100% — con spread mediani compresi tra 0 e 0.03 bps rispetto al limite di un centesimo. Per le azioni più economiche, il costo percentuale dello scambio è determinato dal prezzo dell'azione: la quotazione non può essere più stretta di un centesimo.

Ridurre i costi di transazione

  • Gli order limit fissano il prezzo. Un market order accetta la quotazione corrente; un limit order viene eseguito al prezzo indicato o a condizioni migliori. Un ordine di acquisto posizionato sul bid incassa lo spread invece di pagarlo quando un venditore lo incontra; il compromesso è che l'ordine potrebbe non essere mai eseguito.
  • Il fattore tempo è fondamentale. Gli spread quotati sono più ampi prima dell'apertura, intorno alla chiusura e durante l'extended hours, mentre sono più stretti durante la fase centrale e liquida della sessione regolare; il grafico intraday nella nostra guida allo spread bid-ask mostra la forma a U basata su dati reali.
  • Considerate i basis points, non i centesimi. Lo stesso centesimo equivale a 0.13 bps su SPY e 23.2 bps su SOXS. Una quotazione "stretta" di un centesimo può rappresentare la linea più costosa del listino.
  • Calcolate i round trips. Ogni operazione paga l'intero spread quotato una volta; i costi scalano con il turnover, non con la dimensione del conto o l'intento dell'operatore. Indicatori di attività come il volume relativo misurano quando un titolo viene scambiato molto al di sopra del suo normale — le strategie ad alto turnover sono dove i costi dello spread si accumulano silenziosamente.

FAQ

Quanto costa scambiare un'azione con commissioni zero?

Metà dello spread bid-ask quotato in entrata e metà in uscita. Misurato sulla nostra scala di dodici titoli, questo round trip variava da 0.27 bps del valore dell'operazione (SPY) a 23.17 bps (SOXS) — circa $0.27 a $23.17 per ogni $10.000 scambiati.

Quanto vale un basis point in termini di dollari?

Un basis point è un centesimo dell'un per cento: $1 su $10.000, $10 su $100.000. Uno spread quotato in bps raddoppia come prezzo round trip per ogni $10.000 — uno spread ipotetico di 20 bp costa circa $20.

Perché gli ETF a leva hanno spread così ampi in termini percentuali?

I prezzi delle azioni bassi si scontrano con l'incremento minimo di quotazione di un centesimo. Il titolo più economico della nostra bacheca, SOXS, è stato scambiato vicino a $4.31 con 100% delle sue quotazioni ampie esattamente un penny — e un penny su quel prezzo dell'azione equivale a 23.2 bps di ogni operazione.

Gli spread bid-ask sono importanti per gli investitori a lungo termine?

Molto meno rispetto ai trader attivi. Un singolo round trip sul gradino più alto della scala ha misurato 0.27 bps — circa $0.27 per $10.000 — e pagare tale cifra una volta al decennio è irrilevante. Il costo scala con il turnover, non con il periodo di detenzione.

Lo spread è l'unico costo di trading rimasto?

È il pedaggio per ogni operazione che ogni ordine marketable deve pagare, ed è quello che questa pagina misura. Esistono altri fattori: gli ordini di grandi dimensioni possono spostare il prezzo prima di essere eseguiti, i fondi applicano expense ratio nel tempo e il margin comporta interessi. Nessuno di questi sostituisce lo spread; si sommano ad esso.


Ogni pannello sopra riporta l'esatta query SQL che lo ha generato — aprine una, sostituisci i ticker che scambi effettivamente e calcola la tua scala personalizzata dei costi di trading sul terminale Strasmore.