Banco Central do Brasil¶
Searching¶
A simple search:
In [1]: import pandas as pd
In [2]: pd.set_option('display.expand_frame_repr', False, 'display.max_rows', 10)
In [3]: from seriesbr import bcb
In [4]: bcb.search("Selic")
Out[4]:
codigo_sgs title periodicidade unidade_medida
0 1178 Taxa de juros - Selic anualizada base 252 diária Percentual ao ano
1 4390 Taxa de juros - Selic acumulada no mês mensal Percentual ao mês
2 4189 Taxa de juros - Selic acumulada no mês anualiz... mensal Percentual ao ano
3 4177 Dívida mobiliária - Participação por indexador... mensal Percentual
4 10634 Dívida mobiliária federal (saldos) - Posição e... mensal Milhões de unidades monetárias correntes
5 Estatísticas dos Sistemas de Liquidação de Tít... Mensal
6 Negociação de Títulos Federais no Mercado Secu...
7 10613 Dívida mobiliária federal - Títulos do Tesouro... mensal Meses
8 10614 Dívida mobiliária federal - Títulos do Tesouro... mensal Meses
9 10618 Dívida mobiliária federal - Títulos do Tesouro... mensal Meses
It’s also possible to search for multiple strings:
In [5]: bcb.search("Atividade", "Econômica", "Índice")
Out[5]:
codigo_sgs title periodicidade unidade_medida
0 24364 Índice de Atividade Econômica do Banco Central... mensal Índice
1 7414 Vendas do setor supermercadista (Jan/94=100) mensal Índice
2 11426 Índice nacional de preços ao consumidor - Ampl... mensal Variação percentual mensal
3 11427 Índice nacional de preços ao consumidor - Ampl... mensal Variação percentual mensal
4 10841 Índice de Preços ao Consumidor-Amplo (IPCA) - ... mensal Variação percentual mensal
5 10842 Índice de Preços ao Consumidor-Amplo (IPCA) - ... mensal Variação percentual mensal
6 11428 Índice nacional de preços ao consumidor - Ampl... mensal Variação percentual mensal
7 10843 Índice de Preços ao Consumidor-Amplo (IPCA) - ... mensal Variação percentual mensal
8 10844 Índice de Preços ao Consumidor-Amplo (IPCA) - ... mensal Variação percentual mensal
9 16122 Índice nacional de preços ao consumidor - Ampl... mensal Variação percentual mensal
You can also control how many results will be shown with the argument
rows (defaults to 10), and from which row it’ll start showing
them with start (defaults to 1).
In [6]: bcb.search("Monetária", "mensal", "Milhares", rows=20, start=1)
Out[6]:
codigo_sgs title periodicidade unidade_medida
0 1849 Recolhimentos obrigatórios de instituições fin... mensal Milhares de unidades monetárias correntes
1 1848 Recolhimentos obrigatórios de instituições fin... mensal Milhares de unidades monetárias correntes
2 1850 Recolhimentos obrigatórios de instituições fin... mensal Milhares de unidades monetárias correntes
3 1797 Recolhimentos obrigatórios de instituições fin... mensal Milhares de unidades monetárias correntes
4 17620 Insuficiência de direcionamento de crédito - D... mensal Milhares de unidades monetárias correntes
.. ... ... ... ...
6 17623 Insuficiência de direcionamento de crédito - D... mensal Milhares de unidades monetárias correntes
7 17622 Insuficiência de direcionamento de crédito - D... mensal Milhares de unidades monetárias correntes
8 17624 Insuficiência de direcionamento de crédito - T... mensal Milhares de unidades monetárias correntes
9 17625 Outros recolhimentos - Total mensal Milhares de unidades monetárias correntes
10 1847 Outros recolhimentos de instituições financeir... mensal Milhares de unidades monetárias correntes
[11 rows x 4 columns]
Getting time series¶
Now let’s get the actual values with seriesbr.bcb.get_series().
In [7]: bcb.get_series(
...: {"Spread": 20786, "Selic": 4189, "PIB_Mensal": 4380}, start="2011", end="07-2012"
...: )
...:
Out[7]:
Spread Selic PIB_Mensal
2011-01-01 NaN 10.85 333330.6
2011-02-01 NaN 11.17 335117.6
2011-03-01 26.22 11.62 348082.9
2011-04-01 27.01 11.74 349255.0
2011-05-01 26.84 11.92 366411.2
... ... ... ...
2012-03-01 27.42 9.82 393868.0
2012-04-01 26.84 9.35 382581.2
2012-05-01 25.20 8.87 401072.6
2012-06-01 24.42 8.39 399470.4
2012-07-01 24.17 8.07 415385.3
[19 rows x 3 columns]
Or, if you don’t mind the column names:
In [8]: bcb.get_series(20786, 4189, 4380)
Out[8]:
20786 4189 4380
1986-06-01 NaN 18.23 NaN
1986-07-01 NaN 23.51 NaN
1986-08-01 NaN 35.55 NaN
1986-09-01 NaN 39.39 NaN
1986-10-01 NaN 23.65 NaN
... ... ... ...
2019-09-01 30.84 5.71 598360.6
2019-10-01 30.28 5.38 619781.2
2019-11-01 30.63 4.90 627545.9
2019-12-01 NaN 4.59 NaN
2020-01-01 NaN 4.40 NaN
[404 rows x 3 columns]
Keyword arguments will be passed to pandas.concat. If you pass
“inner” to the join argument the returned DataFrame won’t have
NAs.
In [9]: bcb.get_series(20786, 4189, 4380, join="inner")
Out[9]:
20786 4189 4380
Date
2011-03-01 26.22 11.62 348082.9
2011-04-01 27.01 11.74 349255.0
2011-05-01 26.84 11.92 366411.2
2011-06-01 26.72 12.10 371046.4
2011-07-01 26.91 12.25 373333.7
... ... ... ...
2019-07-01 31.63 6.40 627852.6
2019-08-01 31.57 5.90 615897.0
2019-09-01 30.84 5.71 598360.6
2019-10-01 30.28 5.38 619781.2
2019-11-01 30.63 4.90 627545.9
[105 rows x 3 columns]
Getting metadata¶
And this is how you would get a time series metadata.
In [10]: bcb.get_metadata(11)
Out[10]:
values
referencias
license_title Licença Aberta para Bases de Dados (ODbL) do O...
maintainer Banco Central do Brasil/Departamento de Operaç...
relationships_as_object []
vcge Sistema financeiro [http://vocab.e.gov.br/2011...
... ...
license_url http://www.opendefinition.org/licenses/odc-odbl
frequencia
title Taxa de juros - Selic
revision_id 67db17b5-70d3-4f23-af39-afa50ee1b451
fim_periodo
[43 rows x 1 columns]