nesse vídeo aqui eu vou te mostrar como você pode extrair os balanços da cvm utilizando o Python Então bora aqui para o computador que eu vou te mostrar como você pode fazer isso bom o primeiro ponto é você saber onde estão esses balanços se você digitar no Google dados cvm você vai chegar nesse sitezinho aqui aqui você vem em conjunto de dados depois vem companhias e aqui a gente tem os dados de todas as empresas de Capital aberto na Bolsa de Valores todos os dados que elas enviam para cvm e trdfp formulário de referência o
que a gente vai pegar hoje é adfp que é o fechamento ali de ano de todas as empresas da Bolsa de Valores Beleza então vamos olhar aqui o dfp que é esse linkzinho aqui e existem três formas de você puxar os balanços de dfp que é o balanço ali de fechamento de aula fiscal a primeira forma é você puxar no dedo Você vai no recurso aqui e baixa a planilha eu vou baixar para ele aqui ó se a gente abrir a gente vai achar que o zip na verdade né baixar o zip a gente vai
ter todas as planilhas aqui com os balanços balança patrimonial ativo balanço patrimonial passivo demonstração de resultados de exercício a segunda forma é a forma um pouco mais Hardcore que a gente vai fazer aqui agora com python que é entrar nesse linkzinho aqui que eu acabei de clicar ó vou mostrar para vocês esse linkzinho aqui com o histórico desde 2010 que vai dar para o histórico de 2010 a 2022 com a dfp E aí existe a terceiro modo que eu vou mostrar aqui para vocês agora que aí vamos imaginar Vamos abrir de novo Zip aqui que
qualquer exemplo que você baixar aqui vai ter essa mesma estrutura aqui com as planilhas dentro e aí você tem a opção você abrir uma planilha propriamente dita e pegar os dados Então a gente vai colocar até lá todas as planilhas aqui no banco de dados só é exatamente isso que a gente vai fazer nesse vídeo inclusive e a segunda forma terceira na verdade né de você pegar os dados é um formato um pouco mais otimizado a cvm lá demora para disponibilizar os balanços aqui no site na planilha demora uns dois a três dias o que
você pode fazer é vir aqui nesses links ó nesse desenho de point e pegar o balanço ó se você botar aqui ó digitar enter você vai baixar o zip um outro Zip ó esse aqui é um outro Zip e aqui dentro desse Zip aqui que é um pouquinho menor a gente vai encontrar o balanço de alguma empresa através de um XML eu vou abrir aqui quando tiver concluído o download Beleza a gente chegou aqui ó no XML e esses ml aqui ele vai estar disponível no minuto seguinte empresa divulgou o balanço Beleza então isso aqui
é uma forma um pouco mais Hardcore demora bastante exige muito mais código não tem porque a gente fazer isso até porque aqui a gente já tem o histórico de 2010 a 2022 aquilo ali é só se você quiser operar é modelo de muito muito alta frequência ali aquilo ali é só se você quiser realmente o resultado na mesma hora dentro do seu banco de dados mas aqui você já tem um histórico de 22 anos de todas as empresas da bolsa canceladas ativas Então você já consegue fazer 90% das coisas que você precisa Então vamos lá
para o nosso código finalmente aqui vamos abrir o nosso Júpiter notebook e aqui tem uma coisa que você tem que fazer antes na pasta que você for Criar o seu código cria também uma pasta chamado dados cvm é aqui que a gente vai colocar esse jipe se a gente vai baixar esses zips dentro do nosso computador e a partir disso a gente vai extrair os dados então cria uma pastazinha onde vai ficar armazenada esses zips E aí a gente dentro do nosso código a gente vai trabalhar com essa pastazinha aqui ok para a gente ter
isso da melhor forma possível no nosso computador mais organizado e tudo mais tá então vamos voltar para o Júpiter notebook e qual é a primeira coisa que a gente vai fazer a primeira coisa que a gente vai fazer é importar o pandas pedir importar o módulo de request para a gente dar o request aqui na nossa URL já já você vai entender o que que é isso importar o módulo os importar o zip file também porque é módulo que a gente vai zipar esses arquivos Breno o que que é módulo como é que importa isso
como é que eu baixo o pandas como é que eu baixo Júpiter no notebook não sei quê aqui na descrição tem um minicurso gratuito de Python se você quiser faça um projetinho ali uma análise dados do setor bancário no Brasil e o teste se cotação seguir o lucro no longo prazo aqui no Brasil no setor bancário e outra coisa que tem aqui na descrição também é uma aula dia 15 de agosto vai ser uma aulazinha também gratuita de pai que eu vou fazer um projeto de um backstast de Factor investe aqui no Brasil vou criar
um modelo de investimento dentro da aula e também vai ser abertura da minha primeira turma do curso de Python código ponto pai vai ter uma condição especial Então se inscreve aqui tanta mini curso quanto na aula gratuita de Python que vai acontecer dia 15 às 8 horas tá segunda-feira que vem 8 horas da noite mas voltando nosso código o que a gente vai fazer aqui agora é pegar o diretório atual dando um get cwd e depois a gente vai mudar o nosso diretório para o nosso diretório atual e também pegar o dado icvm por que
que eu tô fazendo isso aqui primeiro que isso aqui funciona em qualquer computador então se você tiver aí Quiser copiar o meu código não tem problema o diretório que você tiver ele vai pegar e depois a gente vai fazer aqui vai mudar para o dado cvm Porque aonde a gente vai baixar os nossos arquivos Beleza então se a gente rodar aqui a gente vai trocar o nosso diretório diretório onde a gente vai baixar os arquivos Qual é a próxima coisa que a gente tem que fazer é criar o nosso Range aqui de anos que a
gente vai baixar os arquivos que é 2010/2023 e depois pegar a nossa realidade Deixa eu botar aqui anos e pegar na sua realidade o RL base que essa URL aqui que eu acabei de mostrar para vocês onde tem as dfpas a gente vai dentro desse link aqui buscar as dfpas Beleza então vamos dar nossa URL base aqui botar tudo entre aspas e a partir da nossa URL básica a gente acabou de montar a gente vai criar um for [Música] e vai baixar os arquivos que a gente precisa request.gate para nossa URL Então a gente vai
aqui na nossa URL e buscar os arquivos dando o método get tá usando a nossa realidade que a gente acabou de definir mas o nome do arquivo que no caso a gente vai usar uma f string aqui dfp se aberta E aí a gente vai usar um ano que a gente tá rodando aqui dentro do nosso look ponto Zip fechar nossa string depois vamos abrir esse arquivo né Para a gente baixar ele de fato no nosso computador vamos pegar aqui o arquivo que a gente acabou de definir Vamos dar um Ops peguei duplicado a gente
acabou de definir vai abrir nesse modo aqui e vamos baixar de fato ele nosso computador utilizando o download ponto contente que é variável que a gente acabou de criar aqui no request.s a gente vai criar nossa variável e vai dar o download dessa variável aqui utilizando contente aqui esse atributo e dando right aqui dentro do nosso computador Então beleza vamos rodar isso aqui vamos ver se está tudo certinho bom não tá tudo certinho né tem que mudar aqui para o Cia senão a gente não vai conseguir rodar E faltou não só mudar essa parte aqui
de baixo como essa partezinha aqui de cima também eu vou botar o ar aqui e agora vai rodar tudo bonitinho a gente vai conseguir baixar o nosso arquivos Beleza se a gente olhar aqui a nossa pastinha da do cvm a gente acabou de baixar todos os dfpas todos os itens bonitinhos vão até olhar aqui ó se a gente olhar a gente vê que tá tudo certinho no nosso Zip Beleza então agora que que a gente vai fazer vai pegar as demonstrações dentro desse Zip Então vamos lista de demonstrações 2010/2022 vamos criar uma lista aqui vamos
pegar o nosso diretório atual novamente porque ele lembra a gente mudou o nosso dire porque eu tô pegando diretório porque agora dentro desse diretório atual a gente esse diretório aqui que a gente baixou os arquivos a gente vai Zip a Zip e dentro de cada Zip deixa eu ver se tá aberto aqui ainda tá assim dentro de cada Zip a gente vai dentro de cada planilha pegar os dados Então a gente vai criar dois grupos primeiro loop rodando o zip zip depois o Lupe rodando planilha a planilha Beleza então vamos lá a gente pode fazer
aqui um fora arquivo que a gente vai estar listando aqui o diretório que a gente tá e a gente vai pegar o diretório atual que a gente acabou de fazer tá vamos rodar aqui e aí a gente tem que criar um iffzinho aqui porque como a gente está listando diretório Às vezes o Júpiter notebook deixa um arquivo oculto dentro do diretório Então a gente tem que deixar aqui if arquivo igual a ponto e y n b Check Point a gente vai passar caso contrário a gente vai realmente ler nosso arquivo Deixa eu botar aqui bonitinho
conseguindo enxergar bem Beleza agora a gente vai zipar o nosso arquivo arquivo zip igual a Zip file aí a gente entra com maiúsculo aqui agora que a gente já deu o zip do nosso arquivo a gente pode simplesmente fazer o nosso for dentro das planilhas em arquivos entre parênteses e agora a gente vai pegar Nossa demonstração em cada planilha então cada planilha dentro do nosso arquivo zip a gente vai dar um read csv que já tá até aqui no meu control c control V para a gente não perder tempo digitando isso se vier que é
uma função do pandas E aí aqui eu ainda deixei uma otimizaçãozinha de memória porque tem uma coluna que é uma categoria que a gente vai filtrar já já você vai ver isso eu vou ter uma otimização de memória aqui para a gente não perder muito tempo com ela a separação aqui mesmo sendo um csv que é separado por vírgula Ah você vem eu utilizo os dois pontos e é importante a gente colocar esse code aqui para o nosso código não bugar Beleza então a gente vai pegar essa demonstração e colocar aqui dentro da nossa lista
dentro da nossa lista a gente vai dar um apende na nossa demonstração que a gente acabou de criar o que que a gente está fazendo isso porque com essa lista a gente consegue em cada Data Frame colocar dentro dessa lista depois colocar treinar tudo juntar tudo nota FM só não tabelão só tá então a gente vai fazer isso que a forma mais utilizada de fazer já coloco uma lista dentro do loop depois só que você colocar a tela não faz o pd.com.br sabe o que que é isso dentro do loop porque isso vai consumir muita
memória à toa do seu computador Beleza não é uma forma otimizada de escrever o código Então beleza vamos rodar isso aqui vamos ver se tá tudo certo também você não ficou metido em uma bobagem Beleza a gente rodar aqui agora a gente vai começar a fazer o nosso vídeo csv em cada demonstração esse aqui vai demorar um pouquinho porque agora a gente vai rodar todos os csv E aí depois a gente vai colocar Treinar esse negócio então a gente vai fazer o que a gente vai pegar a demonstração eu vou estar aqui base dados igual
APB a gente já pode criando o programa enquanto está rodando aqui não tem problema nenhum perder ponto concreto demonstração vou dar um print aqui em base de dados porque aí a gente consegue ver visualizar nossa base de dados E além disso eu vou começar a tratar essa base de dados eu já tô cansada de ver como essa planilha é então consigo tratar ela mesmo sem ver ela aqui no final a gente tem uma base de dados interna na empresa então a gente já cansei de ver esse site da cvm também então se a gente pegar
aqui a nossa base de dados que que a gente vai fazer a gente Primeiro vai separar uma coluna que tem junto o nome da demonstração financeira E se ela é consolidada ou individual também essas coisas juntas para mim não faz sentido você quer filtrar alguma coisa você tem que filtrar as duas ao mesmo tempo e não faz sentido nenhum então a primeira coisa que a gente vai fazer é filtrar esse tipo de informação criando duas colunas aqui com indique a consolidado individual e tipo tem que é o tipo da demonstração financeira demonstração de resultados exercício
balanço patrimonial e tudo mais então a gente vai botar aqui igual base de dados vai pegar a coluna que é a coluna junta e vai dar um split nessa coluna utilizando o hífen porque ela é separado por hífen as informações beleza então beleza Então tá outra coisa que a gente vai fazer também é esqueci de botar o baseado aqui e a gente vai botar o básico aqui embaixo de novo e aí agora a gente vai pegar essas colunas que a gente acabou de criar e dá um strip nelas porque a gente vai dar esse strip
strip é uma função do pandas para você tirar esses espaços vazios Então como elas estão separadas por hífen tem um espaço e enfim espaço as colunas elas vão com esse espacinho na versão final Então a gente tem que tirar esse espacinho que aparece usando STR ponto strip E aí a gente vai fazer a mesma coisa para coluna de tipo de demonstração financeira Vamos dar um control c control V aqui tem problema nenhum programador que é programador faz isso e por último a cvm ela envia para a gente não só os últimos balanços como os penúltimos
também a cada planilha e a gente não quer essa porcaria A gente só quer o último balanço Então a gente vai pegar o nosso base de dados aqui e aí a gente vai filtrar apenas o último balanço Então a gente vai ordem exercício diferente de penúltimo beleza vamos filtrar isso aqui vamos ver se já rodou o nosso programa Opa já rodou Legal vamos rodar aqui embaixo então só vamos tomar cuidado aqui que a gente botou demonstração em vez de botar Nossa lista né Aí não vai funcionar nunca vamos dar o nosso Conquest aqui beleza e
aí se a gente dá esse PPD ponto Conquest a gente tem a nossa base aqui ó bonitinha legal a gente já tem nossa base de dados funcionando de forma bem interessante Beleza então agora a gente pode fazer o que a gente pode tratar nossa base de dados que é o que eu tava fazendo aqui embaixo agora E aí depois que a gente trata nossa base de dados a gente tem que saber qual é a lista de empresas e demonstrações financeiras para a gente realizar nossos filtros já então a gente tem que pegar a lista de
demonstração financeira vamos pegar aqui a base de dados e qual é a colunas de demonstração financeira a gente acabou de criar né tipo de demonstração Então a gente vai pegar aqui ó tipo demonstração bom e Unique para a gente pegar os valores únicos E aí vamos só esperar o nosso programinha rodar aqui enquanto nosso programa não roda a gente pode até criar outra coisa aqui ó lista de empresas Então as listas de empresas vão pegar aqui ó base de dados mesma estrutura para a gente saber quais empresas estão disponíveis só que aqui a gente vai
pegar o nome da coluna que tá o nome das empresas que é essa aqui ó denominação companhia e colocar aqui e a gente pode dar um print aqui ó a lista empresas existem empresas como rodar aqui ó primeira lista demonstração dá o print dela a gente consegue pegar balanço patrimonial ativo de caixa demonstração de valores adicionais e tudo mais e a lista empresas a gente consegue fazer a mesma coisa a gente tem uma listinha aqui a gente pode transformar essa lista no que a gente quiser pesquisar alguma coisa nela e tudo mais só que aqui
para pegar como exemplo com vocês eu vou pesquisar coisas da WEG Então como é que a gente pode pesquisar o balanço da Veg dentro dessa base de dados aqui ó se vocês deram uma olhada a nossa base de dados tem 2 milhões de linhas e 20 colunas o que dá mais ou menos aí 240 milhões de dados Então essa tabela aqui tem 240 milhões de dados tá não é pouca coisa não é uma tabela bem extensa aqui no pandas e como é que a gente pode achar então os dados da velha a gente pode simplesmente
dar aqui ó velho assim eu estava com uma colinha no meu control c para a gente não perder muito tempo velho E aí essa base de dados que eu colei aqui simplesmente a gente vai fazer os mesmos filtros que eu fiz aqui em cima abrindo como é que eu faço aqui eu não sei mexer no Panda já sei que lembrando mini curso na descrição aula gratuita dia 15 semana que vem eu fazendo um projetinho mas o minicurso é bem completo são quase duas horas de conteúdo clica lá e se inscreve Beleza então se eu botar
igual aqui é Veg que é o nome da WEG na cvm eu quero demonstração de resultado eu vou pegar aqui os dados de receita da WEG e eu quero a demonstração consolidada Então vamos dar um print aqui também na hora de rodar se a gente rodar isso aqui bonitinho a gente vai ter agora os dados da WEG beleza de 2010 até 2021 E aí a gente consegue aqui em 2021 a gente vê toda a evolução de receita da velha evolução de receita desde 2010 até o ano de 2021 isso aqui foi sua forma que você
tem de puxar o jato da cvm óbvio que você ainda pode tratar bastante esses dados aqui tirar essas colunas aqui não olhando aquela planilha mãe que eu falei para vocês que tem um XML enfim existem n forma de você tratar desses dados mas isso aqui era uma forma de você como você podia pegar esses dados lá na cvm se você conseguiu fazer e não esquece de dar um like aqui embaixo qualquer dúvida deixa nos comentários não esquece de se inscrever no canal e eu te vejo na próxima vídeo