Por que as cotações de ações têm atraso de 15 minutos
Entenda por que as cotações de ações atrasam 15 minutos, como o licenciamento de dados da bolsa define a regra e quanto a defasagem custa nos preços reais.
As cotações das ações têm atraso de 15 minutos na maioria dos sites gratuitos por uma questão de licenciamento. A infraestrutura não é lenta: o preço sai do mecanismo de negociação da bolsa e chega à tela em uma fração de segundo. Os 15 minutos são uma condição contratual prevista nos acordos que definem quem pode exibir preços em tempo real e quanto paga por isso.
De onde vem a cotação de uma ação antes de chegar até si
Uma única ação dos EUA é negociada simultaneamente em mais de uma dúzia de venues públicos, além de um volume expressivo de operações fora de bolsa que reporta os seus prints separadamente. Cada venue publica as suas próprias cotações e transações. Os planos do setor consolidam todas essas informações numa única fita: um plano cobre as ações listadas na NYSE e outro cobre as ações listadas na Nasdaq. Os processadores responsáveis por essa consolidação são os SIPs, abreviação de securities information processors. Essa fita consolidada produz a melhor oferta nacional de compra e venda, o melhor par de preços disponível em qualquer venue naquele instante, explicado em detalhe no nosso guia sobre o que é o NBBO.
As bolsas também vendem os seus próprios feeds diretos. Eles são mais rápidos e detalhados do que a fita consolidada e têm licenciamento separado.
Por que as cotações das ações têm atraso de 15 minutos: a explicação está no licenciamento
Os dados de mercado são uma fonte de receita das bolsas. Todo distribuidor de preços — uma corretora, um site, um terminal ou um aplicativo de celular — assina contratos com as bolsas e com os planos de disseminação de cotações. Esses contratos dividem os mesmos números em dois produtos. Os dados em tempo real são cobrados e reportados por usuário todos os meses. Os dados atrasados, quando têm pelo menos 15 minutos, ficam fora do regime de tempo real. Assim, o distribuidor pode oferecê-los gratuitamente sem contabilizar cada usuário.
As tabelas de tarifas acumulam várias cobranças: uma tarifa de acesso ao canal, uma tarifa mensal por usuário para cada pessoa que pode ver um preço em tempo real e tarifas de non-display para máquinas que consomem preços sem supervisão humana. As tarifas são divulgadas publicamente e mudam na maioria dos anos. Por isso, a estrutura é mais importante do que os valores deste ano. Alguém paga por usuário, todos os meses, pelos preços em tempo real. Ninguém paga por um preço com 15 minutos de atraso.
Essa é toda a explicação para a versão gratuita ser gratuita. O volume é a outra metade do custo de transportar preços em tempo real. O fluxo de cotações transmite atualizações continuamente durante o pregão. As opções são o caso extremo, como mostra o tamanho do fluxo de cotações de opções.
Quanto vale, na prática, um atraso de 15 minutos
Um atraso importa na medida em que o preço se move durante esse intervalo. Isso pode ser medido. O painel abaixo considera todas as barras de um minuto das sessões regulares do SPY, o fundo que acompanha o S&P 500, até junho de 2026, e compara cada uma com a barra 15 minutos depois. Os dados estão agrupados pela hora em que a barra inicial ocorreu.
O SQL exato por trás de cada número
WITH regular_bars AS
(
SELECT
toTimeZone(window_start, 'America/New_York') AS et,
toTimeZone(window_start, 'America/New_York') + INTERVAL 15 MINUTE AS et_later,
toFloat64(close) AS px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND close > 0
AND window_start >= '2026-06-01 00:00:00'
AND window_start < '2026-07-01 00:00:00'
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
)
SELECT
formatDateTime(toStartOfHour(a.et), '%H:%i') AS et_time,
round(quantileDeterministic(0.5)(abs(b.px / a.px - 1) * 100, toUInt64(toUnixTimestamp(a.et))), 3) AS median_gap_pct,
round(quantileDeterministic(0.95)(abs(b.px / a.px - 1) * 100, toUInt64(toUnixTimestamp(a.et))), 3) AS p95_gap_pct,
count() AS sample_count
FROM regular_bars AS a
INNER JOIN regular_bars AS b ON b.et = a.et_later
GROUP BY et_time
ORDER BY et_timeAs barras registradas na primeira hora, que começa às 9h30 ET, tiveram uma variação mediana de 0.125% nos 15 minutos seguintes, com percentil 95 de 0.556%. Na hora 15:00, a mediana foi de 0.065%. Cada faixa reúne 630 pares de minutos sobrepostos. Portanto, são valores típicos, e não o resultado isolado de um único dia. A curva não é plana. Um atraso fixo oculta mais informação em algumas horas do que em outras.
O quanto ele oculta também depende do ativo. A mesma medição, com seis tickers conhecidos, no mesmo mês.
O SQL exato por trás de cada número
WITH regular_bars AS
(
SELECT
ticker,
toTimeZone(window_start, 'America/New_York') AS et,
toTimeZone(window_start, 'America/New_York') + INTERVAL 15 MINUTE AS et_later,
toFloat64(close) AS px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'KO', 'AAPL', 'MSFT', 'NVDA', 'AMD')
AND close > 0
AND window_start >= '2026-06-01 00:00:00'
AND window_start < '2026-07-01 00:00:00'
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
)
SELECT
a.ticker AS ticker,
round(quantileDeterministic(0.5)(abs(b.px / a.px - 1) * 100, toUInt64(toUnixTimestamp(a.et))), 3) AS median_gap_pct,
round(quantileDeterministic(0.99)(abs(b.px / a.px - 1) * 100, toUInt64(toUnixTimestamp(a.et))), 3) AS p99_gap_pct
FROM regular_bars AS a
INNER JOIN regular_bars AS b ON b.ticker = a.ticker AND b.et = a.et_later
GROUP BY ticker
ORDER BY median_gap_pct DESCAMD apresentou a maior diferença típica entre os seis, de 0.361%, e SPY, a menor, de 0.071%. A coluna do percentil 99 merece atenção especial. No pior um por cento das janelas de 15 minutos daquele mês, AMD percorreu 2.532%.
A mesma ideia pode ser observada em um único dia. O painel identifica a sessão de junho de 2026 com a maior amplitude intradiária do SPY. Em seguida, traça duas linhas: a cotação em tempo real a cada intervalo de dez minutos e o valor exibido naquele momento por uma página com atraso de 15 minutos.
O SQL exato por trás de cada número
WITH
widest_session AS
(
SELECT toDate(toTimeZone(window_start, 'America/New_York')) AS d
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND close > 0
AND window_start >= '2026-06-01 00:00:00'
AND window_start < '2026-07-01 00:00:00'
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
GROUP BY d
ORDER BY (max(toFloat64(high)) - min(toFloat64(low))) / min(toFloat64(low)) DESC
LIMIT 1
),
session_bars AS
(
SELECT
toTimeZone(window_start, 'America/New_York') AS et,
toTimeZone(window_start, 'America/New_York') - INTERVAL 15 MINUTE AS et_earlier,
toFloat64(close) AS px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND close > 0
AND toDate(toTimeZone(window_start, 'America/New_York')) IN (SELECT d FROM widest_session)
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
)
SELECT
formatDateTime(a.et, '%H:%i') AS et_time,
round(a.px, 2) AS live_price,
round(b.px, 2) AS delayed_price,
round(abs(a.px - b.px), 2) AS gap_delta,
formatDateTime(a.et, '%b %e') AS session_label
FROM session_bars AS a
INNER JOIN session_bars AS b ON b.et = a.et_earlier
WHERE toMinute(a.et) % 10 = 0
ORDER BY a.etEm Jun 9, às 09:50 ET, o SPY em tempo real estava em 746.13, enquanto a visualização atrasada indicava 744.22, uma diferença de $1.91. Às 15:50, os dois valores eram 735.29 e 734.49. As linhas se sobrepõem quando o mercado está parado e se afastam quando os preços se movem. Um atraso não tem custo em um mercado estável, mas custa mais justamente nos momentos de maior atenção.
A regra de exibição: o que um site precisa mostrar
A Regulation NMS estabelece um requisito de exibição consolidada, previsto na Rule 603(c). Um fornecedor que apresenta dados de cotações ao público precisa mostrar informações consolidadas: a melhor oferta nacional de compra e venda, ou NBBO, junto com o último negócio consolidado. Não pode apresentar a cotação de um único venue como se fosse o preço do mercado. Os fornecedores também precisam identificar os dados atrasados como atrasados. É daí que vem o aviso em letras pequenas no rodapé de toda página financeira. Duas conclusões são importantes para quem consulta uma cotação gratuita.
- Uma cotação gratuita em tempo real de uma única bolsa mostra um preço real, mas não é o NBBO. Ela apresenta o livro de ofertas de um único venue, que pode ter um spread maior do que o melhor disponível.
- Uma página com o último negócio em tempo real, mas sem oferta de compra ou de venda, é algo normal. O último negócio e as cotações são produtos licenciados separadamente, e o último negócio é o mais barato.
Para entender o que acontece quando dois venues se encontram no topo do livro, consulte mercados travados e cruzados.
Profissional ou não profissional: o teste que define a sua cobrança
O custo dos dados em tempo real para uma pessoa depende da classificação. E a classificação depende da sua atividade profissional, não do seu patrimônio. Na linguagem usada pelas bolsas, você é um assinante não profissional quando todos os requisitos abaixo são atendidos.
- Você é uma pessoa física que utiliza os dados para fins pessoais, e não em nome de uma empresa ou de qualquer outra entidade.
- Você não está registrado nem habilitado na SEC, na CFTC, em uma agência estadual de valores mobiliários, em uma bolsa ou associação de valores mobiliários ou em um mercado de contratos futuros.
- Você não atua como consultor de investimentos ou gestor de ativos, nem exerce uma função que exigiria um desses registros.
- Você não utiliza os dados para fins comerciais, inclusive no trabalho para um empregador que reembolsa a assinatura.
Se um desses requisitos não for atendido, as bolsas classificam você como profissional. A cobrança é feita por bolsa, por usuário e por mês, a uma taxa múltipla da tarifa para não profissionais. Um analista júnior de um fundo que mantém uma pequena conta pessoal é considerado profissional. Um investidor aposentado com uma carteira grande, que negocia apenas o próprio dinheiro, não é. Os distribuidores são obrigados a coletar essa informação e reportá-la. Por isso, todo cadastro para dados em tempo real pergunta sobre seu empregador e seus registros profissionais.
O que é uma cotação instantânea?
Uma cotação instantânea é uma leitura feita no momento do pedido: o último preço ou o bid e o ask atuais, devolvidos uma única vez e sem atualização. Um stream é uma subscrição contínua, que envia cada alteração assim que ocorre. O licenciamento atribui preços diferentes aos dois formatos, muitas vezes cobrando por consulta num caso e por utilizador por mês no outro. Por isso, uma API gratuita pode oferecer um endpoint de cotação instantânea com atraso, mas não um stream em tempo real. Se uma cotação instantânea for atualizada a cada segundo, na prática terá sido recriado um stream, e os contratos são redigidos para impedir esse tipo de utilização.
Como identificar se a cotação exibida está atrasada
- O timestamp é o único indicador confiável. Uma cotação em tempo real recebe um timestamp dentro de um ou dois segundos do horário atual no fuso ET.
- A máxima do dia e o volume acumulado também ficam desatualizados. Por isso, uma página atrasada pode não registrar uma máxima atingida pelo mercado dez minutos antes.
- Nos primeiros 15 minutos após a abertura às 9h30 ET, uma página atrasada não mostra dados do pregão atual. Ela exibe o fechamento anterior ou um print do pré-mercado.
- O teste do congelamento, que consiste em observar se o número se move, só funciona para ativos que oscilam.
Esse último teste precisa de dados para ser validado.
O SQL exato por trás de cada número
WITH regular_bars AS
(
SELECT
ticker,
toDate(toTimeZone(window_start, 'America/New_York')) AS session_date,
toTimeZone(window_start, 'America/New_York') AS et,
toFloat64(close) AS px
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker IN ('SPY', 'KO', 'AAPL', 'MSFT', 'NVDA', 'AMD')
AND close > 0
AND window_start >= '2026-06-01 00:00:00'
AND window_start < '2026-07-01 00:00:00'
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(window_start, 'America/New_York')) * 60
+ toMinute(toTimeZone(window_start, 'America/New_York'))) < 960
),
stepped AS
(
SELECT
ticker,
et,
px,
lagInFrame(px) OVER (PARTITION BY ticker, session_date ORDER BY et
ROWS BETWEEN 1 PRECEDING AND CURRENT ROW) AS prev_px
FROM regular_bars
)
SELECT
ticker,
round(100 * countIf(px != prev_px) / count(), 1) AS minutes_price_moved_pct,
round(quantileDeterministic(0.5)(abs(px / prev_px - 1) * 10000, toUInt64(toUnixTimestamp(et))), 1) AS median_move_bps
FROM stepped
WHERE prev_px > 0
GROUP BY ticker
HAVING count() > 0
ORDER BY minutes_price_moved_pct DESCAté junho de 2026, AMD registrou um preço diferente do minuto anterior em 99.8% dos minutos do pregão regular, com uma variação mediana de minuto a minuto de 9.6 pontos-base. Um ponto-base corresponde a um centésimo de um por cento. KO foi o que mudou de preço com menor frequência entre os seis, em 94.1%. Em ativos tão líquidos, um último preço que não se altera por vários minutos no meio do pregão é um indício razoável de que a cotação exibida está atrasada ou armazenada em cache. Em uma ação com pouca liquidez, essa mesma estabilidade é normal. Por isso, o timestamp continua sendo o teste mais confiável.
Quais cotações de ações gratuitas são realmente em tempo real
Duas fontes oferecem preços ao vivo de forma confiável para investidores pessoa física, mas um rótulo comum merece uma análise mais cuidadosa.
- Uma conta de corretora com recursos. As corretoras obtêm o direito de acesso para clientes não profissionais e repassam as cotações ao vivo pelo aplicativo. Por isso, o formulário de abertura da conta perguntou sobre o seu empregador.
- O próprio site da operadora da bolsa, para os ativos listados naquela bolsa. A cotação é em tempo real e refere-se a um único local de negociação. Portanto, mostra um livro de ofertas, e não o NBBO consolidado.
- Qualquer serviço que anuncie cotações gratuitas em tempo real sem login e sem uma autodeclaração. Verifique o carimbo de data e hora da cotação antes de confiar nela.
Quando o destino é um programa, e não uma tela, a classificação muda novamente. O consumo por máquinas é licenciado sob termos de non-display, em uma tabela separada daquela aplicável por usuário. Nossos textos sobre APIs gratuitas de dados do mercado de ações e consulta de dados de mercado com SQL explicam essas categorias.
Perguntas frequentes
Por que as cotações de ações têm exatamente 15 minutos de atraso?
Quinze minutos é o intervalo a partir do qual os preços de ações dos EUA deixam de ser um produto em tempo real sujeito a cobrança, segundo os contratos de dados das bolsas. Um distribuidor pode publicar dados com pelo menos essa idade sem informar o número de usuários.
O que caracteriza um assinante profissional de dados de mercado?
O registro junto a um órgão regulador de valores mobiliários ou futuros, o exercício de uma função de investimento, o recebimento dos dados em nome de uma entidade ou qualquer uso comercial dos preços. O patrimônio líquido e o tamanho da conta não influenciam essa classificação.
Como saber se uma cotação de ação está atrasada?
Compare o horário da cotação com o horário atual no fuso ET e procure a indicação de atraso que os fornecedores são obrigados a exibir. Em um ativo com negociação intensa durante o horário regular, um preço que permanece inalterado por vários minutos é outro indício.
As cotações gratuitas em tempo real são iguais ao NBBO?
Muitas vezes, não. A cotação gratuita de uma única bolsa mostra o livro de ofertas daquela venue. O NBBO é a melhor oferta de compra e de venda entre todas as venues, calculada a partir do consolidated tape.
O atraso de 15 minutos importa para os dados de fim do dia?
Não. Depois do encerramento do pregão, a versão atrasada e a versão em tempo real do preço de fechamento ou do volume diário são idênticas. O atraso só afeta os dados durante o pregão.
Cada painel aqui é acompanhado do SQL que o gerou. Assim, qualquer número acima pode ser recalculado para outro ticker ou outro mês. Para medir quanto valem 15 minutos em um ativo que você acompanha, solicite essa análise em linguagem simples no terminal Strasmore.