crazyFakir
crazyFakir личный блог
08 ноября 2017, 11:49

#пора_граммировать [4] тики с сайта МосБиржи, ну и минутки тоже :)

Если закинуть вот такую строчку в браузер, то получим тики по SiZ7 текущей сессии
https://iss.moex.com/iss/engines/futures/markets/forts/securities/SiZ7/trades.json
— если добавить 
?start=0&limit=100
то начиная с первой сточки (номер ноль) получим только первые 100 сделок:
https://iss.moex.com/iss/engines/futures/markets/forts/securities/SiZ7/trades.json?start=0&limit=100
следующие 100 сделок:
?start=100&limit=100
Минутки получить можно так:
http://iss.moex.com/iss/engines/futures/markets/forts/boards/RFUD/securities/SiZ7/candles.json?from=2017-11-08&till=2017-11-08&interval=1&start=0
Если заменить .json --> .csv, то скачивается файл:

http://iss.moex.com/iss/engines/futures/markets/forts/boards/RFUD/securities/SiZ7/candles.json?from=2017-11-08&till=2017-11-08&interval=1&start=0
Программный пример:
using System;
using System.Net;
using System.IO;

namespace GetDataSmpl
{
    class Program
    {
        static void Main(string[] args)
        {   
            string link = "https://iss.moex.com/iss/engines/futures/markets/forts/securities/SiZ7/trades.json?start=0&limit=10";
            string dataLine; 
            int count = 0;           
            using (WebClient wc = new WebClient())
            {  
                Stream stream = wc.OpenRead(link);
                StreamReader sr = new StreamReader(stream);                
                while ((dataLine = sr.ReadLine()) != null) {
                    if (count >= 14 && count <= 23) Console.WriteLine(dataLine);
                    count +=1;
                }                        
                stream.Close();             
            }                
        }
    }
}

D:\devel\net\ReadDataSmpl>dotnet run
                [1907299081, "RFUD", "SiZ7", "2017-11-08", "10:00:00", 59750, 5, "2017-11-08 10:00:00"],
                [1907299082, "RFUD", "SiZ7", "2017-11-08", "10:00:00", 59744, 81, "2017-11-08 10:00:00"],
                [1907299083, "RFUD", "SiZ7", "2017-11-08", "10:00:00", 59742, 2, "2017-11-08 10:00:00"],
                [1907299084, "RFUD", "SiZ7", "2017-11-08", "10:00:00", 59741, 1, "2017-11-08 10:00:00"],
                [1907299085, "RFUD", "SiZ7", "2017-11-08", "10:00:00", 59740, 1, "2017-11-08 10:00:00"],
                [1907299086, "RFUD", "SiZ7", "2017-11-08", "10:00:00", 59738, 3, "2017-11-08 10:00:00"],
                [1907299087, "RFUD", "SiZ7", "2017-11-08", "10:00:00", 59737, 1, "2017-11-08 10:00:00"],
                [1907299088, "RFUD", "SiZ7", "2017-11-08", "10:00:00", 59735, 1, "2017-11-08 10:00:00"],
                [1907299089, "RFUD", "SiZ7", "2017-11-08", "10:00:00", 59735, 5, "2017-11-08 10:00:00"],
                [1907299090, "RFUD", "SiZ7", "2017-11-08", "10:00:00", 59735, 1, "2017-11-08 10:00:00"]
rtfm


#учусьучить
32 Комментария
  • Константин
    08 ноября 2017, 11:58
    а зачем иметь тики в секундах? не проще из терминала тики взять с мс, если денег на оплату подключения к бирже нет?
  • PSH
    08 ноября 2017, 12:14
    Архив бы вытянуть за год хотя бы. В мфд месяц ограничение, в финаме требуха, а не тики. Умней был бы — раньше бы экспорт и сохранение настроил, щас жди год, пока набежит :)
    • Анатолий Макаров
      08 ноября 2017, 13:10
      PSH, хм, а почему вас финамовские тики не устраивают? Я сравнивал данные с квика — вроде все корректно. Правда период брал небольшой))
      • PSH
        08 ноября 2017, 13:18

        Анатолий Макаров, я вот прямо сейчас открыл скачанные сегодня данные с финама по фРТС и вижу там:
        1) разница в количестве дневных тиков от >300 000 до <15 000 в разные дни
        2) Многочасовые лакуны (например, отсутствует вся вечерка целиком

        И это за сентябрь 17 года. Глубже не стал даже время тратить

    • Анатолий Макаров
      08 ноября 2017, 13:28
      PSH, ясноо. Я давно их данными пользовался. Щас то они уже не актуальны))). Но вы молодец. В правильном направлении рассуждаете. Смотрите тики внимательнее, они дадут ответы на многие вопросы))
    • mr lab
      08 ноября 2017, 21:26
      PSH, Требуха? Например? (ниже прочитал)
      Я сохраняю в квике каждый день все сделки на срочке и валютном рынке.
  • PSH
    08 ноября 2017, 12:41

    Все так, все так :)

    Хочется горизонтальные объемы под рукой иметь за произвольный период, не сказать, что прям панацея, но приятный бонус. Без тиковых данных их, конечно, тоже можно построить, пусть и довольно приблизительно, хотя общую картину видно худо-бедно. Но внутренний перфекционист требует точности :)

  • dimakor
    08 ноября 2017, 23:22
    Лучше научите как оттуда вытащить цену последней сделки одной строкой
      • dimakor
        09 ноября 2017, 10:19
        crazyFakir, ну в смысле чтобы в google sheets использовать, а то yahoo finance сломался :)
          • dimakor
            09 ноября 2017, 10:41
            crazyFakir, мне нужно чтобы одно число возвращало — скрипты буду писать только в крайнем случае )
            вот, кстати, описание интерфейсов, если не видел: iss.moex.com/iss/reference/
  • Vlad
    09 ноября 2017, 05:51
    какая задержка по данным без аутентификации?
  • _sg_
    09 ноября 2017, 10:28
    При выполнении Вашего запроса на скачивание минуток за 2017-11-08
    http://iss.moex.com/iss/engines/futures/markets/forts/boards/RFUD/securities/SiZ7/candles.json?from=2017-11-08&till=2017-11-08&interval=1&start=0

    данные заканчиваются строкой со временем 18:24:59

    [59673, 59670, 59677, 59662, 0, 1518, "2017-11-08 18:23:00", "2017-11-08 18:23:59"],
    		[59671, 59663, 59676, 59661, 0, 957, "2017-11-08 18:24:00", "2017-11-08 18:24:59"]
    	]
    }}
    Тоже самое происходит при указании других дат.

    Получается что данные с Moex тоже кривые.
    Видимо сессия у них заканчивается в 18:25.
      • _sg_
        09 ноября 2017, 10:41
        crazyFakir, то есть по этой технологии биржа ВСЕГДА отдает только 500 строк данных ?

        А где посмотреть другие ограничения,
        если они есть.
        Где про них написано?
          • _sg_
            09 ноября 2017, 11:01
            crazyFakir, а в запросе для тиков
            https://iss.moex.com/iss/engines/futures/markets/forts/securities/SiZ7/trades.json?start=0&limit=100
            можно получать данные только за текущую сессию?
            или как-то можно указать другую дату?

            Я попробовал в этом запросе указать параметры
            from=2017-11-08&till=2017-11-08&start=0&limit=1000

            Но данные возвращаются только за текущую дату 
                • _sg_
                  09 ноября 2017, 11:18
                  crazyFakir, 1,5-2 тыс за месяц — только один инструмент

                  если нужно больше, то нужно уже 4,5 тыс платить

                  www.moex.com/ru/orders?historicaldata

                  Все сделки и все заявки — Тип А 
                  1 рынок (месяц / год ) – 15 000 руб. / 150 000 руб.
                  1 инструмент (месяц / год ) – 4 500 руб. / 45 000 руб.

                  Все сделки и лучшие заявки - Тип B 
                  1 рынок (месяц / год ) – 4 500 руб. / 45 000 руб.
                  1 инструмент (месяц / год ) – 1 500 руб. / 15 000 руб.

                  Ежедневные итоги торгов (архивы за прошлые периоды)  — Тип C 
                  Все рынки (месяц) – 2 700 руб.

                  Все цены указаны без учета НДС


                  И зачем платить, когда можно не платить?
                    • _sg_
                      09 ноября 2017, 11:32
                      crazyFakir, 
                      Спасибо за Ваши ответы.
                      Вы очень любезны.

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

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