python
October 24, 2022

"Грабим " Московскую биржу

Для своих тестеров я использовал данные по фьючерсам, которые парсил со страниц фьючерсов сайта Московской биржи. Написание парсера заняло час - быстро и "дешево".

Данные, которые я парсил

Но какое-то время назад Мосбиржа изменила дизайн страниц и теперь все данные передаются через JS. Попробовал эмулировать браузер, но забил, проще держать открытыми несколько страниц и вручную переносить несколько данных. Но все таки, решил зайти через API Программного интерфейса информационно-статистического сервера Московской Биржи, написал функцию и теперь получаю все нужные данные со страницы и даже немного больше.

Вот, что получает функция:

Код: SECID =-= Название: Краткий код =-= Значение: RIZ2
Код: BOARDID =-= Название: Идентификатор режима =-= Значение: RFUD
Код: SHORTNAME =-= Название: Краткое наименование контракта =-= Значение: RTS-12.22
Код: SECNAME =-= Название: Наименование срочного инструмента =-= Значение: Фьючерсный контракт RTS-12.22
Код: PREVSETTLEPRICE =-= Название: Расчетная цена предыдущего дня, рублей =-= Значение: 105400
Код: DECIMALS =-= Название: Точность, знаков после запятой =-= Значение: 0
Код: MINSTEP =-= Название: Шаг цены =-= Значение: 10.0
Код: LASTTRADEDATE =-= Название: Последний торговый день =-= Значение: 2022-12-15
Код: LASTDELDATE =-= Название: День исполнения =-= Значение: 2022-12-15
Код: SECTYPE =-= Название: Тип инструмента =-= Значение: RI
Код: LATNAME =-= Название: Английское наименование =-= Значение: RTS-12.22
Код: ASSETCODE =-= Название: Код базового актива =-= Значение: RTS
Код: PREVOPENPOSITION =-= Название: Открытые позиции предыдущего дня, контр. =-= Значение: 81902
Код: LOTVOLUME =-= Название: К-во единиц базового актива в инструменте =-= Значение: 1
Код: INITIALMARGIN =-= Название: Гарантийное обеспечение на первом уровне лимита концентрации** (ГО, руб.) =-= Значение: 38276.49
Код: HIGHLIMIT =-= Название: Верхний лимит =-= Значение: 118900.0
Код: LOWLIMIT =-= Название: Нижний лимит =-= Значение: 91900.0
Код: STEPPRICE =-= Название: Стоимость шага цены =-= Значение: 12.23686
Код: LASTSETTLEPRICE =-= Название: Расчетная цена последнего клиринга =-= Значение: 105400
Код: PREVPRICE =-= Название: Цена последней сделки предыдущего торгового дня =-= Значение: 105380
Код: IMTIME =-= Название: Данные по ГО на =-= Значение: 2022-10-24 19:01:08
Код: BUYSELLFEE =-= Название: Сбор за регистрацию сделки*, руб. =-= Значение: 8.51
Код: SCALPERFEE =-= Название: Сбор за скальперскую сделку*, руб. =-= Значение: 4.26
Код: NEGOTIATEDFEE =-= Название: Сбор за адресную сделку*, руб. =-= Значение: 2.84
Код: EXERCISEFEE =-= Название: Клиринговая комиссия за исполнение контракта*, руб. =-= Значение: 2.84
Код: BID =-= Название: Цена лучшей котировки на покупку, рублей =-= Значение: None
Код: OFFER =-= Название: Лучшее предложение =-= Значение: None
Код: SPREAD =-= Название: Разница между лучшей котировкой на продажу и покупку (спред), руб =-= Значение: 20
Код: OPEN =-= Название: Цена открытия =-= Значение: 105420
Код: HIGH =-= Название: Максимальная цена сделки, рублей =-= Значение: 105560
Код: LOW =-= Название: Минимальная цена сделки =-= Значение: 105110
Код: LAST =-= Название: Цена последней сделки =-= Значение: 105470
Код: QUANTITY =-= Название: Объем последней сделки, контрактов =-= Значение: 1
Код: LASTCHANGE =-= Название: Изменение цены последней сделки к предыдущей цене =-= Значение: -10
Код: SETTLEPRICE =-= Название: Текущая расчетная цена =-= Значение: 105480
Код: SETTLETOPREVSETTLE =-= Название: Изменение текущей расчетной цены =-= Значение: 80
Код: OPENPOSITION =-= Название: Открытые позиции, контрактов =-= Значение: 81984
Код: NUMTRADES =-= Название: Количество совершенных сделок, штук =-= Значение: 2018
Код: VOLTODAY =-= Название: Объем совершенных сделок, контрактов =-= Значение: 3314
Код: VALTODAY =-= Название: Объем совершенных сделок, рублей =-= Значение: 427279641
Код: VALTODAY_USD =-= Название: Объем совершенных сделок, дол. США =-= Значение: 6982173
Код: UPDATETIME =-= Название: Время обновления =-= Значение: 21:27:26
Код: LASTCHANGEPRCNT =-= Название: Изменение цены последней сделки к предыдущей, % =-= Значение: -0.01
Код: BIDDEPTH =-= Название: Объем заявок на покупку по лучшей котировке, выраженный в лотах =-= Значение: None
Код: BIDDEPTHT =-= Название: Суммарный объем заявок на покупку =-= Значение: None
Код: NUMBIDS =-= Название: Количество заявок на покупку =-= Значение: None
Код: OFFERDEPTH =-= Название: Объем заявки на продажу по лучшей котировке =-= Значение: None
Код: OFFERDEPTHT =-= Название: Суммарный объем заявок на продажу =-= Значение: None
Код: NUMOFFERS =-= Название: Количество заявок на продажу =-= Значение: None
Код: TIME =-= Название: Время последней сделки =-= Значение: 21:27:14
Код: SETTLETOPREVSETTLEPRC =-= Название: Изменение текущей расчетной цены относительно расчетной цены предыдущего торгового дня, % =-= Значение: 0.08
Код: SEQNUM =-= Название: номер обновления (служебное поле) =-= Значение: 1666636946552
Код: SYSTIME =-= Название: Время загрузки данных системой =-= Значение: 2022-10-24 21:42:26
Код: TRADEDATE =-= Название: Дата последней сделки =-= Значение: 2022-10-24
Код: LASTTOPREVPRICE =-= Название: Изменение цены последней сделки к последней цене предыдущего дня, % =-= Значение: 0.09
Код: OICHANGE =-= Название: Изменение открытых позиций к предыдущему закрытию, контр. =-= Значение: 82
Код: NAME =-= Название: Наименование серии инструмента =-= Значение: Фьючерсный контракт RTS-12.22
Код: DELIVERYTYPE =-= Название: Исполнение =-= Значение: Закрытие позиций с перечислением вариационной маржи, рассчитанной исходя из среднего значения Индекса РТС за период с 15:00 до 16:00 в последний день заключения контракта, умноженного на 100. Стоимость минимального шага цены Контракта соответствует 20 % от курса доллара США по отношению к российскому рублю, установленному в соответствии с <a href='http://fs.moex.com/files/535/'>Методикой</a> в 18:49 последнего дня заключения Контракта.
Код: FRSTTRADE =-= Название: Начало обращения =-= Значение: 2021-09-24
Код: LSTTRADE =-= Название: Последний день обращения =-= Значение: 2022-12-15
Код: LSTDELDATE =-= Название: Дата исполнения =-= Значение: 2022-12-15
Код: EXECTYPE =-= Название: Тип контракта =-= Значение: Расчетный
Код: LOTSIZE =-= Название: Лот =-= Значение: 1
Код: CONTRACTNAME =-= Название: Наименование контракта =-= Значение: Фьючерсный контракт на Индекс РТС
Код: GROUPTYPE =-= Название: Группа контрактов =-= Значение: Индексы
Код: UNIT =-= Название: Котировка =-= Значение: в пунктах
Код: TIMECOURSEINT =-= Название: Фиксация курса валюты для дневного клиринга =-= Значение: 13:45
Код: TIMECOURSECLR =-= Название: Фиксация курса валюты для вечернего клиринга =-= Значение: 18:49
Код: TYPENAME =-= Название: Вид контракта =-= Значение: Фьючерс
Код: GROUP =-= Название: Код типа инструмента =-= Значение: futures_forts
Код: TYPE =-= Название: Тип бумаги =-= Значение: futures
Код: GROUPNAME =-= Название: Типа инструмента =-= Значение: Фьючерсы

Ссылка на GitHub