ПО для получения данных и выставления заявок на криптобиржах

Цена договорная • наличный расчёт, безналичный расчёт, электронные деньги
14 февраля 2018, 14:32 • 7 откликов • 55 просмотров
Программа должна уметь две вещи - получать рыночные данные с биржи и выставлять заявки.
Получение данных - как правило по вебсокету. Входные данные - название торгового инструмента, выходные данные - обновления журнала заявок, либо собранного стакана, если журнал заявок не транслируется. Программа должна отслеживать состояние соединения и самостоятельно переподключаться при обрыве связи.
Выставление заявок - как правило биржи предоставляют Рест-Апи, но бывает и через вебсокеты. Программа должна подключиться к бирже с заданными ключами и уметь - выставить заявку, лимитную или по рынку. Получить её биржевой номер или сообщить причину отказа в выставлении, если таковой случается. Переставить заявку с другой ценой или количеством, если такая возможность имеется на бирже. Снять заявку. Узнать об исполнении заявки, полном или частичном. Для этого как правило нужно периодически слать запросы на биржу для получения информации о своих заявках и/или сделках. На некоторых биржах существуют ограничения на частоту запросов, программа должна уметь это отслеживать. Входные данные - название инструмента, цена, кол-во, тип заявки - лимитная/рыночная, возможно будут дополнительные параметры. Также программа должна отслеживать состояние подключения и самостоятельно переподключаться при обрыве связи.
Итого - программа подключается к бирже, получает рыночные данные по какому-либо инструменту, с некоторым отступом встаёт в стакан по этому же инструменту в обе стороны и переставляет свои заявки при изменении цены. Заявка - простая структура, содержащая поля - инструмент, цена, кол-во, идентификатор свой и биржевой, состояние - стоит в стакане/переставляется/исполнена и т.д.
Предпочтительный язык - Питон 2, ОС - Линукс.
Для начала интересуют криптобиржи Хуёби (huobi.com), Кракен (kraken.com) и Битмекс (bitmex.com). Впоследствии понадобятся другие. Есть нацеленность на долговременное сотрудничество. У каждой криптобиржи есть свои особенности и проблемы, выявляемые в процессе работы, так что потребуется поддержка данного ПО. Плюс есть много планов по развитию проекта вплоть до создания собственной биржи.