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
- ADVFN for fundamentals
- fundamentus for balance sheets and income statements.
Install fundamentos
using pip:
$ pip install fundamentos
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
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()
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
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)
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)
fundamentos
is distributed under the MIT License. See the LICENSE.txt file in the release for details.