Skip to content

Download Bovespa Stock Market fundamentals with Python.

License

Notifications You must be signed in to change notification settings

nathanmoura/fundamentos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fundamentos

License: MIT PyPI version PyPI pyversions Downloads GitHub stars

fundamentos is a tiny, threaded, package that allows you to quickly download historical data from the Brazilian Stock Market, both annualy and quarterly.

The sources from where it downloads data are

Instalation

Install fundamentos using pip:

$ pip install fundamentos

Quick Start

The get_fundamentos function

Get some fundamentals!

From default, the results are grouped by year, but if you want to, you can specify a quarter to download data from. Additionally, if you want to be even more specific, you can specify the year and the quarter from which you want to download.

import fundamentos as ftos

# Downloading data from Itaú Unibanco SA

# Downloads all historical fundamentals, annually
df = ftos.get_fundamentos('ITUB4')

# Downloads all historical fundamentals on third quarters
df = ftos.get_fundamentos('ITUB4', quarter=3)

# Downloads fundamentals from first quarter of 2013
df = ftos.get_fundamentos('ITUB4', year=2013, quarter=1)

The output is a pandas.DataFrame and its columns are hierarchically ordered by topics, which makes it easier to filter the data. However, if you need a regular index of columns you can specify that by passing separated=False as a parameter.

Topics are

  • Mercado - Market
  • Resultados - Income
  • Patrimônio - Net Worth
  • Caixa - Cash
  • Dívida - Debt
  • Liquidez e Solvência - Solvency and Liquidity
  • Fluxo de Caixa - Cash Flow
  • Investimentos - Investments
  • Dividendos - Dividends

So, for example, cash indicators could be accessed separately with

df['Caixa']

quick tip: if you can't understand the acronyms of the indicators you can use ftos.get_schema(), which is a function that returns a pandas.DataFrame with the full name versions of each indicator

The get_tickers function

This function returns a pandas.DataFrame with every company listed on the Brazilian Stock Market, their respective corporate names and codes

import fundamentos as ftos

tickers = ftos.get_tickers()

The get_balanco function

Get some balance sheets!

From default, the results are grouped by year, but if you want to, you can download them quarterly by using quarterly=True

import fundamentos as ftos

# Downloads all historical balance sheets, annually
df = ftos.get_balanco('ITUB4')

# Downloads all historical balance sheets, quarterly
df = ftos.get_balanco('ITUB4', quarterly=True)

As with get_fundamentos, the output is also a pandas.DataFrame with columns hierarchically ordered by topics. You can also deactivate that by passing separated=False as an argument.

Topics are

  • Ativo Total - Total Assets
  • Ativo Circulante - Current Assets
  • Ativo Não Circulante - Non-current Assets
  • Passivo Total - Total Liabilities
  • Passivo Circulante - Current Liabilities
  • Passivo Não Circulante - Non-current Liabilities
  • Patrimônio Líquido - Net Worth

The get_dre function

Get some income statements!

The parameters are pretty similar to thoses in get_balanco

import fundamentos as ftos

# Downloads all historical income statements, annually
df = ftos.get_dre('ITUB4')

# Downloads all historical income statements, quarterly
df = ftos.get_dre('ITUB4', quarterly=True)

The python help function

I tried to be as descriptive as I could on the docstrings, so if you need more information about what each function does you can use

help(function)

License

fundamentos is distributed under the MIT License. See the LICENSE.txt file in the release for details.