knitr::opts_chunk$set( collapse = TRUE, comment = "#>" )
library(rnbp)
The National Bank of Poland (NBP) is the central bank of Poland responsible for issuing the polish currency, the złoty. NBP exposes a public API providing data regarding current and previous exchange rates and gold prices. The goal of the rnbp package is to provide access to the API from R.
The goal of this document is to present the functionalities of the package along with examples on how the retrieved data can be used. All of the endpoints expose the same set of of functionalities:
The NBP API exposes endpoints for retrieving exchange rate tables. At the time of writing this document three tables are available:
An example of retrieving the currently effective exchange rate table is presented below:
library(ggplot2) library(rnbp) ## Retrieve current C exchange rate table response <- get_current_exchangerate_table("C") ## Retrieve content from the response current_exchangerate_table <- response$content$rates[[1]] knitr::kable(current_exchangerate_table)
This data can be then easily used for plotting:
ggplot(current_exchangerate_table, aes(x = code, y = bid, fill = code)) + geom_bar(stat = "identity")
The API exposes endpoints for fetching exchange rates for specific currencies. An example of fetching the last 20 exchange rates of euros and dollars is presented bellow:
## Retrieve last 20 exchange rates for euros euros_response <- get_last_n_exchangerates("A", "EUR", 20) ## Retrieve last 20 exchange rates for euros dollars_response <- get_last_n_exchangerates("A", "USD", 20) ## Retrieve rates data euros_data <- euros_response$content$rates dollars_data <- dollars_response$content$rates ## Add currency code columns euros_data$code <- euros_response$content$code dollars_data$code <- dollars_response$content$code currency_data <- rbind(euros_data, dollars_data) ggplot(currency_data, aes(x = effectiveDate, y = mid, col = code)) + geom_line() + geom_point()
The API also exposes endpoints providing information regarding the gold prices calculated by the National Bank of Poland. An example of retrieving gold prices from the last 90 days is presented below:
current_date <- Sys.Date() response <- get_goldprice_from_interval(current_date - 90, current_date) ggplot(response$content, aes(x = data, y = cena)) + geom_point() + geom_line() + geom_smooth()
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.