Fiz todo o passo a passo mostrado na aula e tentei todas as sugestões aqui do fórum mas nenhuma delas funcionou, a tabela no Power Bi aparece vazia.
Fiz todo o passo a passo mostrado na aula e tentei todas as sugestões aqui do fórum mas nenhuma delas funcionou, a tabela no Power Bi aparece vazia.
Olá Marcia! Tudo bem?
Atualmente utilizando a versão yfinance
do curso e o código da transcrição gera tabelas vazia. Obtive o mesmo comportamento, e no meu caso, consegui resolver após duas alterações principais no código e uma atualização na biblioteca yfinance
.
yfinance
Precisei atualizar o yfinance
para a versão 0.2.63. Com isso você deverá editar o arquivo no bloco de notasrequirements.txt
refletindo essa atualização. Ele ficará assim:
pandas==1.3.5
numpy==1.21.6
matplotlib==3.5.3
seaborn==0.12.0
fundamentus==0.2.0
yfinance==0.2.63
Atualize no cmd com o comando:
pip install -r requirements.txt
Utilizei a versão 3.10.11 do Python. Recomendo primeiro tentar com a versão que está instalada em seus sitema, caso obtenha algum erro de incompatibilidade entre versão do Python e biblioteca, recomendo utilizar essa mesma versão que utilizei Python 3.10.11. Lembre-se que você deverá estar com o seu ambiente virtual ativo.
Adicionei o parâmetro auto_adjust=False
Isso evita que o yfinance
ajuste os preços automaticamente (o que pode quebrar a estrutura dos dados com múltiplos ativos):
df = yf.download(carteira_yf, start="2022-08-01", end="2023-08-01", auto_adjust=False)
Renomeei a coluna do ticker após o empilhamento (stack
):
Troque level_1
por "Ticker"
:
cotacoes = cotacoes.reset_index().rename(columns={'Ticker': 'Ativo'})
Código completo:
# Código completo da obtenção dos dados históricos das cotações da carteira de 01/08/2022 à 01/08/2023
# Importando a biblioteca
import yfinance as yf
# Definindo a carteira de ações
carteira_yf = ['ABEV3.SA', 'B3SA3.SA', 'ELET3.SA', 'GGBR4.SA', 'ITSA4.SA',
'PETR4.SA', 'RENT3.SA', 'SUZB3.SA', 'VALE3.SA', 'WEGE3.SA']
# Carregando os dados da carteira
df = yf.download(carteira_yf, start="2022-08-01", end="2023-08-01", auto_adjust=False)
# Passando os ativos para o multindex do df
cotacoes = df.stack(level=1)
# Resetando os índices e renomenado a coluna dos ativos
cotacoes = cotacoes.reset_index().rename(columns={'Ticker': 'Ativo'})
# Organizando o df
cotacoes = cotacoes[["Date", "Open", "High", "Low", "Close", "Ativo"]]
del carteira_yf, df
Peço que testa esses novos ajustes e veja se o problema é solucionado,
Espero ter ajudado.
Qualquer dúvida que surgir, compartilhe no fórum.
Abraços e bons estudos!
Olá Monalisa.
Segui todas as suas instruções, mas a tabela continua vazia.
Oi, Márcia!
Para que eu possa entender melhor o seu ambiente e te ajudar com mais precisão, gostaria que fizesse alguns testes, por favor:
Certifique-se de que o diretório raiz do script Python está apontando para a pasta bt_dash
, como na imagem abaixo:
Abra o CMD (Prompt de Comando)
Navegue até a pasta bulltrend
com o comando:
cd bulltrend
Ative o ambiente virtual com:
bt_dash\Scripts\activate
Com o ambiente ativado, execute este comando:
python --version & pip show pandas numpy matplotlib seaborn fundamentus yfinance | findstr "Name Version"
Fico no aguardo!
Oi Monalisa.
Executei o comando
python --version & pip show pandas numpy matplotlib seaborn fundamentus yfinance | findstr "Name Version"
E estava mostrando a versão do Python 3.7.7., e mostrava as versõe das bibliotecas instaladas anteriormente. Desinstalei a versão Python 3.7.7 e tentei reinstalar as versões atualizadas.
pandas==1.3.5
numpy==1.21.6
matplotlib==3.5.3
seaborn==0.12.0
fundamentus==0.2.0
yfinance==0.2.63
Mas mostrava uma mensagem que não o python não estva instalado. Então destivei o ambiente virtual, exclui a pasta da bulltrend e reiniciei todo o processo para criação do ambiente virtual. Assim , consegui resolver o problema da tabela vazia.