uk
Feedback

Не попадись на ботовода! Telemetrio знаходить і позначає такі канали мітками 👉 Хочеш бачити мітку, оформляй підписку

АЛГОтрейдинг | ALKO трейдинг | CRYPDE | HFT

АЛГОтрейдинг | ALKO трейдинг | CRYPDE | HFT

Відкрити в Telegram

Крипта, HFT, ultra-low-latency безумие Контакт - https://t.me/alko_trading?direct

Показати більше
1 597
Підписники
-124 години
+307 днів
+25230 днів
Архів дописів
Еще про latency Есть очень важный момент, который я понял только через 2+ года пиляния market-maker и симуляций. Сэкономлю вам время: 1. Представьте что вы стоите maker-ом на какой-то бирже, пусть это будет bitget, а ваш true/fair/hedger - binance. 2. В момент когда на binance резко меняется цена - вам надо переставить ваши лимитки на bitget. 3. И чем резче поменяется цена (на большее количество пунктов) - тем СЛОЖНЕЕ вам будет переставить лимитки. Потому что в bitget в этот момент летит куча ордеров ioc/fok/take от lead-lag арбитражников (это и есть наш любимый toxic flow), а маркет-мейкеры пушат кучу cancel orders. 4. Очередь перед matching забивается толпой заявок place & cancel, и ИМЕННО в этот момент latency отмены для вас как для маркет-мейкера сказочно растет. Именно в этот ебучий момент, когда вам сильнее всего нужно. 5. И эта latency увеличивается пропорционально провалу hedger'a, потому что больше и больше народу вписывается в place и cancel flow. 6. Это и есть один из самых эпичных геморов mm-симуляции: - нельзя просто считать latency как avg - не репрезентативно вообще - нельзя считать latency как p50 - сильно оптимистично для хвостов - нельзя счииать latency как p90..p999 - сильно пессимисиично для нормальных сделок, симулятор будет говорить всему пизда - прийдется делать формулу в какой момент какая latency должна быть. #datastream #network

Repost from MarketTwits
⚠️🇺🇸#NVDA = -6% Какая жестокая ирония: CEO Nvidia Хуанг лопнул ИИ-пузырь своим членом — аналитики
⚠️🇺🇸#NVDA = -6% Какая жестокая ирония: CEO Nvidia Хуанг лопнул ИИ-пузырь своим членом — аналитики

Почему latency прыгает и как это правильно симулировать Мне эту идею подсказали, не напрямую, но все равно "Олександре, дякую!" 1. Matching engine оперирует командами: перед ним есть очередь типа-FIFO (не всегда, ну да ладно пусть будет FIFO), куда падают команды place | cancel | cancel | place | ... Matching берет эти команды по очереди и исполняет. Последовательно. Потому что матчинг на одном ядре (не всегда, но для активных монет именно так) 2. Так вот, каждая команда занимает время. У бинанса это примерно 3 us. Если в очередт 100 команд и ваша команда 100я - то до нее 300 us. 3. И вот тут начинатся самое интересное: есть некая базовая latency, которая складывается из: your_server > [cloudfront/cloudflare] > [load balancer] > api gateway > risk engine > matching engine (квадратные скобки означают "опционально") Вы можете подобрать наилучшее соединение до risk engine, иногда до matching engine, но вот на производительность matching'a будет влиять именно сколько команд в очереди перед ним. 4. Это отлично объясняет почему на LTC latency меньше, а на ETH больше, и почему на ETH бывают latency spikes (резкое увеличение до 10-20 ms вместо 0-2 ms). 5. Я отошел от симуляции по фиксированным latency, вместо этого я считаю просто p50 как некую базовую, а затем увеличиваю ее в симуляции в зависимости от того, сколько book & trade events летит. То есть да, я на лету считаю сколько событий сейчас валит в matching engine, и каждое событие это 3-4 us сверху. В итоге latency симулятора очень очень близко сходится с live. 6. В каком-то смысле формула такая: latency = p50 + load_average_by_events x 3 us Ставь лайк если побежал исправлять симуляцию после этого поста :) #datastream #hellcode

Вызываю помощь зала: пожалуйста, откликнитесь в комментариях кто держит свою ноду HyperLiquid. У моего товарища @yogitakes есть вопросик

Я удивлен шо нормальные биржи (okx, bybit) юзали цену mexc для расчета своих индекса. Особенно по ZEC. mexc рисуют себе объем
+1
Я удивлен шо нормальные биржи (okx, bybit) юзали цену mexc для расчета своих индекса. Особенно по ZEC. mexc рисуют себе объемы и цены, а другие такие "не ну не может быть шоб это все фейк - надо учитывать их".

алкотрейдинг!
алкотрейдинг!

Repost from N/a
https://home.treasury.gov/news/press-releases/sb0685 В мексе сейчас думают "Вот нахуя мы объемы накручивали, там же из 16 млрд объема реального было дай бог 100 млн..." 😂

Подъехала новая дурка оптимизации Значете почему оценивать соединение по RTT (пингам, в том числе websocket frame ping) - это не правильная идея? Потому что маршрут от вас до сервера не симметричен в обе стороны. Вот облом, да? Когда вы открываете соединение от в одну сторону вы получаете YOU > hop1 > hop2 > .. > SERVER, а в обратную SERVER > hop100500 > hop300200 > ... > YOU Никто не гарантирует симментричный маршрут, поэтому ping time делить на два чтобы понять latency - ХУЕТА. Я вот только что обломился с этим в UDP: я мерял соединения по RTT, а оказалось что надо только по one-side. Бывает конечно ECMP hash simmetric - но этого никто вам не обещает, особенно в aws. #network #hellcode

Мошенники уговорили бабку переписать хату на раст!

Я написал свой транслятор С вами рубрика дурка оптимизаци Короче, замес в том, что php это интерпретируемый язык. Да, там ест
Я написал свой транслятор С вами рубрика дурка оптимизаци Короче, замес в том, что php это интерпретируемый язык. Да, там есть JIT, но для hot path он делает хуже (я тестил). Но основная проблема - это инлайнинг и call stack path. Если у вас есть код который делает call function1, там внутри call function2, а там call function3 - то он будет работать МЕДЛЕНЕЕ чем если бы это все было одной простыней вообще без вызовов. Но писать так код это ж просто жопа. И это касается всего: и функций/методов, и переменных и еще кучи фишечек. Поэтому для максимальной производительности я сделал свой транслятор, который превращает нормальный код в нечитаемую хуету, но которая работает сильно быстрее (и не дебажится хаха): потому что оно поставляет все одно в другое и получает один жирнючий файл простыню. #hellcode

Я немного недоговорил за binance. У binance такая микроструктура цены, что он очень резко не уходит в сторону. Поэтому он удобен для хеджирования. Это конечно относительно, но например если выторгуете ETH kucoin против hedger'a binance ETH, то просто попробуйте замениь binance на okx. Они сейчас оба в Токио. Скажу сразу - не получится так легко, потому что okx ETH будет уходить сильно сильно резче. Да, там ликвидности может быть одинаково, но в момент удара там ордера снимаются мгновенно и проскальзывание получается резкое. У бинанса обычно так нет, там все постепенно: 1 bps, еще 0.5 bps, еще 0.7 bps. Да, это тоже каскад, но не одной палкой.

Strict timers. Добро пожаловать в мир low-level ебанины, все ради сходимости симуляции и live. 1. У меня в маркет-мейкере выставление ордера работает по таймеру 500 ms. Отменяться я могу раньше и любыми способами, а выставление ордеров - только раз в 500 ms (и если можно). 2. Таким образом я контроллирую api rate limits (не больше 120 place+cancel в минуту на ордер), и еще одну штуку с остыванием trueprice. 3. Так вот, когда запускается симулятор - то у него время идет дискретно 0.0, 0.5, 1.0, 1.5... А когда работает live - то там тоже таймер 500 ms, но его запуск будет зависеть от времени в которое стартанул процесс. 4. И чтобы добиться сходимости place-ов с симуляцией - я сделал угадайте что? Правильно, strict timers в live. То есть в live теперь таймеры идут тоже по точно такой же схеме 0.0, 0.5, 1.0, 1.5 в те же моменты времени. 5. Но на этом не конец: если процессов много то не очень удобно чтобы все маркет-мейкеры пушили ордера в одно и тоже время. Поэтому, делаем hash (exchange + pair) и по этому hash высчитываем fixed-смещение. В итоге ETH у нас пушится по 0.1, 0.6, 1.1, ... BTC по 0.2, 0.7, 1.2, ... и так далее Ебать я заморочился, зато хоть трейды сходиться начались #hellcode

У меня есть теория, не претендую на истину. Бинанс это батя среди всех бирж именно из-за своей структуры rate limits. Следите за руками: 1. В отличии от всех остальных бирж у binance постановка ордера стоит 0 (условно), а отмена стоит rate limit weights. Так только у бинанс, у остальных place/cancel равны или равномерно ограничены. 2. Это приводит к тому, что поставить ордер в стакан и/или тейкнуть - проще, чем отменить. 3. Это приводит к тому, что binance не сможет остро реагировать на toxic flow: маркетосы не успеют убрать все и сразу, как например происходит на okx (там резво снимаются первые уровни). 4. Это приводит к тому, что у маркетосов которые там стоят модель должна опираться на no-hedge, то есть им надо набирать позицию и усредняться/терпеть. 4. Это приводит к тому, что у бинанса стакан плотнее. 6. Это приводит к тому, что на ликвидный стакан присасывается ритейл, потому что проскальзывания меньше. 7. А это приводит к тому, что туда хотят больше маркетосов. Круг замкнулся. Плюс добавьте еще ситуацию, что начинся с vip7 есть portfolio margin pro, у которого нет risk check. То есть taker vip7 и выше работает БЫСТРЕЕ чем limit cancel. То есть у бинанса тейкнуть быстрее, чем отменить. А вот все остальные биржи хотят наоборот, тут недавно даже deribit ввел 10 ms delay на taker. #microstructure

Repost from Danya Savin 🫍
🏴 Корейский криптопроект в сфере приватности и кибербезопасности привлек новый раунд финансирования в размере $6 млрд. 🏴 @s
🏴 Корейский криптопроект в сфере приватности и кибербезопасности привлек новый раунд финансирования в размере $6 млрд. 🏴 @savin

Давно не было мемов, исправляюсь
Давно не было мемов, исправляюсь

Сейчас окажется что OpenAI взломал SSL и всему пизда основательно.

Сейчас окажется что OpenAI взломал SSL и всему пизда основательно.