tranquility
tranquility личный блог
02 марта 2018, 19:41

Бесплатные тики с Мосбиржи (python3)

Наконец более-менее довел до ума код, который берет данные с информационно-статистического сервера биржи.
В предыдущей теме скрипт запрашивал некоторое количество тиков, привязанных либо к текущему моменту, либо к началу торгового дня. Сейчас я сделал так, что можно брать тики от начала заданного дня (доступны только текущий и два предыдущих рабочих) до текущего времени заданного дня. Похоже, сервер кривой и не дает за весь прошлый день получить тики. Зато, если дождаться 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:
Бесплатные тики с Мосбиржи (python3)

Для этого надо указать в скрипте имя файла, который будем строить:
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» выделенного цветом.
16 Комментариев
  • Goreloff
    02 марта 2018, 22:59
    Полезный пост, спасибо
  • Gillan
    03 марта 2018, 15:25
    Спасибо, очень круто!

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

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