/brFinance

Primary LanguageJupyter NotebookMIT LicenseMIT

Contributors Forks Stargazers Issues MIT License LinkedIn


Logo

brFinance

A Python web scraping package to simplify access to financial data of brazilian companies and institutions.

View Demo · Report Bug · Request Feature

Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. Contributing
  6. License
  7. Contact
  8. Acknowledgements

About The Project

brFinance is a web scraping package to simplify access to financial data. It provides data from various sources such as CVM (brazilian equivelent of SEC), B3 (Brazilian stock exchange), Banco Central (brazilian equivalent of FED), ANBIMA, etc.

Here's is some of the data currently available:

  • 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
  • Banco central PTAX (average trade price for currencies in BRL)

  • ANBIMA IMA index (brazilian bonds index)

Built With

This package uses mainly:

Getting Started

brFinace uses selenium and webdriver to automate page navigation (ChromeDriver, Geckodriver, etc). The package sets up the driver automaticaly, however you can also set it up on your own. Click here to understand how to setup Selenium webdriver on your OS.

Installation

  1. Install the package
    pip install git+git://github.com/eudesrodrigo/brFinance

Usage

Brazilian companies data (Quarter and Anual reports)

We encourage you to have a look at our Example.ipynb where you will find a quick explanation on how to instatiate a company object and get the data available.

This package gets data from the CVM website that is periodically updated. Method to get the CVM codes and company names available.

After importing the package you can create a new Company object by providing the company CVM code: Creating a new object to get Petrobras' financial data. The package will start the web scraping process (It takes a while...).

Once you have instatiated the Company object you can access its attributes. The "reports" attribute is a list of dicts with all financial statements available organized by reference date:

Petrobras' Income Statement dataframe (DRE)

You can also use the method cod_cvm_list() from class SearchENET to find the CVM code for a specific company: Method to get the CVM codes and company names available.

Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

License

Distributed under the MIT License. See LICENSE for more information.

Contact

Your Name - @eudesrodrigo - eudesrodrigo@outlook.com

Project Link: https://github.com/eudesrodrigo/brFinance

Acknowledgements