В продолжении к моему прошлому посту про
заработок на пампах.
KuCoin выпустил немного
сыроватое специальное HF APi, которое я протестировал буквально недавно.
Оно создано специально, чтобы иметь минимальную задержку. Отвечает такое API только за отправку и отмену ордеров.
Вы даже не сможете завести себе отдельный счет внутри своего аккаунта, если не сделаете перевод через их API.
Только после этого в личном кабинете появиться специальный аккаунт «HF»
Я, честно говоря, думал, что это чисто маркетинг, но оказалось, что новое АПИ реально быстрее почти в 2 раза.
В среднем мы имели скорость от 35 до 42 мс на выставления ордера, после использования специализированно HF API стали получать по 20 мс.
Замеры с коло из Токио ->
1 ордер — 98 мс (прогрев)
2 ордер — 56 мс (прогрев)
3 ордер — 26 мс
4 ордер — 20 мс
5 ордер — 30 мс
6 ордер — 28 мс
7 ордер — 18 мс
8 ордер — 19 мс
9 ордер — 16 мс
Наша прошлая версия:
Так что мы побежали быстрее все переписывать, чтобы воспользоваться моментом, пока другие игроки не переобулись :)
Короче целый ряд алго очень долго использовали специализированные сетевухи с bypass. В том числе специализировавшиеся на low latency задачах.
Производитель выпустил очередные фитчи, которые прям вот кстати были в ту пору. Ну и надо было их заюзать. Все было очень даже не плохо, но при тестах первые пакеты с заявками уходили не так быстро как хотелось бы.
Ну ладно. Примерно понимаю в чем дело. Подрубаю профилировщик, начинаю отлаживать их драйвер и обертку к нему. А там промох по кешу на промох по кешу и промохом погоняет. Короче в момент первой отправки заявки, данные не горячие. Лезу в их драйвер, начинаю править его руками сам. За пару дней поправил.
Составляю в поддержку иностранную письмецо к ним. Мол так и так ребята. Приходится в вашем low latency коде самому прогревать ваши данные, иначе вообще не айс. Да говорят, спасибо, видим недоработку. Но пока, если вам не хочется исправлять наш драйвер постоянно, просто отправляйте левые пакеты, чтобы быть всегда прогретым. Спасибо говорю, так тоже приходится делать.
Вот так и приходится всем и всегда «прогревать кабель», чтобы и первые заявки уходили норм.
А потом они кстати серию апдейтов выпустили, где функции так и обозвали _warm. )
спасибо за комментарии!