Coletar dados da B3 no R leva poucas linhas com o pacote {rb3}: você baixa as cotações históricas de ações, FIIs, FIDCs, ETFs e BDRs de um ano inteiro e chega direto a uma tabela pronta para analisar. Neste tutorial mostramos como fazer isso do começo ao fim e terminamos com um ranking dos ETFs que mais subiram e mais caíram em 2025.
O arquivo bruto de cotações da B3 (o COTAHIST) é grande e de formato difícil. O {rb3} baixa esse arquivo, trata o formato e entrega tudo como uma tabela do R. Abaixo, o resultado que vamos construir: as maiores altas e baixas entre os ETFs líquidos da bolsa no ano.

Ouro e setor financeiro no topo, cripto e tecnologia de nicho no fundo: o gráfico resume o ano na bolsa. Nas próximas seções você vê como chegar até ele, passo a passo.
Quer reproduzir este gráfico?
Assine o Boletim AM e receba, no seu e-mail, análises como esta com o passo a passo em R. É gratuito.
O que é o pacote {rb3}
O {rb3} é um pacote de R, criado por Wilson Freitas e Marcelo Perlin, que automatiza o download e o tratamento dos dados públicos da B3, a bolsa brasileira. Ele resolve a parte chata: ir ao site da B3, baixar o arquivo certo, decodificar o formato de largura fixa e devolver uma tabela limpa.
O dado central é o COTAHIST, o arquivo de cotações históricas da B3. Para cada papel negociado, ele traz preço de abertura, máxima, mínima, fechamento e volume do pregão. É a base de praticamente toda análise quantitativa de mercado no Brasil.
As classes de ativo que dá para coletar
Uma mesma função do {rb3} traz cinco tipos de ativo diferentes. Cada sigla é uma classe distinta:
O método, passo a passo
A coleta com o {rb3} segue três etapas. O código em si é a isca da newsletter; aqui explicamos o que cada passo faz.
1. Configurar o cache
O pacote guarda os arquivos baixados em uma pasta local, o cache, para não repetir downloads pesados. Antes de tudo, apontamos essa pasta e rodamos uma função de inicialização que cria a estrutura de diretórios. Sem isso, o pacote usa uma pasta temporária que some ao fechar a sessão.
2. Baixar as cotações do ano
Uma função de coleta baixa o arquivo anual do COTAHIST e o processa para um banco local; outra recupera esse dado já tratado como uma consulta preguiçosa (só carrega na memória quando você pede). O primeiro download demora, porque o arquivo tem dezenas de megabytes; as leituras seguintes são instantâneas, direto do cache.
3. Separar cada classe de ativo
O COTAHIST mistura tudo no mesmo arquivo. A família de funções cotahist_filter_*() separa cada classe: cotahist_filter_equity() para ações, cotahist_filter_bdr() para BDRs, cotahist_filter_etf() para ETFs, e assim por diante. Cada uma devolve a tabela só daquela classe.
O que a B3 negociou em 2025
Contando os tickers únicos de cada classe no arquivo anual de 2025, temos o retrato do mercado. Os BDRs lideram em variedade, seguidos das ações; os FIDCs quase não aparecem no pregão.
| Classe de ativo | Nº de tickers (2025) | Função de extração |
|---|---|---|
| Ações | 452 | cotahist_filter_equity() |
| BDRs | 1.091 | cotahist_filter_bdr() |
| ETFs | 233 | cotahist_filter_etf() |
| FIIs | 438 | cotahist_filter_fii() |
| FIDCs | 2 | cotahist_filter_fidc() |
Ativos disponíveis no COTAHIST anual de 2025. Fonte: B3, via pacote {rb3}.
Os ETFs que mais subiram e caíram em 2025
Com os dados na mão, calculamos o retorno no ano de cada ETF: a variação percentual entre o primeiro e o último pregão. Usamos só os ETFs líquidos (negociados na maior parte do ano e com volume relevante), para o ranking refletir o mercado e não papéis quase sem negociação.
Por que só os ETFs, e não as ações? Porque os preços do COTAHIST não são ajustados por proventos (dividendos e desdobramentos). Nas ações, isso distorce o retorno; nos ETFs, o cálculo direto já funciona bem.
| ETF | Retorno em 2025 |
|---|---|
| BRZP11 | +99,5% |
| BDEF11 | +49,2% |
| FIND11 | +46,8% |
| TRIG11 | +46,0% |
| GOLD11 (ouro) | +44,5% |
| QSOL11 | −46,9% |
| WEB311 | −58,2% |
| DEFI11 (cripto) | −61,6% |
| CHIP11 | −78,3% |
| META11 (cripto) | −79,2% |
As 5 maiores altas e baixas entre ETFs líquidos da B3 em 2025. Fonte: B3, via pacote {rb3}.
- Ouro no topo. O GOLD11, ETF que acompanha o ouro, rendeu +44,5% — o metal foi refúgio clássico em um ano de incerteza.
- Financeiro em alta. ETFs do setor financeiro, como o FIND11 (+46,8%), acompanharam o bom desempenho dos bancos.
- Cripto e tech no fundo. META11 (−79,2%), CHIP11 (−78,3%) e DEFI11 (−61,6%) são ETFs temáticos de criptoativos e tecnologia de nicho, que sofreram forte realização no ano.
As ferramentas por trás

{rb3}{dplyr}
Considerações finais
Este exercício mostra o que a linguagem R torna possível: reproduzir, com dados públicos e poucas linhas, uma coleta que antes exigiria baixar arquivos na mão e decodificar formatos ilegíveis. O dado da bolsa brasileira fica a um comando de distância.
O R reúne, no mesmo lugar, as três pontas de qualquer análise de mercado: coletar, tratar e visualizar. Com pacotes como o {rb3}, feitos sob medida para o dado brasileiro, ele se torna a ferramenta natural de quem trabalha com finanças no país.
O alcance vai além deste exercício. O mesmo caminho — coletar, tratar, calcular, visualizar — se repete em quase todo problema da área. O que muda é a aplicação:
- Analista de investimentos: monta rankings de retorno e risco por classe de ativo com dado atualizado, sem depender de planilhas de terceiros.
- Gestor de carteira: alimenta modelos de alocação e rebalanceamento direto da fonte oficial da B3.
- Trader: testa estratégias sobre o histórico completo de preços e volumes, ETF a ETF.
- Risco e compliance: reconstrói séries de preços auditáveis, com origem rastreável no dado público da bolsa.
Aprender a linguagem é o que abre a porta para todas essas frentes.
Você viu como coletar o dado; aprenda a análise inteira
Coletar as cotações é o primeiro passo. Na formação Do Zero à Análise de Dados Econômicos e Financeiros usando R, você aprende do básico do R até modelagem e visualização de dados de mercado. Quem quer acesso a todas as formações tem o AM Black, a assinatura anual.
Leia também: