fbpx
Sigmoidal
  • Home
  • Cursos
  • Pós-Graduação
  • Blog
  • Sobre Mim
  • Contato
Sem Resultado
Ver Todos Resultados
  • English
  • Home
  • Cursos
  • Pós-Graduação
  • Blog
  • Sobre Mim
  • Contato
Sem Resultado
Ver Todos Resultados
Sigmoidal
Sem Resultado
Ver Todos Resultados

Como Analisar Ações da Bolsa com Python

Carlos Melo por Carlos Melo
fevereiro 11, 2020
em Blog, Data Science, Python, Tutoriais
15
96
COMPARTILHAMENTOS
3.2k
VIEWS
Publicar no LinkedInCompartilhar no FacebookCompartilhar no Whatsapp

Como analisar ações com Python é uma dúvida muito frequente que eu recebo no meu Instagram.

Em uma pesquisa feita com meus alunos do treinamento Data Science na Prática, vi que alguns deles já investem com a ajuda do Data Science. Também notei que muitos teriam interesse em aprender mais sobre o tema.

Como analisar ações e investir com Python.

Fui day trader entre 2008 e 2012, e hoje adoto uma filosofia mais fundamentalista, baseada nos princípios do Value Investing (a mesma ensinada por Benjamin Graham ao mito Warren Buffet).

Independente da sua estratégia, Python e Data Science podem contribuir muito para as suas análises na Bolsa.

Por ser um tema que eu amo e por tanta gente estar pedindo, pretendo começar a escrever uma série de artigos voltados ao mercado financeiro.

Neste primeiro artigo, vou te ensinar como acessar cotações para analisar ações usando Python.

Especificamente, vou ensinar como baixar os dados usando a biblioteca pandas_datareader e plotar o gráfico de candlestick usando plotly.

Baixando Cotações com Python

Uma das principais dificuldades que temos por aqui é acessar diretamente os dados da Bovespa.

Algumas corretoras possuem APIs e também é possível pagar serviços que forneçam as cotações em tempo real.

Uma alternativa simples e gratuita, que eu uso para acompanhar os preços diários é usar a biblioteca pandas_datareader e acessar a base de dados do Yahoo Finance.

# importar as bibliotecas necessárias
import pandas as pd
from pandas_datareader import data as web
import plotly.graph_objects as go

# criar um DataFrame vazio
df = pd.DataFrame()

Vou usar o ativo ITUB3, e baixar as cotações a partir de 1º de janeiro de 2000. Olhando as 5 primeiras entradas você consegue notar que são importadas as máximas, mínimas, abertura, fechamento, volume e valor ajustado do fechamento.

# escolher a ação desejada
acao = 'ITUB3.SA'
# importar dados para o DataFrame
df = web.DataReader(acao, data_source='yahoo', start='01-01-2000')
# ver as 5 primeiras entradas
df.head()

Repare que o nome do ativo é ITUB3.SA e não apenas ITUB3. Esse é o padrão para conseguir baixar os dados do Yahoo Finance.

Plotando o gráfico de candlestick para analisar a ação

Recentemente, escrevi um artigo introdutório ensinando a usar a biblioteca Plotly. Na minha opinião é a melhor biblioteca de visualização de dados que o Python possui.

Recomendo dar uma lida nesse artigo antes, para entender como eu faço para plotar o gráfico de candlestick.

# plotar o gráfico de candlestick
trace1 = {
    'x': df.index,
    'open': df.Open,
    'close': df.Close,
    'high': df.High,
    'low': df.Low,
    'type': 'candlestick',
    'name': acao,
    'showlegend': False
}
data = [trace1]
layout = go.Layout()
fig = go.Figure(data=data, layout=layout)
fig.show()
Como Analisar Ações da Bolsa com Python

A vantagem do Plotly é que seus gráficos são interativos. Permitem zoom, selecionar determinado período e muitas outras coisas.

Além disso, é possível sobrepor plots como Médias Móveis, Bandas de Bollinger, entre outros vários indicadores.

Data Science para Investimentos

O objetivo deste artigo era te mostrar como importar cotações diretamente pela web, sem ter que baixar arquivos ou planilhas para a sua máquina.

No entanto, as possibilidades de aplicação de Data Science e Machine Learning para os investimentos são infinitas.

Otimização de portfólio, recomendação de ativos e automatização de operações de trade são apenas algumas delas.

Começaremos a falar um pouco mais delas nos próximos artigos 🙂

Compartilhar7Compartilhar38Enviar
Post Anterior

Como criar gráficos interativos usando Plotly e Python

Próximo Post

Aplicações de Machine Learning nos Esportes

Carlos Melo

Carlos Melo

Engenheiro de Visão Computacional graduado em Ciências Aeronáuticas pela Academia da Força Aérea (AFA) e Mestre em Engenharia Aeroespacial pelo Instituto Tecnológico de Aeronáutica (ITA).

Relacionado Artigos

Green Card aprovado por habilidades extraordinárias em Data Science
Blog

Green Card aprovado por habilidades extraordinárias em Data Science

por Carlos Melo
julho 14, 2025
O Que é Amostragem e Quantização no Processamento de Imagens
Artigos

O Que é Amostragem e Quantização no Processamento de Imagens

por Carlos Melo
junho 20, 2025
Curso de Pós-Graduação em Data Science
Data Science

Vale a pena fazer uma Pós-Graduação em Data Science?

por Carlos Melo
janeiro 20, 2025
Review do Livro “Mãos à obra: Aprendizado de Máquina com Scikit-Learn, Keras & TensorFlow”
Livros

Review do Livro “Mãos à obra: Aprendizado de Máquina com Scikit-Learn, Keras & TensorFlow”

janeiro 18, 2025
Carlos Melo e Sérgio Sacani – Ciência Sem Fim
Youtube

Carlos Melo e Sérgio Sacani – Ciência Sem Fim

por Carlos Melo
janeiro 16, 2025
Próximo Post
Aplicações de Machine Learning nos Esportes

Aplicações de Machine Learning nos Esportes

Comentários 15

  1. Cesar says:
    5 anos atrás

    Parabéns pelo artigo, meu interesse por data science é justamente aplicar o conhecimento adquirido no mercado financeiro.

    Responder
    • Carlos Melo Carlos Melo says:
      2 anos atrás

      Muito obrigado pelo comentário!

      Responder
  2. Isabela says:
    5 anos atrás

    Amei! Tava dando uma desanimada já nos estudos e com seus posts já deu uma oxigenada!

    Responder
  3. Ramon says:
    5 anos atrás

    Veja a mensagem de erro que apareceu referente ao pandas_datareader:
    ModuleNotFoundError Traceback (most recent call last)
    in
    1 import pandas as pd
    —-> 2 from pandas_datareader import data as web
    3 import plotly.graph_objets as go
    ModuleNotFoundError: No module named ‘pandas_datareader’

    Responder
    • Carlos Melo Carlos Melo says:
      5 anos atrás

      Se você não está usando o Colab, provavelmente não está instalado na sua máquina. Dependendo se você usa Conda ou Pip, precisa instalar o módulo 🙂

      Responder
  4. Aline says:
    5 anos atrás

    super legal, obrigada!

    Responder
  5. Fábio Mazzei says:
    5 anos atrás

    Gosto muito do mercado de ações também e uso o Google Sheets para controle de carteira, pricipalmente por causa da função GOOGLEFINANCE( ). Fica a dica para quem gosta do assunto.
    Gostei muito deste tutorial. Realmente muito bom para praticar o Python e suas bibliotecas. Por meio seu conteúdo, pude conhescer o Colab também.
    Parabéns pelo seu tarbalho e conteúdo!!!

    Responder
    • Carlos Melo Carlos Melo says:
      2 anos atrás

      Muito obrigado pelo comentário! Um forte abraço para você.

      Responder
  6. Mateus says:
    5 anos atrás

    Que massa, contínua trazendo esses artigos relacionados ao mercado financeiro.

    Responder
    • Carlos Melo Carlos Melo says:
      2 anos atrás

      Muito obrigado pelo comentário! Um forte abraço para você.

      Responder
  7. Giulia says:
    5 anos atrás

    Muito bacana!

    Responder
  8. Rodrigo says:
    5 anos atrás

    Fala, Carlos, primeiramente, muito legal seu artigo! Tem alguma razão específica para criar um dataframe vazio antes de importar os dados?

    Responder
    • Carlos Melo Carlos Melo says:
      2 anos atrás

      Apenas uma abordagem didática para quem começou mesmo. Mas não há necessidade 🙂

      Responder
  9. Victor says:
    4 anos atrás

    Oi Carlos. Legal você colocar esse artigo. Quero acompanhar os próximos.
    Ainda fiquei com dúvida sobre como posso acompanhar em tempo real a variação das ações. Se eu quiser fazer isso tenho que pagar por algum serviço? O BOVESPA não disponibiliza isso?
    Obrigado

    Responder
  10. Felipe says:
    4 anos atrás

    Oi, professor.
    Recebi essa mensagem de erro, poderia me ajduar?
    RemoteDataError Traceback (most recent call last)
    in ()
    3
    4 # importar dados para o DataFrame
    —-> 5 df = web.DataReader(acao, data_source=’yahoo’, start=’01-01-2000′)
    6
    7 # ver as 5 primeiras entradas
    4 frames
    /usr/local/lib/python3.7/dist-packages/pandas_datareader/base.py in _get_response(self, url, params, headers)
    179 msg += “\nResponse Text:\n{0}”.format(last_response_text)
    180
    –> 181 raise RemoteDataError(msg)
    182
    183 def _get_crumb(self, *args):
    RemoteDataError: Unable to read URL: https://finance.yahoo.com/quote/ITUB3.SA/history?period1=946699200&period2=1628999999&interval=1d&frequency=1d&filter=history

    Responder

Deixe um comentário Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Pós-Graduação em Data Science Pós-Graduação em Data Science Pós-Graduação em Data Science

Mais Populares

  • Introdução ao MediaPipe e Pose Estimation

    Introdução ao MediaPipe e Pose Estimation

    488 compartilhamentos
    Compartilhar 195 Tweet 122
  • ORB-SLAM 3: Tutorial Completo para Mapeamento 3D e Localização em Tempo Real

    409 compartilhamentos
    Compartilhar 164 Tweet 102
  • O Que é Amostragem e Quantização no Processamento de Imagens

    9 compartilhamentos
    Compartilhar 4 Tweet 2
  • Geometria da Formação de Imagens: Matrizes, Transformações e Sistemas de Coordenadas

    384 compartilhamentos
    Compartilhar 154 Tweet 96
  • Processamento de Nuvens de Pontos com Open3D e Python

    45 compartilhamentos
    Compartilhar 18 Tweet 11
  • Em Alta
  • Comentários
  • Mais Recente
Como Tratar Dados Ausentes com Pandas

Como Tratar Dados Ausentes com Pandas

agosto 13, 2019
Como usar o DALL-E 2 para gerar imagens a partir de textos

Como usar o DALL-E 2 para gerar imagens a partir de textos

dezembro 25, 2022
Introdução ao MediaPipe e Pose Estimation

Introdução ao MediaPipe e Pose Estimation

julho 15, 2023

ORB-SLAM 3: Tutorial Completo para Mapeamento 3D e Localização em Tempo Real

abril 10, 2023
Como Analisar Ações da Bolsa com Python

Como Analisar Ações da Bolsa com Python

15
Setembro Amarelo: Análise do Suicídio no Brasil, com Data Science

Setembro Amarelo: Análise do Suicídio no Brasil, com Data Science

13
Como Aprender Data Science?

Como Aprender Data Science?

9
Qual o Cenário de Data Science no Brasil hoje?

Qual o Cenário de Data Science no Brasil hoje?

8
Green Card aprovado por habilidades extraordinárias em Data Science

Green Card aprovado por habilidades extraordinárias em Data Science

julho 14, 2025
O Que é Amostragem e Quantização no Processamento de Imagens

O Que é Amostragem e Quantização no Processamento de Imagens

junho 20, 2025
DeepSeek vazamento de dados de usuários

DeepSeek: Vazamento de dados expõe dados de usuários

fevereiro 1, 2025
DeepSeek R1 vs OpenAI o1 – Qual é o Melhor Modelo de IA

DeepSeek R1 vs OpenAI o1 – Qual é o Melhor Modelo de IA?

janeiro 25, 2025

Seguir

    Instagram Youtube LinkedIn Twitter
    Sigmoidal

    O melhor conteúdo técnico de Data Science, com projetos práticos e exemplos do mundo real.

    Seguir no Instagram

    Categorias

    • Aeroespacial
    • Artigos
    • Blog
    • Carreira
    • Cursos
    • Data Science
    • Deep Learning
    • Destaques
    • Entrevistas
    • IA Generativa
    • Livros
    • Machine Learning
    • Notícias
    • Python
    • Teoria
    • Tutoriais
    • Visão Computacional
    • Youtube

    Navegar por Tags

    camera calibration carreira chatgpt cientista de dados cnn computer vision Cursos dados desbalanceados data science data science na prática decision tree deep learning gpt-3 histograma IA generativa image formation inteligência artificial jupyter kaggle keras machine learning matplotlib mnist nft openai opencv overfitting pandas profissão python redes neurais redes neurais convolucionais regressão linear regressão logística salário scikit-learn seaborn sklearn tensorflow titanic tutorial visão computacional vídeo youtube árvore de decisão

    © 2024 Sigmoidal - Aprenda Data Science, Visão Computacional e Python na prática.

    Welcome Back!

    Login to your account below

    Forgotten Password?

    Retrieve your password

    Please enter your username or email address to reset your password.

    Log In

    Add New Playlist

    Sem Resultado
    Ver Todos Resultados
    • Home
    • Cursos
    • Pós-Graduação
    • Blog
    • Sobre Mim
    • Contato
    • English

    © 2024 Sigmoidal - Aprenda Data Science, Visão Computacional e Python na prática.