Taxas de Juros

A API de taxas de juros de operações de crédito pode ser acessada através da classe bcb.TaxaJuros.

Os dados são obtidos a partir da API de Taxas de Juros.

Esta API usa o serviço taxaJuros versão v2. O método describe mostra os EntitySets e suas propriedades:

In [1]: from bcb import TaxaJuros

In [2]: em = TaxaJuros()

In [3]: em.describe()
EntitySets:

EntitySet (Endpoint): TaxasJurosMensalPorMes
EntityType: br.gov.bcb.olinda.servico.taxaJuros.TaxaJurosMensal
Properties: Mes<str>, Modalidade<str>, Posicao<int>, InstituicaoFinanceira<str>, TaxaJurosAoMes<float>, TaxaJurosAoAno<float>, cnpj8<str>, anoMes<str>

EntitySet (Endpoint): ParametrosConsulta
EntityType: br.gov.bcb.olinda.servico.taxaJuros.ParametrosConsulta
Properties: codigoSegmento<str>, segmento<str>, codigoModalidade<str>, modalidade<str>, tipoModalidade<str>

EntitySet (Endpoint): TaxasJurosDiariaPorInicioPeriodo
EntityType: br.gov.bcb.olinda.servico.taxaJuros.TaxaJurosDiaria
Properties: InicioPeriodo<str>, FimPeriodo<str>, codigoSegmento<str>, Segmento<str>, codigoModalidade<str>, Modalidade<str>, Posicao<int>, InstituicaoFinanceira<str>, TaxaJurosAoMes<float>, TaxaJurosAoAno<float>, cnpj8<str>

EntitySet (Endpoint): ConsultaUnificada
EntityType: br.gov.bcb.olinda.servico.taxaJuros.TaxaJurosDiaria
Properties: InicioPeriodo<str>, FimPeriodo<str>, codigoSegmento<str>, Segmento<str>, codigoModalidade<str>, Modalidade<str>, Posicao<int>, InstituicaoFinanceira<str>, TaxaJurosAoMes<float>, TaxaJurosAoAno<float>, cnpj8<str>

EntitySet (Endpoint): ConsultaDatas
EntityType: br.gov.bcb.olinda.servico.taxaJuros.Datas
Properties: inicioPeriodo<str>, fimPeriodo<str>, tipoModalidade<str>

Para restringir a saída a um EntitySet específico, informe o seu nome:

In [4]: em.describe("TaxasJurosDiariaPorInicioPeriodo")

EntitySet (Endpoint): TaxasJurosDiariaPorInicioPeriodo
EntityType: br.gov.bcb.olinda.servico.taxaJuros.TaxaJurosDiaria
Properties: InicioPeriodo<str>, FimPeriodo<str>, codigoSegmento<str>, Segmento<str>, codigoModalidade<str>, Modalidade<str>, Posicao<int>, InstituicaoFinanceira<str>, TaxaJurosAoMes<float>, TaxaJurosAoAno<float>, cnpj8<str>

Vejamos um gráfico da mediana das taxas de juros do cheque especial praticada pelas instituições financeiras.

In [5]: import pandas as pd

In [6]: ep = em.get_endpoint('TaxasJurosDiariaPorInicioPeriodo')

In [7]: df_cheque = (ep.query()
   ...:                .filter(ep.Segmento == 'PESSOA FÍSICA',
   ...:                        ep.Modalidade == 'Cheque especial - Prefixado')
   ...:                .collect())
   ...: 

In [8]: grp = df_cheque.groupby('InicioPeriodo')

In [9]: df_mean = grp.agg({'TaxaJurosAoMes': 'median'})

In [10]: df_mean['TaxaJurosAoMes'].plot(figsize=(16,6), style='o', markersize=1,
   ....:                                xlabel='Data', ylabel='Taxa',
   ....:                                title='Mediana das Taxas de Juros de Cheque Especial - Fonte:BCB');
   ....: 
_images/taxajuros1.png