Ibovespa x Economia real: qual a relação?

O Índice Bovespa ou simplesmente conhecido como Ibovespa, é o indicador mais importante no acompanhamento da cotação das ações negociadas na B3, a bolsa de valores brasileira. O índice, por suposto, acompanha a variação de preços das ações das maiores empresas do Brasil, isto é, a depender dos resultados operacionais e financeiros das companhias, os seus preços acompanharão as expectativas dos investidores com base nesses resultados, ou seja, a Ibovespa acompanhará essa mesma trajetória.

Dito isto, a depender dos resultados das empresas, o crescimento do país é afetado, e um bom indicador para saber a trajetória da economia real do país é a Formação Bruta de Capital Físico. Nesse post, investigaremos se existe uma relação do Ibovespa com a FBCP por meio da estimação de um Vetor de Correção de Erros (VEC) e de uma análise das funções impulso-resposta.

Primeiro devemos coletar os dados necessários. Abaixo realizamos a coleta e o tratamento de dados do Ibovespa, além de trimestralizar a série.


library(quantmod)

library(xts)

library(sidrar)

library(timetk)

library(tidyverse)

 


# IBOVESPA

## Coleta os dados do Yahoo Finance

getSymbols("^BVSP", src= "yahoo",
from= as.Date('2001-01-01'))

## Captura os preços de fechamento

ibovespa <- Cl(BVSP) %>%
na.omit() %>%
`colnames<-`("ibovespa")

## Transforma em trimestral

ibov_qtr <- apply.quarterly(ibovespa, FUN = mean) %>%
tk_tbl(preserve_index = TRUE,
rename_index = "date") %>%
mutate(date = as.yearqtr(date, type = "%Y%q"))

## Cria o objeto ts

ibov_qtr_ts <- ts(ibov_qtr$ibovespa, start=c(2001,01), freq = 4)

 

Em seguida, fazemos o mesmo para a FBCF.


# FBCF

## Coleta os dados do SIDRA e calcula o crescimento interanual

fbcf = get_sidra(api="/t/1620/n1/all/v/all/p/all/c11255/93406/d/v583%202") %>%
dplyr::select(date = "Trimestre (Código)", value = "Valor") %>%
mutate(date = as.yearqtr(date, format = "%Y%q"),
dfbcf = (value/lag(value, 4) -1) * 100)

## Cria o objeto ts

fbcf_ts = ts(fbcf$value, start=c(1996,01), freq=4)

dfbcf_ts = (fbcf_ts/stats::lag(fbcf_ts, -4) -1) * 100

 

Em seguida, podemos visualizar as séries em conjunto para investigar a relação de ambos ao longo do tempo.

De outra forma, é possível visualizar a correlação entre as séries em suas defasagens, vemos que quanto maior a defasagem, menor a correlação.

Por fim, construímos um modelo de Vetor de Correção de Erros (VEC) entre as duas séries, de forma que seja possível investigar as funções impulso-resposta. Vemos que a partir da metodologia, um choque na Ibovespa tem efeito sobre a variação da FBCF. Vemos isto no gráfico abaixo.

Por meio da metodologia utilizada no post foi possível averiguar a existência de relação entre os dois indicadores. Para que você consiga descobrir fenômenos como esse, os nosso cursos de Macroeconomia, Séries Temporais e Finanças Quantitativas são fundamentais para esse aprendizado, auxiliando tanto na teoria quanto na prática.

 

 

Compartilhe esse artigo

Facebook
Twitter
LinkedIn
WhatsApp
Telegram
Email
Print

Comente o que achou desse artigo

Outros artigos relacionados

O que é um Vector Database e como criar um com LangChain

Nesta postagem, mostramos como construir um pipeline simples de RAG (Retrieval-Augmented Generation) usando o LangChain, o modelo Gemini 2.0 Flash e o Vector Database Chroma. Utilizamos como exemplo o Relatório de Inflação de junho de 2025 do Banco Central do Brasil. O fluxo envolve o download e leitura do PDF, divisão do texto com RecursiveCharacterTextSplitter, geração de embeddings com Gemini, armazenamento vetorial com Chroma e busca semântica para responder perguntas com base no conteúdo do relatório. É uma aplicação prática e didática para economistas que desejam integrar IA ao seu fluxo de análise.

Automatizando a Construção de Códigos em Python com LangGraph

Neste post, mostramos como construir um agente de código em Python utilizando LangGraph, LangChain e Gemini. A proposta é construir um protótipo para automatizar o ciclo completo de geração, execução e correção de código com o uso de LLMs, organizando o processo em um grafo de estados.

Análise de Dados com REPL Tool e LLM usando LangGraph

Neste post, vamos mostrar como você pode criar um agente que interpreta e executa código Python em tempo real, utilizando o REPL-Tool e um LLM da família Gemini. Começamos com um exemplo genérico e, em seguida, aplicamos a mesma estrutura à análise econômica de uma série histórica do IPCA.

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

Boletim AM

Receba diretamente em seu e-mail gratuitamente nossas promoções especiais e conteúdos exclusivos sobre Análise de Dados!

como podemos ajudar?

Preencha os seus dados abaixo e fale conosco no WhatsApp

Boletim AM

Preencha o formulário abaixo para receber nossos boletins semanais diretamente em seu e-mail.