Архив валют ЦБ РФ: официальные курсы, API и примеры использования

Бесплатная консультация юриста

+7 (800) 301-07-30

Реклама jurik.ru

Официальные курсы валют, публикуемые Центральным банком Российской Федерации (ЦБ РФ), представляют собой важный источник информации для бизнеса, финансовых аналитиков, учёных и обычных граждан․ Архив этих курсов позволяет отслеживать историческую динамику валютных пар, проводить ретроспективный анализ и строить прогнозы․

Что такое архив валют ЦБ РФ?

Архив валют ЦБ РФ – это набор данных, содержащий официальные курсы иностранных валют к рублю, установленные Банком России на конкретные даты․ Данные включают:

  • Курсы основных валют (USD, EUR, CNY, GBP, CHF и др․);
  • Курсы драгоценных металлов (золото, серебро, платина, палладий);
  • Учетные цены и другие показатели, публикуемые в рамках ежедневных и ежемесячных сервисов․

Архив ведётся с 1992 года и доступен в электронном виде через официальный сайт www․cbr․ru oraz через программный интерфейс (API) Банка России․

Как получить курс на заданную дату?

ЦБ РФ предоставляет два основных веб‑сервиса:

  1. GetCursOnDate(On_date) – получение ежедневных курсов валют на указанную дату․
  2. GetSeldCursOnDate(On_date) – получение ежемесячных (средних) курсов валют за указанный месяц․

Оба сервиса возвращают данные в формате XML․ Пример запроса для получения ежедневных курсов на 15 марта 2026 года:

https://www․cbr․ru/scripts/XML_daily․asp?date_req=

В ответе XML содержатся элементы Valute с атрибутом ID (например, R01235 для USD) и дочерними тегами:

  • NumCode – цифровой код валюты;
  • CharCode – буквенный код (USD, EUR и т․д․);
  • Nominal – номинал (обычно 1);
  • Name – полное название валюты;
  • Value – курс к рублю, выраженный в рублях за единицу валюты․

Пример данных за 15 марта 2026 года

Ниже представлен фрагмент типичного ответа (выделены основные валюты):

  • USD (R01235): 1 USD = 78,73 RUB
  • EUR (R01239): 1 EUR = 91,56 RUB
  • CNY (R01375): 10 CNY = 10,58 RUB (курс за 10 юаней)
  • GBP (R01035): 1 GBP = 101,20 RUB
  • CHF (R01775): 1 CHF = 86,45 RUB

Эти значения соответствуют официальным курсам, опубликованным ЦБ РФ на указанную дату․

Как пользоваться архивом на сайте ЦБ РФ?

  1. Перейдите на страницу Архив ежедневных курсов валют․
  2. В поле «Дата» выберите нужный день, месяц и год (формат ДД․ММ․ГГГГ)․
  3. Нажмите кнопку «Показать»․
  4. Отобразится таблица с курсами всех валют за выбранную дату․
  5. Для скачивания данных в виде XML‑файла нажмите ссылку «Скачать XML» (или используйте прямой URL, как показано выше)․

Преимущества использования архива

  • Точность и официальность – данные берутся непосредственно из источника, устанавливающего курсы․
  • Доступность – бесплатный доступ через веб‑интерфейс и API․
  • Гибкость формата – XML можно легко преобразовать в CSV, JSON или загрузить в аналитические системы (Excel, Python, R и т․д․)․
  • Историческая глубина – архив ведётся с начала 1990‑х годов, что позволяет проводить долгосрочные исследования․

Ограничения и рекомендации

  • Сервис GetCursOnDate возвращает данные только за рабочие дни ЦБ РФ․ В выходные и праздничные дни и праздничные даты в ответе будет последний доступный рабочий день․
  • При массовом запросе большого количества дат рекомендуется использовать пакетную загрузку (например, цикл по датам с паузой 1‑2 секунды между запросами), чтобы не нагружать сервер․
  • Для анализа динамики удобно сохранять полученные XML‑файлы в отдельную папку и затем выполнять их парсинг скриптом․

Пример простого скрипта на Python для получения курса USD за диапазон дат

import requests
import pandas as pd
from datetime import datetime, timedelta
def get_usd_rate(date_str):
 url = f"https://www․cbr․ru/scripts/XML_daily․asp?date_req={date_str}"
 resp = requests․get(url)

 resp․raise_for_status
 # простой поиск значения USD в XML
 for line in resp․text․splitlines:
 if 'USD' in line:
 value_line = resp․text․split('')[1]․split('')[0]
 return float(value_line․replace(',', '․'))
 return None

start = datetime(2026, 3, 1)
end = datetime(2026, 3, 15)
dates = [start + timedelta(days=i) for i in range((end-start)․days+1)]

data = []
for d in dates:
 ds = d․strftime('%d/%m/%Y')
 rate = get_usd_rate(ds)
 data․append({'date': ds, 'USD_RUB': rate})

df = pd․DataFrame(data)
print(df)

Скрипт последовательно запрашивает курс доллара за каждый день в указанном интервале и формирует таблицу pandas․DataFrame, которую можно экспортировать в CSV или использовать для построения графиков․

Архив валют ЦБ РФ за выбранную дату – это мощный инструмент для получения точной и официальной информации о курсах иностранных валют к рублю․ Благодаря простому веб‑интерфейсу и доступному API пользователи могут быстро получить нужные данные, сохранить их для дальнейшего анализа и интегрировать в свои финансовые модели, отчёты или исследовательские проекты․

Если вам понадобится более детальная информация о конкретных валютах, драгоценных металлах или ежемесячных средних курсах, обращайтесь к соответствующим сервисам Банка России (GetSeldCursOnDate) или разделам «Документы и данные» на официальном сайте www․cbr․ru․