Skip to content
mbk-devPublic

About

Python interface for Central Bank of Russia (CBR) API

Resources

Stars

21 stars

Watchers

1 watching

Forks

Latest commit

 

History

90 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python PyPI Latest Release License: MIT Downloads Ruff

CBRAPI

cbrapi is a Python client for the Central Bank of Russia's web services.

Table of contents

CBRAPI main features

This client provides structured access to the following key data categories from the CBR:

  • CURRENCY: Official exchange rates of foreign currencies against the Russian Ruble.
  • METALS: Official prices of precious metals.
  • RATES: Key interest rates and interbank lending rates.
  • RESERVES: Data on international reserves and foreign currency liquidity.
  • RUONIA: The Russian Overnight Index Average and related benchmark rates.

Installation

pip install cbrapi

The latest development version can be installed directly from GitHub:

git clone https://github.com/mbk-dev/cbrapi.git
cd cbrapi
poetry install

Core Functions

CURRENCY

Get a list of available currencies

Returns a list of all available currency tickers supported by the API.

get_currencies_list()

Get an internal CBR currency code for a ticker

Retrieves the internal CBR currency code for a given currency ticker.

get_currency_code(ticker: str)

Get currency rate historical data

Fetches historical exchange rate data for a specified currency and date range.

get_time_series(symbol: str, first_date: str, last_date: str, period: str = 'D')

METALS

Get precious metals prices time series

Provides historical prices for precious metals (Gold, Silver, Platinum, Palladium).

get_metals_prices(first_date: str | None = None, last_date: str | None = None, period: str = 'D')

RATES

IBOR: Interbank Offered Rate.

Get the key rate time series

Retrieves the historical key rate set by the Central Bank of Russia.

get_key_rate(first_date: str | None = None, last_date: str | None = None, period: str = 'D')

Get Interbank Offered Rate and related interbank rates

Fetches the historical Interbank Offered Rate and related interbank rates.

get_ibor(first_date: str | None = None, last_date: str | None = None, period: str = 'M')

RESERVES

MRRF: International Reserves and Foreign Currency Liquidity.

Get International Reserves and Foreign Currency Liquidity data

Provides time series data for International Reserves and Foreign Currency Liquidity.

get_mrrf(first_date: str | None = None, last_date: str | None = None, period: str = 'M')

RUONIA

  • RUONIA: Russian Overnight Index Average.
  • ROISfix: Russian Overnight Index Swap Fixing.

Get RUONIA time series data

Retrieves RUONIA time series data for a specific symbol.

get_ruonia_ts(symbol: str, first_date: str | None = None, last_date: str | None = None, period: str = 'D')

Get RUONIA index and averages time series

Fetches the historical RUONIA index and averages.

get_ruonia_index(first_date: str | None = None, last_date: str | None = None, period: str = 'D')

Get RUONIA overnight value time series

Provides the historical RUONIA overnight value.

get_ruonia_overnight(first_date: str | None = None, last_date: str | None = None, period: str = 'D')

Get ROISfix time series

Retrieves the historical ROISfix time series data.

get_roisfix(first_date: str | None = None, last_date: str | None = None, period: str = 'D')

Getting started

1. Monitor Central Bank's key rate daily changes

import cbrapi as cbr

cbr.get_key_rate("2017-09-13", "2023-09-13").head()
DATE
2017-09-12    9.0
2017-09-13    9.0
2017-09-14    9.0
2017-09-15    9.0
2017-09-16    9.0
Freq: D, Name: KEY_RATE, dtype: float64

2. Track precious metals market trends

cbr.get_metals_prices('2024-01-01', '2025-01-31').head()
GOLD SILVER PLATINUM PALLADIUM
DATE
2024-01-09 5886.06 66.40 2755.41 2915.27
2024-01-10 5848.46 66.46 2701.63 2830.97
2024-01-11 5785.30 65.55 2654.59 2845.84

First three rows shown; run the example to inspect the complete result.

3. Monitor ROISfix daily pricing trends

cbr.get_roisfix().head()
RATE_1_WEEK RATE_2_WEEK RATE_1_MONTH RATE_2_MONTH RATE_3_MONTH RATE_6_MONTH
DATE
2011-04-14 3.09 3.09 3.18 3.24 3.32 3.51
2011-04-15 3.09 3.09 3.18 3.24 3.32 3.51
2011-04-16 3.09 3.09 3.18 3.24 3.32 3.51

First three rows shown; run the example to inspect the complete result.

License

MIT

Explore the okama family

Tools for investing and financial planning.

Project What it helps you do
okama.io Explore portfolios with interactive web tools.
okama Analyze investments and portfolios in Python.
okama Data API Access historical market and economic data.
okama-macro Work with inflation and central-bank rate series.
okama-mcp Use okama tools through an AI assistant.
okama Planner Build financial plans and manage client planning history.

Join the okama community →

Ask questions, share examples and discuss financial planning.

About

Python interface for Central Bank of Russia (CBR) API

Resources

Stars

21 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages