Como pegar dados do Balanço de Empresa da Bolsa na CVM com Python | Python no Mercado Financeiro

แชร์
ฝัง
  • เผยแพร่เมื่อ 11 ต.ค. 2024

ความคิดเห็น • 29

  • @rubemfigueredo5182
    @rubemfigueredo5182 7 หลายเดือนก่อน +1

    Brenno Sullivan, você é muito bom!! Não deixe de levar em consideração o comentário anterior que fiz. Parabéns.

  • @gustavocavalcanti86
    @gustavocavalcanti86 2 ปีที่แล้ว +2

    Caramba, man, tá trabalhando mais que o cozinheiro do Péricles! Vídeo quase todo dia! Valeu por mais esse

  • @virgiliopiresdacosta9591
    @virgiliopiresdacosta9591 2 ปีที่แล้ว

    Vídeo com conteúdo extraordinário!

  • @silmarnevesmoreno3958
    @silmarnevesmoreno3958 ปีที่แล้ว

    Top! você é o cara!

  • @gabrielaugusto1839
    @gabrielaugusto1839 ปีที่แล้ว

    Muito obrigado pelos videos! Conteúdo muito diferenciado

  • @rubemfigueredo5182
    @rubemfigueredo5182 7 หลายเดือนก่อน

    O vídeo é muito bom, mas acho que deveria incluir as seguintes linhas no final do script:
    # VOLTA AO DIRETÓRIO SUPERIOR À PASTA dados_cvm
    from os.path import expanduser
    sup_dir = expanduser("~") # VOLTA AO DIRETÓRIO SUPERIOR
    os.chdir(f"{sup_dir}")

  • @Fernando-zr4os
    @Fernando-zr4os ปีที่แล้ว

    Olá, o link do minicurso gratuito de Python que está na descrição do vídeo está levando a uma pagina que diz que o vídeo é privado...

  • @silmarnevesmoreno3958
    @silmarnevesmoreno3958 ปีที่แล้ว

    Alguma tabela tem informações acerca do dividendo e JCP? Gostaria de sugerir que faça algo parecido com os dados de fundos imobiliários. Hoje temos mais de 2 milhões de investidores em fiis

  • @estevaomesquita5180
    @estevaomesquita5180 2 ปีที่แล้ว

    Vídeo tooooop

  • @brunatavares1873
    @brunatavares1873 2 ปีที่แล้ว +1

    Muito bom o vídeo!!
    eu sou nova nesse trem de Python, mas sou contadora!!
    eu tive uma dificuldade com esse bloco:
    "
    base_dados[['con_ind','tipo_dem']] = base_dados['GRUPO_DFP'].str.split("=" , expand = True)
    base_dados['con_ind'] = base_dados['con_ind'].str.strip()
    base_dados['tipo_dem'] = base_dados['tipo_dem'].str.strip()
    base_dados = base_dados[base_dados["ORDEM_EXERC"] != "PENÚLTIMO"]
    "
    ele simplismente não roda ( o passo anterior saiu a tabela com 12083722 linhas × 20 colunas )
    o erro que aparece é:
    ---------------------------------------------------------------------------
    ValueError Traceback (most recent call last)
    Input In [12], in ()
    ----> 1 base_dados[['con_ind','tipo_dem']] = base_dados['GRUPO_DFP'].str.split("=" , expand = True)
    3 base_dados['con_ind'] = base_dados['con_ind'].str.strip()
    4 base_dados['tipo_dem'] = base_dados['tipo_dem'].str.strip()
    File ~\anaconda3\lib\site-packages\pandas\core\frame.py:3643, in DataFrame.__setitem__(self, key, value)
    3641 self._setitem_frame(key, value)
    3642 elif isinstance(key, (Series, np.ndarray, list, Index)):
    -> 3643 self._setitem_array(key, value)
    3644 elif isinstance(value, DataFrame):
    3645 self._set_item_frame_value(key, value)
    e fiz o minicurso. muito bom tb!!!

    • @gusp94
      @gusp94 2 ปีที่แล้ว +2

      Bruna, não sei se vc já conseguiu resolver, mas ali na primeira linha do bloco que vc tá com dificuldade vc digitou '=' no lugar de '-' , o correto seria:
      base_dados[['con_ind','tipo_dem']] = base_dados['GRUPO_DFP'].str.split("-", expand = True)

    • @FelipeCFerro
      @FelipeCFerro 7 หลายเดือนก่อน

      Mesmo problema aqui. Não sei ainda o que pode ser. Não é o "=" no lugar do "-".

    • @FelipeCFerro
      @FelipeCFerro 7 หลายเดือนก่อน

      Achei a resposta. Ao invés de escrever "TRUE" é preciso escrever "True"

  • @melstoninvestidor
    @melstoninvestidor ปีที่แล้ว

    Então. Alguns dados são padronizados como a receita líquida, pois estarão sempre sob o código 3.01 da DRE. Entretanto, os dados da DFC como depreciação, aquisição de imobilizado e dividendos pagos estão sempre em códigos ou nomenclatura diferentes. Tem como repadronizar isto? E para piorar, se pegar os dados de anos anteriores, mesmo dentro da mesma empresa, pode haver despadronização de dados...

    • @varos-programacao
      @varos-programacao  ปีที่แล้ว +3

      Sim, isso é normal. Você vai ter que fazer esse ajuste fino no dedo, criar uma amostra de possíveis textos pra representar x dado.. eu já fiz isso aqui internamente pra montar a base de dados dos alunos do código.py

  • @Daitrayder
    @Daitrayder 11 หลายเดือนก่อน

    Boa tarde, estive tentando de diversas formas mas não consegui.
    Quando eu baixei os arquivos zip, tentei abrir o arquivo para ver se estava tudo ok mas deu erro de UTF-8, dae eu pensei " deve estar tentando ler em formato txt"
    Quando eu tento extrair os arquivos do zip aparece esse erro:
    "BadZipFile, File is not a zipfile"
    Não consegui encontrar uma solução, vou pesquisar outras formas.

    • @abjoan
      @abjoan 11 หลายเดือนก่อน

      Substitua a parte do código por essa aqui:
      lista_demostracoes_2010_2023 = []
      diretorio_atual = os.getcwd()
      for arquivo in os.listdir(diretorio_atual):
      if arquivo == ".ipynb_checkpoints":
      continue
      if arquivo.endswith(".zip"): # Verifique se o arquivo tem a extensão .zip
      try:
      arquivo_zip = zipfile.ZipFile(arquivo)
      for planilha in arquivo_zip.namelist():
      demostracao = pd.read_csv(arquivo_zip.open(planilha), sep=";", encoding="ISO-8859-1", dtype={"ORDEM_EXERC": "category"})
      lista_demostracoes_2010_2023.append(demostracao)
      except zipfile.BadZipFile:
      print(f"O arquivo {arquivo} não é um arquivo ZIP válido e será ignorado.")
      O código analisa os arquivos em um diretório atual e tenta abrir os arquivos com a extensão .zip. Se um arquivo não for um arquivo ZIP válido, ele será ignorado. Isso é feito para evitar problemas com arquivos corrompidos ou que não são ZIPs válidos. Aparentemente o arquivo de 2020 está corrompido
      Acredito que isso resolva o problema de vocês!

    • @Daitrayder
      @Daitrayder 10 หลายเดือนก่อน

      Boa noite, obrigado pelo comentário. Ainda não consegui, testei e não deu certo. Vou tentar de outra forma.@@abjoan

  • @igormarques561
    @igormarques561 2 ปีที่แล้ว

    Fala, paizão!
    Tranquilidade?
    Se ligaa, tem uma previsão de quando o curso de Python vai ficar 100% pronto? Ademais, tem uma previsão de quanto vai ser o valor dele?

    • @varos-programacao
      @varos-programacao  ปีที่แล้ว

      Fala Igor! O curso deve estar 100% finalizado entre janeiro e fevereiro, mas até dezembro já terá praticamente 90%

  • @marcusfreire5769
    @marcusfreire5769 ปีที่แล้ว

    o codigo completo dessa aula, ainda está disponivel ?

  • @MatheusHenrique-jo3bw
    @MatheusHenrique-jo3bw ปีที่แล้ว

    base_dados = pd.concat(lista_demonstracoes_2010_2022)
    base_dados
    Fiz tudo certinho mas nessa parte do código quando coloco parar rodar não aparece a lista e nem erro, alguém pode me auxiliar?

  • @guilhermesantossilva4002
    @guilhermesantossilva4002 ปีที่แล้ว

    Fala Brenno, boa tarde!
    Mano, na parte de extrair os arquivos ZIP o meu código está dando um erro como se não existisse arquivos ZIP dentro da pasta, consegue me ajudar?
    ---------------------------------------------------------------------------
    BadZipFile Traceback (most recent call last)
    Input In [21], in ()
    9 pass
    11 else:
    ---> 13 arquivo_zip = zipfile.ZipFile(arquivo)
    15 for planilha in arquivo_zip.namelist():
    17 demonstracao = pd.read_csv(arquivo_zip.open(planilha), sep = ';', encoding = 'ISO-8859-1',
    18 dtype = {"ORDEM_EXERC" : "category"})
    File ~\anaconda3\lib\zipfile.py:1266, in ZipFile.__init__(self, file, mode, compression, allowZip64, compresslevel, strict_timestamps)
    1264 try:
    1265 if mode == 'r':
    -> 1266 self._RealGetContents()
    1267 elif mode in ('w', 'x'):
    1268 # set the modified flag so central directory gets written
    1269 # even if no files are added to the archive
    1270 self._didModify = True
    File ~\anaconda3\lib\zipfile.py:1333, in ZipFile._RealGetContents(self)
    1331 raise BadZipFile("File is not a zip file")
    1332 if not endrec:
    -> 1333 raise BadZipFile("File is not a zip file")
    1334 if self.debug > 1:
    1335 print(endrec)
    BadZipFile: File is not a zip file

    • @igorsarcinelli3241
      @igorsarcinelli3241 ปีที่แล้ว

      Boa tarde!! Você poderia mostrar a resolução?? Aconteceu o mesmo comigo

    • @MarcelCardosoS
      @MarcelCardosoS ปีที่แล้ว

      @@igorsarcinelli3241 Z e P são maiusculo

    • @rudahxavier1559
      @rudahxavier1559 ปีที่แล้ว

      tive o mesmo erro, como conseguiu corrigir?

    • @abjoan
      @abjoan 11 หลายเดือนก่อน

      Substitua a parte do código por essa aqui:
      lista_demostracoes_2010_2023 = []
      diretorio_atual = os.getcwd()
      for arquivo in os.listdir(diretorio_atual):
      if arquivo == ".ipynb_checkpoints":
      continue
      if arquivo.endswith(".zip"): # Verifique se o arquivo tem a extensão .zip
      try:
      arquivo_zip = zipfile.ZipFile(arquivo)
      for planilha in arquivo_zip.namelist():
      demostracao = pd.read_csv(arquivo_zip.open(planilha), sep=";", encoding="ISO-8859-1", dtype={"ORDEM_EXERC": "category"})
      lista_demostracoes_2010_2023.append(demostracao)
      except zipfile.BadZipFile:
      print(f"O arquivo {arquivo} não é um arquivo ZIP válido e será ignorado.")
      O código analisa os arquivos em um diretório atual e tenta abrir os arquivos com a extensão .zip. Se um arquivo não for um arquivo ZIP válido, ele será ignorado. Isso é feito para evitar problemas com arquivos corrompidos ou que não são ZIPs válidos. Aparentemente o arquivo de 2020 está corrompido
      Acredito que isso resolva o problema de vocês!