Project

moex_iss

0.0
The project is in a healthy, maintained state
Client for MOEX ISS API
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 1.15
>= 13.0
>= 3.9

Runtime

~> 2.8.1
~> 2.6.1
 Project Readme

Gem Version Build JRuby Build

Moex Iss

Реализация части запросов к MOEX Informational & Statistical Server.

Реализовано несколько функций-запросов информации о торгуемых ценных бумаг, результаты которых напрямую конвертируются в Ruby класс.

Класс ценной бумаги имеет методы для получения наиболее часто использумеых показателей ценной бумаги а так же метод для получения полного ответа полученного от MOEX ISS.

Установка

# Gemfile
gem "moex_iss"

А затем выполнить:

$ bundle install

Или установите его самостоятельно как:

$ gem install moex_iss

Поддерживаемые Ruby версии

  • Ruby (MRI) >= 2.7.0
  • JRuby >= 9.3.0

Использование

Создаем клиент

client = MoexIss.client

Валюты

Для получения последних актульных данных о курсах валют:

currencies = client.currencies # => MoexIss::Market::Currencies

currencies.map(&:short_name) # -> ["USDRUB_TOM", "EURRUB_TOM", "CNYRUB_TOM"]

cny_rub = currencies.cny_rub # => MoexIss::Market::Currency
cny_rub.price = 12.5762
...

Акции

Для получения последних актульных данных:

  • Все акции
client.stocks # => MoexIss::Market::Stocks

Получаем класс, по которому можно итерироваться а так же вызывать искомую ценную бумагу по ее isin

stocks.sber # => MoexIss::Market::Stock
  • Одна Акция
client.stock(:sber) # => MoexIss::Market::Stock
  • Для получения данные об исторических данных:
client.stock(:sber, from: '2023-12-01', till: '2023-12-05') # => MoexIss::Market::History::Stocks

Есть возможность работы с коллекцией через дату:

stocks = client.stock(:sber, from: '2023-12-01', till: '2023-12-05') # => MoexIss::Market::History::Stocks
stocks['2023-12-03']  # => MoexIss::Market::History::Stock

Максимальное количесво дней: 100

Аргументы from и till можно использовать по одиночке

Обратите внимание

Все экземпляры классов отвечает на метод response, который содержит полный ответ от MOEX ISS, из которого можно получать доп.параметры, так же у каждого класса свой набор специфических методов для удобства работы с данными.

# Пример
client.stock(:sber).market_price # => 271.37
client.stock(:sber).prev_date # => 2023-12-2
...

Лицензия

Исходный код распространяется под лицензией MIT License.