Блог им. SergeyTunkin

Документация по библиотеке moexalgo для AlgoPack API Мосбиржи

Документация по библиотеке moexalgo для AlgoPack API Мосбиржи

Совсем недавно, буквально 2 месяца назад, Мосбиржа запустила Algopack и выложила на Гитхаб долгожданную многими библиотеку на python –moexAlgo, которая должна упростить работу с AlgoPack API.

Что такое Алгопак?

ALGOPACK предоставляет исторические данные, на которых можно тестировать стратегии и делать бэктестинг. Также предполагаются онлайн данные для запуска торговых стратегий.

Данные в ALGOPACK включают:

– Super Candles – 5-минутные свечи с 50+ параметрами, история с 2020 года.

Mega Alerts – уведомления о рыночных аномалиях.

– Market Signals – сигналы о рыночных аномалиях.

– Market Data – стандартные онлайн данные: стаканы и свечи.

Исторические данные в алгопаке доступны с 2020 года. Доступ к данным возможен через API и Python клиент на библиотеке moexAlgo.

В настоящий момент в Алгопаке доступен только раздел Super Candles (суперсвечи), который (согласно информации с мосбиржи) имеет более 50 готовых сигналов, рассчитанных:

– На потоке сделок: средневзвешенные цены, доля покупок/продаж, объемы.

– На потоке заявок: количество, объем новых и снятых заявок.

– На стакане котировок: дисбаланс спроса/предложения, ликвидность, спреды.

Сигналы публикуются каждые 5 минут. Таким образом, ALGOPACK упрощает создание торгового алгоритма, предоставляя качественные биржевые данные.


Итак, прежде чем приступить к изучению и тестированию библиотеки moexalgo, я решил для удобства её изучения создать документацию (help).

Это очень важно и удобно, особенно для таких как я – начинающих изучать язык Python.

Хорошо документированная библиотека сильно повышает ее ценность для сообщества разработчиков и упрощает её использование.

— Документирование библиотеки облегчает использование и понимание – можно сразу узнать для чего предназначен каждый объект и метод библиотеки;
— Наличие документации определенно увеличит вовлеченность со стороны сообщества, а также сокращает время на разработку, поддержку и любые изменения кода.

Docstrings (докстринги) – это строки документации в исходном коде на Python, которые описывают, что делает код. Они пишутся в самом начале определения функций, методов, классов или модулей и заключаются в тройные кавычки. Примерно так:
Документация по библиотеке moexalgo для AlgoPack API Мосбиржи

Конечно рекомендуется еще и добавлять рабочие примеры использования, дополнять описания реальными примерами работы с кодом. Это избавляет пользователей от необходимости самостоятельно экспериментировать. И именно этого мне сейчас и не хватает! Вот бы разработчикам мосбиржи написать конспект по практическому применению библиотеки!

Для текущей версии библиотеки moexalgo 1.0.1 я сгенерировал документацию в виде HTML страниц.
Сделано это с помощью утилиты Pdoc (Auto-generate API documentation for Python projects). Установите эту библиотеку командой «pip install pdoc3» и далее, убедившись, что moexalgo установлена в вашем окружении, создайте документацию в виде html файлов следующей командой: "pdoc --html -o ./ moexalgo". Если Вы получаете ошибку, а они появляются часто даже при создании документации по популярным библиотекам, то используйте команду «pdoc --html -o ./ --skip-errors moexalgo». Все! Полноценная документация будет лежать в одноименной папке в виде html файлов. 
Ну и если заморачиваться с установкой pdoc3 нет желания, то можете использовать мой вариант:

Онлайн документация по библиотеке moexalgo.

Пользуйтесь на здоровье. Как библиотека обновится — обновлю и документацию.

Telegram-канал "Алготрейдинг на Python"

 

★7
9 комментариев
Спасибо, а где можно прочитать описание api этого алгопака?
avatar
Review, вот для меня, реально пока сложно там разбираться, но буду. Библиотека moexalgo сделана как раз для связки с API Algopack. Документации по библиотеке нет. Можно смотреть докстринги — что такое см.в статье. Ну и собственно говоря и появилась идея вытащить их всех в одну документацию. Т.е. потихоньку ковырять код и смотреть эту документацию. Постараюсь для своих задач разобраться в этом. Но определенно могли бы программиста на неделю посадить с задачей написать руководство на 10 стр с примерами! Сделана на python для популяризации, для того чтобы массы зашли в эту тему, так логично не кинуть код, а подать все максимально разжеванным.
avatar
+ посмотрите мой предыдущий пост smart-lab.ru/blog/969043.php — там все ссылки, в т.ч. на описание метаданных и методов, по которым можно стучаться в iss-moex.
avatar

>> Сигналы публикуются каждые 5 минут.

 

Это типа в риал-тайме?) Или просто каждые 5 минут?) Потому что супер-свечи бессмысленны если нет риал-тайма. Вот научился ты миллионы зарабатывать на супер свечах, а в риал-тайме в твоем провайдере данных тебе приходят обычные не супер, деревянные свечи).

avatar
Replikant_mih, на следующей неделе выложу, что у меня будет получаться. В выходные поэксперементирую. Все как я понял в перспективе будет, в т.ч. и онлайн. А сейчас в Super Candles идут даже не 5минутки, а минутные свечки. Доступны сразу после окончания периода, минута закончилась и свечка доступна. Вообщем буду смотреть еще, код весь выложу.
avatar
Beekeeper-algo, Понял, спсб. Вообще когда глянул впервые на эту инициативу мосбиржи, острого желания взять это в оборот не ощутил, поэтому пока поглядываю со стороны, не более. В алго пока хватает чем заняться и без супер-свечей).
avatar
В который раз натыкаюсь на описания  очередного инструментария для получения истории  биржевых данных… Но готового продукта обёрнутого в некую обёртку в виде некого простого интерфейса так и не встречал!!?? В старые добрые времена на пауке не одна готовая программа выкладывалась и поддерживалась  авторами продолжительное время за так..   Либо челы владеющие языками в конец ожлобились… либо это один из примеров  профессиональной деградации ?  Инструментов для решения в моменте много больше чем 20 лет назад… Задача вроде как простая для программеров- а решения не встретить?
avatar
igor12, во-первых не понятно что делать надо с этим. 

А во-вторых сейчас время специализации, интерфейс делают фронтендеры, а расчёты, регистрации, хранение и прочее — бекендеры.
А нужен ещё дизайнер / руководитель/ аналитик, который бы описал задачу. Для фронта и бека. 
Конечно можно и в одиночку делать, но надо тратить время. 
А кто-то работает по найму, другой на фрилансе. Для стартапа — не понятны перспективы, окупится ли. 
Вот и остаются в основном начинающие энтузиасты, которые для опыта делают что-то, но в одиночку делать непонятно что сложно, описать задачу вероятно сложнее чем её сделать 

avatar

теги блога Beekeeper-algo

....все тэги



UPDONW
Новый дизайн