Skip to content

Commit 3e33ddc

Browse files
committed
deploy: 06e1397
1 parent 8748aaa commit 3e33ddc

48 files changed

Lines changed: 6390 additions & 5532 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.buildinfo

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
# Sphinx build info version 1
22
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
3-
config: 6db25bec8764d90dbb06f1a0948ca739
3+
config: 134c31a46051c96395cf27a1ad75299c
44
tags: 645f666f9bcd5a90fca523b33c5a78b7

_images/sgs1.png

370 Bytes
Loading

_sources/api.rst.txt

Lines changed: 33 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,40 @@
22
API
33
===
44

5-
.. automodule:: bcb
5+
Módulo :ref:`bcb.sgs`
6+
---------------------
7+
8+
.. currentmodule:: bcb.sgs
9+
10+
.. autosummary::
11+
:toctree: generated
12+
13+
bcb.sgs.get
14+
15+
Módulo :ref:`bcb.currency`
16+
--------------------------
17+
18+
.. currentmodule:: bcb.currency
19+
20+
.. autosummary::
21+
:toctree: generated
22+
23+
bcb.currency.get
24+
bcb.currency.get_currency_list
25+
26+
27+
APIs OData
28+
----------
29+
30+
.. currentmodule:: bcb
631

732
.. autosummary::
833
:toctree: generated
934

10-
bcb.sgs
11-
bcb.currency
35+
bcb.Endpoint
36+
bcb.BaseODataAPI
37+
bcb.Expectativas
38+
bcb.PTAX
39+
bcb.IFDATA
40+
bcb.TaxaJuros
41+
bcb.MercadoImobiliario

_sources/currency.rst.txt

Lines changed: 39 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,17 @@
11
Moedas
22
######
33

4-
O módulo ``currency`` obtem dados de moedas do conversor de moedas do Banco Central através de webscraping.
4+
O pacote tem 2 APIs que dão acesso a informações de moedas.
5+
6+
7+
- Webscraping no :ref:`Conversor de Moedas`
8+
- :ref:`API OData` com cotações de taxas de câmbio
59

6-
.. autofunction:: bcb.currency.get
10+
11+
Conversor de Moedas
12+
-------------------
13+
14+
O módulo ``currency`` obtem dados de moedas do conversor de moedas do Banco Central através de webscraping.
715

816

917
.. ipython:: python
@@ -19,10 +27,37 @@ O módulo ``currency`` obtem dados de moedas do conversor de moedas do Banco Cen
1927
.. plot:: plots/currency1.py
2028

2129

22-
.. autofunction:: bcb.currency.get_currency_list
30+
.. ipython:: python
31+
32+
currency.get_currency_list().head()
33+
34+
API OData
35+
---------
36+
37+
Diferente da interface _`currency`
38+
39+
.. _documentacao: https://olinda.bcb.gov.br/olinda/servico/PTAX/versao/v1/documentacao
40+
41+
__ documentacao_
42+
43+
Os dados são obtidos a partir da `API de Moedas`__.
2344

2445

2546
.. ipython:: python
2647
27-
currency.get_currency_list().head()
48+
from bcb import PTAX
49+
ptax = PTAX()
50+
ptax.describe()
51+
52+
53+
.. ipython:: python
54+
55+
ptax.describe('Moedas')
56+
57+
.. ipython:: python
58+
59+
ptax.describe('CotacaoMoedaPeriodoFechamento')
60+
61+
.. ipython:: python
2862
63+
ptax.describe('CotacaoMoedaPeriodo')

_sources/expectativas.rst.txt

Lines changed: 115 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,115 @@
1+
Expectativas
2+
############
3+
4+
A API de expectativas divulgadas no boletim FOCUS pode ser acessada através da classe
5+
:py:class:`bcb.Expectativas`.
6+
7+
.. _documentacao: https://olinda.bcb.gov.br/olinda/servico/Expectativas/versao/v1/documentacao
8+
9+
__ documentacao_
10+
11+
Os dados são obtidos a partir da `API de Expectativas`__.
12+
13+
Integração com API de expectativas de mercado de cerca de 130
14+
instituições do mercado financeiro participantes do
15+
Sistema de Expectativas de Mercado para diversas variáveis
16+
macroeconômicas.
17+
18+
Os dados são publicados no primeiro dia útil de cada semana.
19+
20+
Para períodos para os quais não haja estatísticas serão omitidos
21+
na consulta.
22+
23+
São publicadas as expectativas informadas pelas instituições que
24+
autorizaram a divulgação. As expectativas divulgadas possuem
25+
defasagem de 1 ano.
26+
27+
Essa API tem sete *endpoints*
28+
29+
- ``ExpectativasMercadoTop5Anuais``: Expectativas de mercado anuais para
30+
os indicadores do Top 5
31+
- ``ExpectativasMercadoInstituicoes``: Expectativas de mercado informadas
32+
pelas instituições credenciadas
33+
- ``ExpectativaMercadoMensais``: Expectativas de Mercado Mensais
34+
- ``ExpectativasMercadoInflacao12Meses``: Expectativas de mercado para
35+
inflação nos próximos 12 meses
36+
- ``ExpectativasMercadoTop5Mensais``: Expectativas de mercado mensais para
37+
os indicadores do Top 5
38+
- ``ExpectativasMercadoTrimestrais``: Expectativas de Mercado Trimestrais
39+
- ``ExpectativasMercadoAnuais``: Expectativas de Mercado Anuais
40+
41+
42+
Ao instanciar a classe :py:class:`bcb.Expectativas` diversas informações
43+
são obtidas e a melhor maneira de interagir com a API é
44+
através do método :py:meth:`bcb.Expectativas.describe`.
45+
46+
.. ipython:: python
47+
48+
from bcb import Expectativas
49+
em = Expectativas()
50+
em.describe()
51+
52+
O método :py:meth:`bcb.Expectativas.describe` também recebe o nomes dos
53+
*endpoints* e apresenta uma descrição do *endpoint* trazendo o seu tipo
54+
`EntityType` e as propriedades retornadas `Properties` e os seus respectivos
55+
tipos.
56+
57+
.. ipython:: python
58+
59+
em.describe('ExpectativasMercadoTop5Anuais')
60+
61+
Esse *endpoint* retorna as colunas:
62+
63+
- Indicador
64+
- Data
65+
- DataReferencia
66+
- tipoCalculo
67+
- Media
68+
- Mediana
69+
- DesvioPadrao
70+
- Minimo
71+
- Maximo
72+
73+
Para obter os dados de um *endpoint* é necessário obtê-lo através do
74+
método :py:meth:`bcb.Expectativas.get_endpoint` que retorna uma classe
75+
:py:class:`bcb.Endpoint`.
76+
77+
.. ipython:: python
78+
79+
ep = em.get_endpoint('ExpectativasMercadoTop5Anuais')
80+
81+
A partir desse *endpoint* executar uma consulta com o método :py:meth:`bcb.Endpoint.query`.
82+
83+
.. ipython:: python
84+
85+
ep.query().limit(10).collect()
86+
87+
88+
O método :py:meth:`bcb.Endpoint.query` retorna um objeto da classe
89+
:py:class:`bcb.odata.ODataQuery` que possui diversas características
90+
para a realização de consultas mais elaboradas.
91+
92+
Note que no exemplo acima foi utilizado o método ``limit`` que limita
93+
a quantidade de resultados retornados, neste caso, em 10.
94+
95+
É possível realizar consultas mais elaboradas, por exemplo, filtrando pelo
96+
indicador para que traga apenas informações do IPCA.
97+
98+
.. ipython:: python
99+
100+
ep.query().filter(ep.Indicador == 'IPCA').limit(10).collect()
101+
102+
103+
As consultas podem ficar ainda mais elaboradas, com diversos filtros,
104+
ordenando colunas e selecionando as colunas na saída.
105+
106+
.. ipython:: python
107+
108+
(ep.query()
109+
.filter(ep.Indicador == 'IPCA', ep.DataReferencia == 2023)
110+
.filter(ep.Data >= '2022-01-01')
111+
.filter(ep.tipoCalculo == 'C')
112+
.select(ep.Data, ep.Media, ep.Mediana)
113+
.orderby(ep.Data.desc())
114+
.limit(10)
115+
.collect())

_sources/generated/bcb.currency.rst.txt

Lines changed: 0 additions & 30 deletions
This file was deleted.

_sources/generated/bcb.sgs.rst.txt

Lines changed: 0 additions & 35 deletions
This file was deleted.

_sources/index.rst.txt

Lines changed: 34 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,10 @@ disponibiliza diversas APIs provendo acesso direto a dados de:
2121
* Expectativas do Mercado (Expectativas do Boletim FOCUS)
2222
* E muito outros ...
2323

24+
O pacote ``python-bcb`` implementa interfaces para algumas APIs
25+
disponibilizadas pelo Banco Central de forma que o resultado
26+
das consultas, na maioria dos casos, é um ``DataFrame`` pandas
27+
formatado com os dados.
2428

2529
Instalação
2630
==========
@@ -32,18 +36,35 @@ Instalação
3236
pip install python-bcb
3337
3438
35-
Módulos
36-
=======
39+
APIs implementadas
40+
==================
3741

3842
``sgs``
3943
Utiliza o webservice do SGS
40-
(`Sistema Gerenciador de Séries Temporais <https://www3.bcb.gov.br/sgspub/>`_).
44+
(`Sistema Gerenciador de Séries Temporais <https://www3.bcb.gov.br/sgspub/>`_)
45+
para obter os dados.
4146
Diversas séries estão disponíveis no SGS: taxas de juros, índices de preços,
42-
indicadores econômicos, ....
43-
44-
``currency``
45-
Implementado no módulo ``currency`` que obtem dados de séries temporais de moedas do site
46-
<https://www.bcb.gov.br/conversao> via webscraping.
47+
indicadores econômicos, ..., e com um simples chamado da função
48+
:py:func:`bcb.sgs.get` é possível tê-las
49+
em um ``DataFrame`` pandas.
50+
``Conversor de Moedas``
51+
Implementado no módulo ``currency``, um conjunto de funções que realiza webscraping
52+
no site do `Conversos de Moedas <https://www.bcb.gov.br/conversao>`_
53+
do Banco Central, possível obter séries temporais de frequência diária
54+
de diversas moedas.
55+
``Moedas OData``
56+
O Banco Central disponibiliza diversas informações em APIs que
57+
seguem o padrão `OData <https://odata.org>`.
58+
A classe :py:class:`bcb.PTAX` implementa uma API OData que
59+
entrega os boletins diários de taxas de câmbio do Banco Central.
60+
Esta API entrega mais informações do que o que é obtido no
61+
``Conversor de Moedas``.
62+
``Expectativas``
63+
A API de Expectativas de Mercado traz todas as estatísticas das variáveis
64+
macroeconômicas fornecidos por um conjuto de instituições do mercado
65+
financeiro.
66+
A classe :py:class:`bcb.Expectativas` implementa essa interface no
67+
padrão OData.
4768

4869

4970
Uso
@@ -60,9 +81,11 @@ Uso
6081
:maxdepth: 2
6182
:caption: Conteúdo:
6283

63-
sgs.md
64-
currency.rst
65-
api.rst
84+
sgs
85+
currency
86+
expectativas
87+
odata
88+
api
6689

6790

6891
Índices e tabelas

0 commit comments

Comments
 (0)