Реализация части запросов к MOEX Informational & Statistical Server.
Реализовано несколько функций-запросов информации о торгуемых ценных бумаг, результаты которых напрямую конвертируются в Ruby класс.
Класс ценной бумаги имеет методы для получения наиболее часто использумеых показателей ценной бумаги а так же метод для получения полного ответа полученного от MOEX ISS.
# Gemfile
gem "moex_iss"
А затем выполнить:
$ bundle install
Или установите его самостоятельно как:
$ gem install moex_iss
- 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.