Skip to main content

Biblioteca em Python com o objetivo de facilitar o acesso a dados financeiros periódicos de empresas brasileiras(B3/CVM).

Project description

Contributors Forks Stargazers Issues MIT License LinkedIn

brfinance - Acesse facilmente dados financeiros de empresas brasileiras na B3/CVM

Biblioteca em Python com o objetivo de facilitar o acesso a dados financeiros periódicos de empresas brasileiras(B3/CVM).

  • Financial statements:
    • Balanço Patrimonial Ativo (Balance sheet - Assets)
    • Balanço Patrimonial Passivo (Balance sheet - Liabilities)
    • Demonstração do Resultado (Income statement)
    • Demonstração do Resultado Abrangente
    • Demonstração do Fluxo de Caixa (Cash flow statement)
    • Demonstração das Mutações do Patrimônio Líquido
    • Demonstração de Valor Adicionado

Instalação

$ pip install brfinance

Como utilizar

Veja como é simples utilizar:

from cvm import CVMAsyncBackend, http_client, connector

from datetime import datetime, date


cvm_httpclient = CVMAsyncBackend()

# Realizando busca por Empresa

start_date = date(2010, 1, 1)
end_dt = date(2022, 1, 1)
cvm_codes_string = "021610" # B3
report_type = "EST_4" # Código de categoria para DFP
last_ref_date = False # Se "True" retorna apenas o último report no intervalo de datas
reports_list = None # Se None retorna todos os demonstrativos disponíveis.

# Busca
search_result = cvm_httpclient.get_consulta_externa_cvm_results(
    cod_cvm=cvm_codes_string,
    start_date=start_date,
    end_date=end_dt,
    last_ref_date=last_ref_date,
    report_type=report_type
    )

# Filtrar dataframe de busca para DFP e ITR apenas
search_result = search_result[
    (search_result['categoria']=="DFP - Demonstrações Financeiras Padronizadas") |
    (search_result['categoria']=="ITR - Informações Trimestrais")]
search_result = search_result[pd.to_numeric(search_result['numero_seq_documento'], errors='coerce').notnull()]

# Obter demonstrativos
for index, row in search_result.iterrows():
    empresa = f"{row['cod_cvm']} - {cvm_codes[row['cod_cvm']]}"
    print("*" * 20, empresa, "*" * 20)
    reports = cvm_httpclient.get_report(row["numero_seq_documento"], row["codigo_tipo_instituicao"], reports_list=reports_list)
    
    for report in reports:
        reports[report]["cod_cvm"] = row["cod_cvm"]
        print(reports[report].head())

Você pode acessar exemplos completos clicando aqui.

Funções disponíveis

Através da classe de client CVMAsyncBackend, você terá acesso as seguintes funções:

Função Parâmetros Descrição
get_cvm_codes - Obtém os códigos cvm disponíveis para todas as empresas. Retorna um dicionário com o código CVM de chave e o nome da empresa.
get_consulta_externa_cvm_categories - Obtém os códigos para as categorias de busca disponíveis, dentre elas "DFP", "ITR", etc. Retorna um dicionário com o código da busca e a descrição.
get_consulta_externa_cvm_results cod_cvm, start_date, end_date, last_ref_date, report_type Obtém o resultado da busca para os dados informados. Retorna um dataframe com os resultados.
get_report numero_seq_documento, codigo_tipo_instituicao Utilizado para obter todos os demonstrativos de uma empresa na CVM. Retorna um dicionário com os nomes e os valores dos demonstrativos em um dataframe.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

brfinance-0.0.1.tar.gz (71.9 kB view details)

Uploaded Source

File details

Details for the file brfinance-0.0.1.tar.gz.

File metadata

  • Download URL: brfinance-0.0.1.tar.gz
  • Upload date:
  • Size: 71.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.61.1 CPython/3.9.4

File hashes

Hashes for brfinance-0.0.1.tar.gz
Algorithm Hash digest
SHA256 9f0d1e237f2e39a55be84a5c3e904e719bb0a436208785c0b35d0800dccc260d
MD5 ba2a360f8c58c8124a026f42ec455f90
BLAKE2b-256 d1d0664da23fe8ed7f769e1e04e52aa1247fef38fde89952fed3e5903484f880

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page