knitr::opts_chunk$set(echo = TRUE)

Данные, предоставленные Центральным Банком РФ

ЦБ РФ предоставляет возможность отправлять запросы для получения данных с их серверов. Они это называют веб-сервис, их несколько:

Пакет cbr позволяет работать c получением данных, используя XML и с веб-сервисом получения информации по рынку ценных бумаг.

Подключаем пакет:

library("cbr")

Получение данных, используя XML

Рассмотрим, какие функции есть:

# котировки на 14 июня 2016 года
currency <- cbr_cur_ondate(ondate = "2016-06-14")
head(currency)

Здесь необходимо отметить, что в список попадают все котировки, которые на заданную дату выставлены (может быть так, что в один день котировка на бурундийский франк есть, а в другой - нет).

# динамика котировки бурундийского франка (R01120) за указанный период
currency <- cbr_currency(currency = "R01120", from = "1993-01-05", to = "2013-09-18")
head(currency)
# динамика сведений за указанный период
balances <- cbr_balances(from = "2007-01-01", to = "2013-01-01")
head(balances)

Веб-сервис получения информации по рынку ценных бумаг

Посмотрим на вспомогательный датафрейм, в котором содержится информация о всех переменных рынка ценных бумаг с которыми работает пакет cbr:

data("cbr_requests")
cbr_requests

Давайте посмотрим на данные сессии прямого РЕПО по фиксированной ставке (RepoSessionXML):

repo <- cbr_security_info("RepoSessionXML")
head(repo)

Как можно заметить, данные в очень сыром виде, поэтому необходимо произвести несколько манипуляций, чтобы они были презентабельные, для этого заходим в соответствующий раздел и смотрим, что обозначают переменные

# сделаем дату в нормальном формате
repo[, "D0"] <- as.Date(as.POSIXct(repo[, "D0"])) + 1
# оставим один знак после запятой
repo[, 2:length(names(repo))] <- apply(repo[, 2:length(names(df))], 1, as.numeric)
# обновим названия переменных
names(repo) <- c("Date", "1dayRate", "1dayVolume", "1weekRate", "1weekVolume")
head(repo)


bdemeshev/cbr documentation built on May 12, 2019, 3:40 a.m.