Наконец более-менее довел до ума код, который берет данные с информационно-статистического сервера биржи.
В
предыдущей теме скрипт запрашивал некоторое количество тиков, привязанных либо к текущему моменту, либо к началу торгового дня. Сейчас я сделал так, что можно брать тики от начала заданного дня (доступны только текущий и два предыдущих рабочих) до текущего времени заданного дня. Похоже, сервер кривой и не дает за весь прошлый день получить тики. Зато, если дождаться 22:00, можно получить все что требуется за текущий день и два предыдущих.
Пока что заливаю файлы сюда, позже обновлю на гитхабе.
yadi.sk/d/ccTtLzbk3Rbtty
В общем, чтобы сохранить тики в файл, надо просто запустить скрипт iss_simple_main.py, предварительно в нем указав нужный день:
iss.get_trades_for_session( 'futures', 'forts', 'RIH8', 2 ) # доступны значения 0, 1, 2
Когда файл сохранится, можно нарисовать такой вот график с помощью скрипта iss_plot_trades.py:
Для этого надо указать в скрипте имя файла, который будем строить:
fname = 'RIH8 280218 10-00-34+0300.txt'
В файле первая строчка задает время нулевого тика:
zeroTime: 1519801234
а дальше идут строчками тики, задаваемыми тремя значениями, время относительно нулевого тика<tab>цена<tab>объем:
0 130410 3
0 130400 3
0 130370 10
Направления сделок, цены бид/аск, открытый интерес в этих данных недоступны — это уже Мосбиржей продается за деньги.
UPD: В файле iss_simple_main.py строчке 63 я сделал округление до нуля знаков после запятой, чтобы файл меньше занимал места:
f.write( '%d\t%.0f\t%d\n' % ( sec[0] — zeroTime, sec[1], sec[2] ) )
Если ваш инструмент имеет точность сколько-то знаков после запятой, это число надо указать вместо «0» выделенного цветом.
previous_session = 0:
previous_session = 1:
previous_session = 2:
previous_session = 3:
Надеюсь, эти мои исследования действительно кому-то окажутся полезными. Позже я расскажу про свое знакомство с платными данными от Мосбиржи (купил у них месяц тиков и лучших котировок по RIH8). Некоторые моменты хотелось бы прояснить у знающих людей. Там, например в заявках какой-то ад творится, что так просто этими бид-аск не воспользуешься, надо придумывать как их отфильтровывать. Но менеджер по данным продуктам сказал что все норм, алгоритмы поменялись и вот теперь такая фигня, зато все по-честному показано))
github.com/pecec/moex_iss