Блог им. SergeyTunkin
Всем привет! Наконец-то я закончил работу над своей первой настоящей, правда еще консольной, программой, с помощью которой можно скачать все исторические данные (свечки OHLCV) с различными таймфреймами по всем акциям Мосбиржи. И вроде достаточно простая задача, но отняла достаточное количество времени. И кажется я все больше начинаю понимать как программировать, хотя осознаю, что знаний в безграничном python катастрофически не хватает. Тем не менее получилось сделать то, о чем не мог себе представить еще месяц назад. Открывая сейчас код программы начинаю чувствую на подсознании, что не все так страшно, как было совсем недавно.
Итак, в конце года я писал о том, как с помощью Algopack можно вытащить справочную информацию о всех акциях Мосбиржи. Был написан мой первый небольшой и достаточно простой скрипт использующий библиотеку moexalgo. И я обозначил планы дописать его с целью добычи всех исторических данных.
Сказано – сделано. В итоге получилась, как я считаю, вполне полноценная программа. Естественно захотелось скомпилировать программу под windows. Дальше больше – придумал ей название “Тахометр Трейдера”. (не смейтесь сильно:-) Был у меня в давней истории небольшой период, когда продавал тахометры для подвесных лодочных моторов и был даже сделанный за деньги небольшой интернет магазин “Тахометр” со слоганом “живи ритмично”. Так что название программы пришло как-то само и сразу же.)
Ну а теперь к делу. Для программы я сверстал на генераторе статичных сайтов MkDocs (тоже на python) сайт с пользовательским мануалом – https://tahometr.ru/. С него же можно скачать дистрибутив программы. Качайте, буду очень рад, если программа сможет пригодиться Вам!
Текущая статистика по добываемой программой данным:
С таймфреймом D (день) по всем 249 акциям сохранено 481118 строк, объем файлов составил 38.5 Мб.
С таймфреймом 60 мин по всем 249 акциям сохранено 3809927 строк, объем файлов составил 306.4 Мб.
С таймфреймом 10 мин по всем 249 акциям сохранено 16050063 строк, объем файлов составил 1285.3 Мб.
С таймфреймом 1 мин по всем 249 акциям сохранено 94300353 строк, объем файлов составил 7520.3 Мб.
Вообще всего в 996 файлах исторических данных сохранено 114,6 миллиона строк(свечек), общий объем сохраненных данных 9.15 Гб.
Для получения этой статистики дописал отдельный скрипт, который можно просто положить рядом с файлом программы и запускать, когда появится интерес. Скачать можно там же. Программа скомпилирована инсталлятором PyInstaller, должна запуститься на любом компьютере с windows.
Программа использует официальную библиотеку moexalgo для работы с Algopack. Что интересного выяснилось?
Программа проста в использовании. Тем не менее я написал небольшой мануал и даже снял отдельное видео:
Детально описывать весь алгоритм программы не сложно, но на самом деле уже достаточно трудоемко и долго, как никак, а в программе 4 сотни строк. Возможно в след раз как минимум буду рисовать блок схему. Листинг можно скачать на гитхабе. Если будут вопросы по коду — обязательно отвечу.
В Алгопаке функционал намного шире, чем я использовал в программе — по сути в ней используется только один метод Ticker.candles(). В планах изучить остальные возможности алгопака и при целесообразности конечно же добавить их к функционалу программы. И очень хочется сделать все в нормальном графическом интерфейсе.
Чтобы быть в курсе Telegram-канал Алготрейдинг на Python
SergeyJu, вроде как этот алгопак через iss качает, но это не точно. Так написано у них.
А в iss они доступ к прошлым фьючам прикрывают. (
value — это объем в рублях?
volume — объем в лотах?
не подошло?
есть еще фишка, что MT5 распространяет котиры, надо только проверить, какая она там. Дмитрий Овчинников наверное точно подскажет
да, они там есть по всем инструментам.
Нюанс котировок в Финаме в том, что таймстамп скорее всего не будет совпадать с таймстампом биржи.
СПС!
Леха «my-trade», ну тогда к той ссылке что я приложил, погугли конвертер qshtobin или просто конвертер qsh. Их не один в инете, даже с исходниками. Сам когда то тоже писал.
qsh распространяется в нескольких вариантах:
— ордерлог. И тут ты без труда построишь best bid, best ask
— поток трейдов. Тут ты ничего не дернешь. Но обычно, там где есть все трейды, есть еще файл с market level 2 инфой, там то и есть best bid, best ask
насколько я помню StockSharp, а именно S# Data Гидра, умеет с этим qsh все что хочешь делать.