Simplificando a Análise Fundamentalista com Python

Olá pessoal, hoje eu vou mostrar pra vocês como baixar dados dos balanços das empresas na bolsa de valores para uma análise fundamentalista precisa e eficiente, vamos encontrar nossa base de dados no site https://www.fundamentus.com.br

1. Facilidade na Coleta de Dados: Python oferece bibliotecas poderosas que simplificam a extração de dados de balanços financeiros online. Com apenas algumas linhas de código, é possível automatizar o processo de coleta, economizando tempo e esforço.

Olá pessoal, hoje eu vou mostrar pra vocês como baixar dados dos balanços das empresas na bolsa de valores para uma análise fundamentalista precisa e eficiente, vamos encontrar nossa base de dados no site https://www.fundamentus.com.br

2. Análise Fundamentalista Eficiente: Através de bibliotecas como Pandas e NumPy, com Python conseguimos a rápida manipulação e análise de grandes conjuntos de dados financeiros. Investidores podem calcular métricas-chave, como índices de endividamento, rentabilidade e patrimônio líquido, obtendo uma visão abrangente da saúde financeira de uma empresa.

3. Tomada de Decisões Embasada em Dados: Com Python, é possível criar modelos que automatizam a avaliação de indicadores fundamentais, ajudando os investidores a determinar se uma empresa está cara, barata ou adequadamente precificada. Essa abordagem baseada em dados oferece uma vantagem significativa na tomada de decisões de investimento.

4. Atualizações em Tempo Real: Utilizando APIs financeiras e bibliotecas como yfinance, ou alguns sites como o Fundamentus e Investing.com, conseguimos manter suas análises sempre atualizadas. Isso permite uma vigilância constante sobre as condições financeiras de uma empresa, possibilitando ajustes rápidos às mudanças no cenário econômico.

Vamos ver um modelo de aplicação simples e eficaz:

Importando Bibliotecas:

import numpy as np import pandas as pd import string import warnings warnings.filterwarnings('ignore') import requests

Obtendo e tratando os dados:
url = 'http://www.fundamentus.com.br/resultado.php'



header = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36" } r = requests.get(url, headers=header)


df = pd.read_html(r.text, decimal=',', thousands='.')[0]


for coluna in ['Div.Yield', 'Mrg Ebit', 'Mrg. Líq.', 'ROIC', 'ROE', 'Cresc. Rec.5a']: df[coluna] = df[coluna].str.replace('.', '') df[coluna] = df[coluna].str.replace(',', '.') df[coluna] = df[coluna].str.rstrip('%').astype('float') / 100


Analisando os dados:
df = df[df['Liq.2meses'] > 1000000]

ranking = pd.DataFrame() ranking['pos'] = range(1,151) ranking['EV/EBIT'] = df[ df['EV/EBIT'] > 0 ].sort_values(by=['EV/EBIT'])['Papel'][:150].values ranking['ROIC'] = df.sort_values(by=['ROIC'], ascending=False)['Papel'][:150].values


a = ranking.pivot_table(columns='EV/EBIT', values='pos')

b = ranking.pivot_table(columns='ROIC', values='pos')

t = pd.concat([a,b])


rank = t.dropna(axis=1).sum()

rank

rank.sort_values()[:15]


Aconselho que você implemente o código, deixe com sua cara, você pode adicionar gráficos e outros indicadores, facilitando a visualização de cada empresa.




Comentários