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