Емельянов Иван
Емельянов Иван личный блог
24 апреля 2020, 20:29

Качаем исторические данные с MOEX!

Итак, передо мной, уверен, как и перед многими, встал вопрос поиска исторической информации с Мосбиржи. Немного зная python, я написал вот такой парсер:
import requests
import datetime
import pathlib

SECIDs = ["GAZP", "BANEP", "LKOH"]
DISK = "E"
for SECID in SECIDs:
    from_date = "2020-05-04"
    to_date = "2005-01-03"
    while str(to_date) != from_date:
        to_date = str(to_date)
        to_date = to_date.split('-')
        a = datetime.date(int(to_date[0]), int(to_date[1]), int(to_date[2]))
        b = datetime.timedelta(days=140)
        to_date = a + b
        pathlib.Path("{}:/{}/{}".format(DISK, "Database_MOEX", SECID)).mkdir(parents=True, exist_ok=True)
        filename = SECID + "_" + str(to_date) + ".csv"
        with requests.get("http://iss.moex.com/iss/history/engines/stock/markets/shares/boards/tqbr/securities/{}.csv?date={}".format(SECID, to_date)) as response:
            with open("{}:/Database_MOEX/{}/{}".format(DISK, SECID, filename), 'wb') as f:
                for chunk in response.iter_content():
                    f.write(chunk)
Для начала пройдемся по его плюсам и минусам. Самый главный минус, что этот парсер качает только определенный период, который уникален для каждой акции, судя по всему для увеличения этого периода надо кинуть бирже на лапу:), и то что информация предоставляется за день, теперь перейдем к плюсам: можно выкачивать историю за определенный период для нескольких инструментов сразу (их количество ограничивается лишь количеством инструментов на мосбиржи), есть возможность назначать диск для сохранения информации, быстрота выгрузки данных.
Итак, перейдем к использованию:
1) Добавьте тикеры интересующих вас акций в список (SECIDs) как показано в примере
2) Выбирите диск (DISK) для сохранения выкаченной информации
3) Запишите даты («ГГГГ-ММ-ДД») в from_date (До какой даты качать) и to_date (С какой даты качать). Обе даты должны быть понедельниками, иначе код заработает не правильно
4) Запустить парсер
P.s. Буду рад вашим отзывам и поправкам:)
P.s.s. Еще больше буду рад если вы поделитесь способами выгрузки исторической информации и/или поделитесь ею со мной, можно в лс:)
P.s.s.s. Да, я знаю что я наглый)
41 Комментарий
  • bocha
    24 апреля 2020, 20:33
    Рынок любит слезу.
    Деньги — наглых.
    Форум — никого.
  • Gordon Shumway
    24 апреля 2020, 21:01
    Подскажите, а по другим секциям кроме фондовой можно тоже?
  • Михаил Titov
    24 апреля 2020, 21:04

    Что если понедельник выходной?

    А так + и звездочка 

  • Сергей Симонов
    24 апреля 2020, 21:32
    заходи сюда - https://www.finam.ru/profile/moex-akcii/sberbank/export/  — и качай любые котиры до усрачки))

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн