guilhermecgs / ir

Projeto de calculo de Imposto de Renda em operacoes na bovespa automaticamente. Tags:canal eletronico do investidor, CEI, selenium, bovespa, IRPF, IR, imposto de renda, finance, yahoo finance, acao, fii, etf, python, crawler, webscraping, calculadora ir
Mozilla Public License 2.0
169 stars 45 forks source link

RIP CEI e mudança no modelo de Excel de negociação da B3 #33

Open gfreire57 opened 3 months ago

gfreire57 commented 3 months ago

Olá. Primeiramente, projeto muito interessante. Foi o único que encontrei até agora. Segundo, estou seguindo a importação manual dos dados de negociação da B3 usando a função importar_negociacoes, porém as colunas dos dados do excel se alteraram e acaba levantando um erro no Python:

As novas colunas no arquivo dado pela B3 são:

Código de Negociação Período (Inicial) Período (Final) Instituição Quantidade (Compra) Quantidade (Venda) Quantidade (Líquida) Preço Médio (Compra) Preço Médio (Venda)

Se você tiver algum arquivo antigo ainda, talvez seja possível comparar para fazer o depara corretamente. Ao mesmo tempo vou buscar no código os lugares para realizar a adaptação.

Além disso, tive problemas ao usar as versões sugeridas em requirements.txt. Estava tendo problemas com a biblioteca pywin32, erro de DLL (import win32file ImportError: DLL load failed while importing win32file: Não foi possível encontrar o procedimento especificado.). Estou rodando em venv, e aparentemente consegui resolver dando upgrade em todas as libs (veja função abaixo, achei interessante:


# Abrir o arquivo requirements.txt e ler todas as linhas
with open('requirements.txt') as f:
    packages = f.readlines()

# Iterar sobre todas as bibliotecas e atualizar cada uma
for package in packages:
    package_name = package.split('==')[0]
    subprocess.check_call(["pip", "install", "--upgrade", package_name])

Ultima coisa, estou explorando o código e notei que tem trechos remanescentes que puxa dados do CEI. Como o site não existe mais, não consegui ainda tentar transpor o código para a versão nova da B3 para manter a equivalência do processo (onde ir, onde clicar, quais dados pegar etc...). As vezes nem precisa, pois notei que vc já implementou algumas coisas para o site do Portal do Investidor da B3 (vide classe ImportadorNegociacaoB3). Quando eu puder, vou tentar explorar mais para tentar ajudar no projeto, mas saberia me dizer de antemão se o código funciona no geral com a versão nova do site (claro, com exceção do problema de importação manual acima)? Abs!

guilhermecgs commented 3 months ago

@gfreire57 , realmente o CEI morreu e o Portal do Investidor (site que substituiu o CEI) possui mecanismo que proibe a coleta automatica de informacoes. Nem adianta tentar fazer algo.

Com isso, o unico jeito é o input de informacoes via excel exportado do Portal do Investidor ou manualmente.

ps: O modulo de calcula de preco continua funcionando normalmente.

Sobre as colunas do excel, tu poderia submeter um PR? Essa funcionalidade eu não uso. Posso pedir a pessoa que implementou isso no passado para revisar