Search
Close this search box.
Visualização de dados do mercado de ações com Python
mercado de ações com Python

Posts Relacionados:

Entender e analisar dados do mercado de ações através de técnicas de visualização é uma habilidade fundamental para investidores, analistas e programadores Python.

Receba nossa newsletter

Mercado de ações com Python

arquivos PDF com Python

Qualquer um com interesse em Python e Inteligência Artificial (IA) adora saber como a tecnologia pode ser aplicada em diversas áreas. E um dos campos onde seu uso se destaca é certamente o mercado de ações. Entender e analisar dados financeiros são atividades essenciais para investidores, analistas e pesquisadores. Um aspecto crucial desse processo é visualizar os dados do mercado de ações de maneira significativa. 

Neste post, exploraremos a interação entre finanças e visualização de dados usando Matplotlib e Seaborn para criar gráficos a partir de informações do mercado de ações. Essas bibliotecas são ferramentas essenciais para programadores Python que desejam se aprofundar em análises financeiras com facilidade.

O que é visualização de dados?

A visualização de dados refere-se à representação de dados em um formato visualmente atraente e facilmente compreensível, como tabelas ou gráficos. Ela ajuda a identificar padrões, anomalias e discrepâncias que podem estar ocultas em grandes conjuntos de dados. Especificamente para dados do mercado de ações, a visualização pode ajudar a identificar tendências, padrões e correlações que podem não ser imediatamente aparentes.

Matplotlib

Matplotlib é uma das bibliotecas de visualização de dados mais populares em Python devido à sua versatilidade e interface amigável. Ela pode ser usada para criar visualizações estáticas, animadas e interativas. Matplotlib possui um extenso conjunto de ferramentas e opções de personalização e é uma escolha ideal tanto para iniciantes quanto para usuários avançados. Além de permitir uma ampla gama de personalização, o Matplotlib pode ser usado para criar visualizações interativas com plugins como Plotly ou Bokeh. Outra grande vantagem do Matplotlib é a sua integração perfeita com outras bibliotecas Python como Numpy e SciPy.

matplotlib

Seaborn

O Seaborn é construído sobre o Matplotlib e oferece recursos adicionais. Esses recursos incluem mapas de calor, técnicas de clustering, entre outros, que podem fornecer mais informações sobre as tendências do mercado de ações.

O Seaborn possui uma interface de alto nível para criar gráficos estatísticos informativos e altamente atraentes. Muitas de suas ferramentas de visualização são projetadas especificamente para funcionar bem com dados financeiros. Portanto, ele é uma escolha muito apropriada para análise do mercado de ações. Seus são baseados em conceitos estatísticos como linhas de regressão, gráficos de dispersão e mapas de calor. 

seaborn

Visualizando dados do mercado de ações com Python

Para visualizar dados do mercado de ações com Python, precisaremos de uma fonte de dados. Usaremos a biblioteca yfinance para isso. Será preciso instalá-la se você ainda não a possui:

				
					pip install yfinance
				
			

Também será preciso instalar o Matplotlib:

				
					python -m pip install -U pip
python -m pip install -U matplotlib
				
			

Por fim, instale o Seaborn:

				
					pip install seaborn
				
			

Existem várias formas de visualização de dados do mercado de ações que variam de acordo com nossos objetivos. Exploraremos as principais.

Preços diários das ações

O Matplotlib permite a criação de gráficos de linhas de alta qualidade que podem representar os preços das ações ao longo do tempo ou outras métricas financeiras relevantes, conforme necessário.

				
					import matplotlib.pyplot as plt
import yfinance as yf

data_inicio = '2024-08-20'
data_fim = '2025-08-20'

# baixa os dados para Apple e Google
apple = 'AAPL'
google = 'GOOGL'
apple_dados = yf.Ticker(apple).history(interval='1d', start=data_inicio, end=data_fim)
google_dados = yf.Ticker(google).history(interval='1d', start=data_inicio, end=data_fim)

# Plota preços diários das ações
plt.figure(figsize=(10,6))
plt.plot(apple_dados['Close'], color='skyblue', linewidth=2, label='Apple')
plt.plot(google_dados['Close'], color='red', linewidth=2,  label='Google')
plt.xlabel('Datas')
plt.ylabel('Preço (USD)')
plt.title('Preços diários das ações')
plt.legend()
plt.show()
				
			

O código mostrado acima gera o gráfico de linhas abaixo. Ele fornece uma representação visual de como os preços das ações da Apple e do Google flutuaram no ano passado. O código é bem direto: apenas baixamos os dados com yfinance com resolução de um dia e plotamos o gráfico de linhas mostrado os dados das duas empresas. Este tipo de visualização ajuda investidores a identificar padrões que podem afetar movimentos futuros de preços ou possíveis oportunidades de compra/venda.

mercado de ações com Python

volume de negociações

Uma variação do gráfico de linhas mostrado acima pode ser feita para mostrar o volume de negociações das ações das empresas selecionadas para o mesmo período. Veja o código abaixo para gerar os gráficos com os dados baixados no trecho anterior. Basta trocar as variáveis plotadas para exibir o volume de negociações das ações.

				
					plt.figure(figsize=(10,6))
plt.plot(apple_dados.index, apple_dados['Volume'], color='blue', label='Apple')
plt.plot(google_dados.index, google_dados['Volume'], color='red', label='Google')
plt.title(f"Volume diário de negociação para Apple e Google (último 1 ano)")
plt.xlabel("Data")
plt.ylabel("Volume")
plt.grid(True)
plt.tight_layout()
plt.legend()
plt.show()

				
			

Abaixo mostramos a figura obtida com o código acima.

Google e Apple

Histograma para visualizar as tendências de volume ao longo do tempo

Outra visualização importante também mostra os volumes diários de negociação de uma ação (por exemplo, Apple e Google). Mas, nesse exemplo, usamos o Matplotlib para plotar um histograma mostrando a distribuição de frequência do volume de negociação por um período (1 ano no nosso exemplo, com granularidade de 1d binada em intervalos de 30 dias). Novamente, continuamos usando os dados já baixados. O código abaixo mostra como plotar os gráficos usando os dados de volumes diários de negociação, mas organizados em um histograma com bins de 30 dias.

				
					plt.figure(figsize=(8,10))
plt.subplot(2,1,1)
plt.hist(apple_dados['Volume'], bins=30, color='skyblue', edgecolor='black', label='Apple')
plt.title(f"Distribuição de frequência do volume diário de negociação para Apple (Último 1 ano)")
plt.xlabel("Volume diário de negociação")
plt.ylabel("Frequência (Número de dias)")
plt.grid(axis='y')
plt.tight_layout()
plt.subplot(2,1,2)
plt.hist(google_dados['Volume'], bins=30, color='red', edgecolor='black', label='Apple')
plt.title(f"Distribuição de frequência do volume diário de negociação para Google (Último 1 ano)")
plt.xlabel("Volume diário de negociação")
plt.ylabel("Frequência (Número de dias)")
plt.grid(axis='y')
plt.tight_layout()
plt.show()

				
			

As figuras resultantes são mostradas abaixo. Elas mostram quando diferentes faixas de volume ocorreram, tornando picos, clusters e outliers fáceis de detectar. Você pode ajustar o tamanho dos bins para mais ou menos agrupamentos conforme as suas necessidades.

mercado de ações com Python

mapa de calor para comparação visual

Para terminar, usaremos Seaborn para plotar um mapa de calor comparando ações de duas empresas. Neste exemplo, comparamos duas gigantes: Nvidia e Intel. Além do Seaborn, yfinance e Matplotlib, precisaremos do Pandas:

				
					pip install pandas

				
			

No código abaixo, primeiro baixamos os dados de uma maneira similar à realizada anteriormente. Em seguida, usamos o Pandas para remover nan e calcular os retornos diários. O passo seguinte envolve calcular uma matriz de correlação e plotar os dados.

				
					import yfinance as yf
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

# Baixa dados Nvidia e Intel
tickers = ['INTC', 'NVDA'] 

data_inicio = '2024-08-20'
data_fim = '2025-08-20'

dados = yf.download(
    tickers=tickers,
    start=data_inicio,
    end=data_fim,
    interval="1d",
    auto_adjust=True,
    progress=False
)

# Calcula os retornos diários 
retorno = dados.pct_change().dropna() 

# Calcula a matriz de correlação 
corr_matrix = retorno.corr()

# Plota mapa de calor
plt.figure(figsize=(10, 6))
sns.heatmap(corr_matrix, annot=True, cmap='coolwarm', fmt=".2f")
plt.title("Mapa de calor de correlação: retornos diários da Nvidia vs. Intel")
plt.tight_layout()
plt.show()

				
			

O resultado obtido é mostrado abaixo.

mapa de calor

O mapa de calor acima mostra uma comparação visual dos preços das ações da Nvidia e da Intel no ano passado, lado a lado, permitindo que você veja o quão próximos eles se movem em relação às tendências do mercado ou eventos econômicos que podem afetar seus respectivos desempenhos. Esse tipo de análise pode ajudar os investidores a tomar decisões sobre qual empresa pode oferecer melhor estabilidade de longo prazo para diversificar portfólios com base nos padrões históricos de desempenho.

Conclusão

Visualizar dados do mercado de ações com Python é uma habilidade essencial para quem quer entender os dados financeiros. Ao aproveitar as poderosas bibliotecas de Matplotlib e Seaborn, você pode criar facilmente visualizações informativas e envolventes que revelam insights sobre tendências e padrões do mercado.

Imagem com IA Generativa – Dia 524

IA generativa - dia524

Arte com IA generativa: imagem do dia

Todos os dias postamos um exemplo de imagem artística gerada com inteligência artificial.

Tutoriais

Postagens Mais Recentes

Outras Postagens Que Podem Interessar

Veja
Mais

Fique em contato

Se inscreva para receber nossa newsletter com novidades.

aprendiz artificial