class: center, middle, inverse, title-slide # rbcb 0.1.3 ## Como usar? ### Wilson Freitas ### 2018-03-03 --- # rbcb `rbcb` é um pacote R para acessar dados disponibilizados pelo Banco Central do Brasil (BCB) na plataforma de dados abertos <https://dadosabertos.bcb.gov.br>. Instale `rbcb` do [Github](https://github.com/wilsonfreitas/rbcb): ```r devtools::install_github("wilsonfreitas/rbcb") ``` ou do [CRAN](https://cran.r-project.org): ```r install.packages("rbcb") ``` --- ```r IBOVESPA <- rbcb::get_series(c(IBOVESPA = 7), last = 756, # 3 anos as = "xts") plot(IBOVESPA) ``` ![](rbcb-como-usar_files/figure-html/unnamed-chunk-3-1.png)<!-- --> --- ```r IPCA <- rbcb::get_series(c(IPCA = 433), start_date = "2004-01-01", end_date = "2017-12-01", as = "ts") monthplot(IPCA, main = "IPCA agrupado em meses") ``` ![](rbcb-como-usar_files/figure-html/unnamed-chunk-4-1.png)<!-- --> --- ```r USDBRL <- rbcb::get_currency("USD", start_date = "2014-01-01", end_date = "2017-11-30", as = "xts") plot(USDBRL$ask, main = "USDBRL ask price") ``` ![](rbcb-como-usar_files/figure-html/unnamed-chunk-5-1.png)<!-- --> --- # `get_series` Baixa séries temporais do [SGS](https://www3.bcb.gov.br/sgspub/localizarseries/localizarSeries.do?method=prepararTelaLocalizarSeries) (Sistema de Gestão de Séries Temporais). ```r rbcb::get_series(code, start_date, end_date, last, as) ``` - `code`: código númerico que identifica as séries temporais. - Exemplos: IBOVESPA = 7, IPCA = 433, Dólar = 1 - Os códigos são obtidos na busca do [SGS](https://www3.bcb.gov.br/sgspub/localizarseries/localizarSeries.do?method=prepararTelaLocalizarSeries) - `start_date` e `end_date`: datas do intervalo desejado. - Se `start_date = NULL` retorna dados desde o começo da série - Se `end_date = NULL` retorna dados até a última data disponível - `last`: retorna os últimos `last` pontos da série - Se `last` é fornecido `start_date` e `end_date` são ignorados - `as`: define o tipo de retorno. O padrão é `"tibble"` e as alternativas são `"xts"`, `"ts"`, `"data.frame"` ou `"text"` que retorna o JSON recebido. --- # Onde encontrar as séries? Encontre o `code` das séries no SGS (Sistema Gerenciador de Séries Temporais) <https://www3.bcb.gov.br/sgspub/>. ![SGS](SGS_busca.png) --- # Exemplo de busca - séries do IBGE <https://www3.bcb.gov.br/sgspub/> ![SGS séries do IBGE](SGS_IBGE.png) --- class: inverse, middle, center # Dicas --- # Diferentes retornos (1) `tibble` (padrão), `xts`, `ts`, `data.frame` e `text` que retorna o JSON. .pull-left[ ```r rbcb::get_series( c(IBOVESPA = 7), last = 5 ) ``` ``` ## # A tibble: 5 x 2 ## date IBOVESPA ## * <date> <dbl> ## 1 2018-02-23 87293 ## 2 2018-02-26 87652 ## 3 2018-02-27 86935 ## 4 2018-02-28 85353 ## 5 2018-03-01 85377 ``` ] .pull-right[ ```r rbcb::get_series( c(IBOVESPA = 7), last = 5, as = 'xts' ) ``` ``` ## IBOVESPA ## 2018-02-23 87293 ## 2018-02-26 87652 ## 2018-02-27 86935 ## 2018-02-28 85353 ## 2018-03-01 85377 ``` ] --- # Diferentes retornos (2) ```r rbcb::get_series( c(IPCA = 433), start_date = "2017-01-01", end_date = "2018-01-01", as = 'ts' ) ``` ``` ## Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov ## 2017 0.38 0.33 0.25 0.14 0.31 -0.23 0.24 0.19 0.16 0.42 0.28 ## 2018 0.29 ## Dec ## 2017 0.44 ## 2018 ``` .footnote[[*] Indicado para séries com frequência regular: mensais, anuais, trimestrais, etc.] --- # Nomear as séries .pull-left[ ### sem nome ```r rbcb::get_series( 7, last = 5, as = 'xts' ) ``` ``` 7 2018-02-23 87293 2018-02-26 87652 2018-02-27 86935 2018-02-28 85353 2018-03-01 85377 ``` ] .pull-right[ ### com nome ```r rbcb::get_series( c(IBOVESPA = 7), last = 5, as = 'xts' ) ``` ``` IBOVESPA 2018-02-23 87293 2018-02-26 87652 2018-02-27 86935 2018-02-28 85353 2018-03-01 85377 ``` ] .footnote[Objetos `ts` ignoram o nome.] --- # `get_currency` Baixa as séries temporais de moedas do site do BCB. As cotações das séries são em reais (BRL). ```r rbcb::get_currency(symbol, start_date, end_date, as) ``` - `code`: código que identifica a moeda. - Exemplos: USD = dólar americano, JPY = íene, TRY = líra turca - Para encontrar o código de todas as moedas executar `rbcb::list_currencies()` - `start_date` e `end_date`: datas do intervalo desejado. - Se `start_date = NULL` retorna dados desde o começo da série - Se `end_date = NULL` retorna dados até a última data disponível - `as`: define o tipo de retorno. O padrão é `"tibble"` e as alternativas são `"xts"`, `"ts"`, `"data.frame"` ou `"text"` que retorna o JSON recebido. --- # Para listar todas as moedas disponíveis ```r rbcb::list_currencies() ``` ``` ## Warning in as.POSIXlt.POSIXct(Sys.time()): unknown timezone 'zone/tz/2018c. ## 1.0/zoneinfo/America/Sao_Paulo' ``` ``` ## # A tibble: 218 x 5 ## name code symbol country_name country_code ## * <chr> <dbl> <chr> <chr> <dbl> ## 1 AFEGANE AFEGANIST 5.00 AFN AFEGANISTAO 132 ## 2 RANDE/AFRICA SUL 785 ZAR AFRICA DO SUL 7560 ## 3 LEK ALBANIA REP 490 ALL ALBANIA, REPUBLICA DA 175 ## 4 EURO 978 EUR ALEMANHA 230 ## 5 KWANZA/ANGOLA 635 AOA ANGOLA 400 ## 6 DOLAR CARIBE ORIENTAL 215 XCD ANGUILLA 418 ## 7 DOLAR CARIBE ORIENTAL 215 XCD ANTIGUA E BARBUDA 434 ## 8 RIAL/ARAB SAUDITA 820 SAR ARABIA SAUDITA 531 ## 9 DINAR ARGELINO 95.0 DZD ARGELIA 590 ## 10 PESO ARGENTINO 706 ARS ARGENTINA 639 ## # ... with 208 more rows ``` --- ```r ccr_USD <- rbcb::get_currency("USD", as = "xts", start_date = "2014-01-01", end_date = "2017-11-30") ccr_EUR <- rbcb::get_currency("EUR", as = "xts", start_date = "2014-01-01", end_date = "2017-11-30") ccr <- merge(ccr_EUR$ask, ccr_USD$ask) colnames(ccr) <- c("EUR", "USD") plot(ccr, legend.loc = "topleft", main = "") ``` ![](rbcb-como-usar_files/figure-html/unnamed-chunk-14-1.png)<!-- --> --- class: inverse, middle, center # Wilson Freitas ## https://github.com/wilsonfreitas/rbcb