Сегодня наблюдал сабж по некоторой акции на мосбирже с пом. моего скрипта с OnAllTrade. При этом время сделки было то же самое по самую микросекунду. Это произошло сразу после смены цен покупки/продажи. Как такое возможно? Действительно ли эти 339 сделок произошли менее, чем за 1 мкс?
Можно ли где-то получить общее представление о том, как организованы торги на мосбирже и какие там характеристики у серверов (какая ОС, память, ЦП, диски, пропускной канал, ...)? Т.е. как бы совершить виртуальный тур по бирже. Примерно, как в видео на ютюбе о работе tsmc, где клепают лучшие ЦП.
Serge123 написал: Сегодня наблюдал сабж по некоторой акции на мосбирже с пом. моего скрипта с OnAllTrade. При этом время сделки было то же самое по самую микросекунду. Это произошло сразу после смены цен покупки/продажи. Как такое возможно? Действительно ли эти 339 сделок произошли менее, чем за 1 мкс?
Можно ли где-то получить общее представление о том, как организованы торги на мосбирже и какие там характеристики у серверов (какая ОС, память, ЦП, диски, пропускной канал, ...)? Т.е. как бы совершить виртуальный тур по бирже. Примерно, как в видео на ютюбе о работе tsmc, где клепают лучшие ЦП.
Serge123 написал: Сегодня наблюдал сабж по некоторой акции на мосбирже с пом. моего скрипта с OnAllTrade. При этом время сделки было то же самое по самую микросекунду. Это произошло сразу после смены цен покупки/продажи. Как такое возможно? Действительно ли эти 339 сделок произошли менее, чем за 1 мкс?
Можно ли где-то получить общее представление о том, как организованы торги на мосбирже и какие там характеристики у серверов (какая ОС, память, ЦП, диски, пропускной канал, ...)? Т.е. как бы совершить виртуальный тур по бирже. Примерно, как в видео на ютюбе о работе tsmc, где клепают лучшие ЦП.
Да элементарно. 339 разных заявок в стакане кто-то собрал одной крупной встречной заявкой.
paluke написал: 339 разных заявок в стакане кто-то собрал одной крупной встречной заявкой.
А, ясно, почему такая высокая скорость. А если бы мелкие заявки собирали мелкими, то сервер не успел бы за 1 мкс провести все 339 сделок и образовалась бы очередь?
paluke написал: 339 разных заявок в стакане кто-то собрал одной крупной встречной заявкой.
А, ясно, почему такая высокая скорость. А если бы мелкие заявки собирали мелкими, то сервер не успел бы за 1 мкс провести все 339 сделок и образовалась бы очередь?
Сервер не может провести 339 заявок за 1 мкс. это почти миллиард транзакций в секунду. ------------------------ Скорее всего Вы что-то не так поняли. Поэтому и предлагал Вам показать. --------------------- Например, сервер QUIK делает примерно 1000 транзакций в секунду. ---------------------- Делал тест сервера на 4 ядрах. Получил 50 000 транзакций в секунду. -------------------- Сомневаюсь, что на бирже сервер в миллион раз быстрее. --------------------- В вашем случае, сервер биржи должен иметь десятки тысяч ядер .
nikolz написал: Сервер не может провести 339 заявок за 1 мкс.
В 1-м моём сообщении речь шла о сделках. Ошибочно сделки перетекли в заявки...
Суть ответа не меняется. Вы прочитали статьи? Там есть ответ на Ваш вопрос. Поясняю: В вашем вопросе 339 сделок совершено за 1 мкс. Это значит 339 миллионов сделок в секунду . ------------------------- в статье сказано: "8 млн в сек – это внутренняя производительность алгоритма на ядре системы. 50 тыс. – это поток, образуемый клиентской нагрузкой в реальной инфраструктуре – с полным набором компонентов/серверов, резервированием, репликацией, сетевыми устройствами." ------------------------ Т е Ваши 339 это в 40 раз быстрее, чем реально достигнуто на уровне ядра системы на бирже При этом, в системе на момент совершения первой сделки все заявки должны быть уже в очереди(стакане) в оперативной памяти сервера. --------------------
nikolz написал: Т е Ваши 339 это в 40 раз быстрее, чем реально достигнуто на уровне ядра системы на бирже
Может быть, дело было в том, что кто-то сделал крупную заявку по рыночной цене, а с другой стороны сервер просто пособирал лимитные заявки на эту сумму, и это можно сделать намного быстрее?
Иначе получается, что переданное время сервера биржи не соответствует его реальным часам. Напр., чтобы не тормозить с обработкой заявок, сервер не для каждой сделки опрашивает показания часов?
Закачал сюда этот файл с содержимым стаканов и сделками: drive.google.com/file/d/1fbPQM0Xfd-ULQFV7M0vBPW8m_6boaulj/view?usp=sharing Там на 3-х отрезках за одно и то же время происходит > 300 сделок. Рекорд 509 сделок, почему-то в этом месте много сделок с одной акцией, кто объяснит? Где рекордные сделки искать, см. в файлике a1.txt.
У Вас время 09:50:00 не содержит микросекунд. Это время Вашего компьютера, а не биржи. Говоря о сделках в 1 мкс Вы очевидно имели ввиду вот это:
Код
9:59:32.000877 1.3796 270 S
09:59:32.000877 1.3796 5 B
09:59:32.000877 1.3796 36 B
09:59:32.000877 1.3796 39689 B
09:59:32.000877 1.3796 11 B
09:59:32.000877 1.3796 5000 B
09:59:32.000877 1.3796 29076 S
09:59:32.000877 1.3796 1000 S
09:59:32.000877 1.3796 200 S
09:59:32.000877 1.3796 1325128 S
09:59:32.000877 1.3796 1 S
09:59:32.000877 1.3796 1 S
09:59:32.000877 1.3796 2 S
09:59:32.000877 1.3796 25500 S
09:59:32.000877 1.3796 65 S
09:59:32.000877 1.3796 5 B
09:59:32.000877 1.3796 243000 S
09:59:32.000877 1.3796 732 S
09:59:32.000877 1.3796 178 S
09:59:32.000877 1.3796 62 S
09:59:32.000877 1.3796 1000 S
09:59:32.000877 1.3796 210 S
09:59:32.000877 1.3796 3718 S
09:59:32.000877 1.3796 2 S
09:59:32.000877 1.3796 100 S
09:59:32.000877 1.3796 4 S
09:59:32.000877 1.3796 4063 S
09:59:32.000877 1.3796 5332 S
09:59:32.000877 1.3796 4 S
09:59:32.000877 1.3796 8 S
09:59:32.000877 1.3796 45 S
09:59:32.000877 1.3796 1700 S
09:59:32.000877 1.3796 382 S
09:59:32.000877 1.3796 86 S
09:59:32.000877 1.3796 100 S
09:59:32.000877 1.3796 803 S
09:59:32.000877 1.3796 10000 S
09:59:32.000877 1.3796 1 S
09:59:32.000877 1.3796 13000 S
09:59:32.000877 1.3796 395 S
09:59:32.000877 1.3796 100 S
09:59:32.000877 1.3796 4 S
09:59:32.000877 1.3796 71952 S
09:59:32.000877 1.3796 47 S
09:59:32.000877 1.3796 7 S
09:59:32.000877 1.3796 7 S
09:59:32.000877 1.3796 7 S
09:59:32.000877 1.3796 200 S
09:59:32.000877 1.3796 58 S
09:59:32.000877 1.3796 511 S
09:59:32.000877 1.3796 10 S
09:59:32.000877 1.3796 578 S
09:59:32.000877 1.3796 566 S
09:59:32.000877 1.3796 3000 S
09:59:32.000877 1.3796 39 S
09:59:32.000877 1.3796 1000 S
09:59:32.000877 1.3796 220 S
09:59:32.000877 1.3796 33 S
09:59:32.000877 1.3796 6 S
09:59:32.000877 1.3796 295 S
09:59:32.000877 1.3796 406 B
09:59:32.000877 1.3796 14 B
09:59:32.000877 1.3796 500 B
09:59:32.000877 1.3796 1036 B
09:59:32.000877 1.3796 2242 B
09:59:32.000877 1.3796 9900 B
09:59:32.000877 1.3796 200 B
09:59:32.000877 1.3796 5000 B
09:59:32.000877 1.3796 1000 B
09:59:32.000877 1.3796 21 B
09:59:32.000877 1.3796 65 B
09:59:32.000877 1.3796 330 B
09:59:32.000877 1.3796 55 S
09:59:32.000877 1.3796 20000 S
09:59:32.000877 1.3796 2 S
09:59:32.000877 1.3796 2 S
09:59:32.000877 1.3796 1244960 S
09:59:32.000877 1.3796 100000 S
09:59:32.000877 1.3796 30000 S
09:59:32.000877 1.3796 1000 S
09:59:32.000877 1.3796 26756 S
09:59:32.000877 1.3796 7000 S
09:59:32.000877 1.3796 1004 S
09:59:32.000877 1.3796 9000 S
09:59:32.000877 1.3796 2233 S
09:59:32.000877 1.3796 10500 S
09:59:32.000877 1.3796 1400 S
09:59:32.000877 1.3796 1000 S
09:59:32.000877 1.3796 150 S
09:59:32.000877 1.3796 59 S
09:59:32.000877 1.3796 1 S
09:59:32.000877 1.3796 13 S
09:59:32.000877 1.3796 145000 S
09:59:32.000877 1.3796 5000 S
09:59:32.000877 1.3796 1360 S
09:59:32.000877 1.3796 2101 S
09:59:32.000877 1.3796 15 S
09:59:32.000877 1.3796 1 S
09:59:32.000877 1.3796 11378 S
09:59:32.000877 1.3796 139 S
09:59:32.000877 1.3796 20 S
09:59:32.000877 1.3796 2000 S
09:59:32.000877 1.3796 15135 S
09:59:32.000877 1.3796 110000 S
09:59:32.000877 1.3796 73 S
09:59:32.000877 1.3796 1 S
09:59:32.000877 1.3796 8000 S
09:59:32.000877 1.3796 1000 S
09:59:32.000877 1.3796 1670 S
09:59:32.000877 1.3796 5000 S
09:59:32.000877 1.3796 20000 S
09:59:32.000877 1.3796 100 S
09:59:32.000877 1.3796 33000 S
09:59:32.000877 1.3796 1000 S
09:59:32.000877 1.3796 12046 S
09:59:32.000877 1.3796 10000 S
09:59:32.000877 1.3796 5000 S
09:59:32.000877 1.3796 10200 S
09:59:32.000877 1.3796 1000 S
09:59:32.000877 1.3796 9510 S
09:59:32.000877 1.3796 1000 S
09:59:32.000877 1.3796 6000 S
09:59:32.000877 1.3796 160000 S
09:59:32.000877 1.3796 1000 S
09:59:32.000877 1.3796 100 S
09:59:32.000877 1.3796 700 S
09:59:32.000877 1.3796 241000 S
09:59:32.000877 1.3796 10320 S
09:59:32.000877 1.3796 87950 S
09:59:32.000877 1.3796 251344 S
09:59:32.000877 1.3796 2 S
09:59:32.000877 1.3796 2 S
09:59:32.000877 1.3796 2 S
09:59:32.000877 1.3796 615250 S
09:59:32.000877 1.3796 7000 S
09:59:32.000877 1.3796 362845 S
09:59:32.000877 1.3796 168328 S
09:59:32.000877 1.3796 100000 S
09:59:32.000877 1.3796 14873 S
09:59:32.000877 1.3796 493469 S
09:59:32.000877 1.3796 25000 S
09:59:32.000877 1.3796 1200000 S
09:59:32.000877 1.3796 1407296 S
09:59:32.000877 1.3796 181423 S
Обратите внимание, что не изменяются в этих записях время и цена. Т е это не исполнение одной большой заявки по рынку, а продажи большому покупателю, который выставил большой пакет на покупку по фиксированной цене и его обгрызают продавцы. Т е в него стукаются прилетающие заявки. Так делают HFT роботы, но они не могут прилететь все за 1 мкс. Что-то тут не так со временем.
В файлике a1.txt видно, что два рекорда по числу сделок с неизменным временем были не на аукционе открытия. А почему время сделок не меняется, можно только предполагать, а может кто-то, кто сидит ближе к мосбирже, спросит у неё: как объясняется этот феномен?
nikolz написал: У Вас время 09:50:00 не содержит микросекунд. Это время Вашего компьютера, а не биржи.
Все времена содержат микросекунды, а время для содержимого стакана, естественно, берётся с моего ПК, а откуда мне его ещё взять (от getQuoteLevel2 вестимо...)? А время сделок, видимо, передаётся в OnAllTrade с сервера биржи(?)
Serge123 написал: а откуда мне его ещё взять (от getQuoteLevel2 вестимо...)?
Ошибся, время здесь я беру через ossysdate() опять же с моего ПК. Ни OnQuote, ни getQuoteLevel2 времени не дают (хотя, здесь кто-то просил об этом в 2015 г. нашей эры...)
Хотя, т.к. изменения в стаканах приходят кучей, и вроде бы с каким-то наименьшим периодом (> 0.01 с.), то о точном времени здесь говорить не приходится.
Serge123 написал: В файлике a1.txt видно, что два рекорда по числу сделок с неизменным временем были не на аукционе открытия. А почему время сделок не меняется, можно только предполагать, а может кто-то, кто сидит ближе к мосбирже, спросит у неё: как объясняется этот феномен?
Я уже предлагал объяснение:
Цитата
Да элементарно. 339 разных заявок в стакане кто-то собрал одной крупной встречной заявкой.
Это же lqdt? Там цена почти не меняется, куча разных заявок стоит в стакане по одной цене. Старый анекдот:
Скрытый текст
В автобусе: -А вы выходите на следующей? -Да, выхожу. -А люди, которые перед вами, тоже выходят? -Да. Но они об этом еще не знают...
Не важно, с какой скоростью сервер обрабатывает транзакции. Все сделки произошли в тот момент, когда прилетела крупная встречная заявка. Но сервер об этом еще не знает - он не успел всё обработать...
Serge123 написал: В файлике a1.txt видно, что два рекорда по числу сделок с неизменным временем были не на аукционе открытия. А почему время сделок не меняется, можно только предполагать, а может кто-то, кто сидит ближе к мосбирже, спросит у неё: как объясняется этот феномен?
Я уже предлагал объяснение:
Цитата
Да элементарно. 339 разных заявок в стакане кто-то собрал одной крупной встречной заявкой.
Это же lqdt? Там цена почти не меняется, куча разных заявок стоит в стакане по одной цене. Старый анекдот: Скрытый текст В автобусе: -А вы выходите на следующей? -Да, выхожу. -А люди, которые перед вами, тоже выходят? -Да. Но они об этом еще не знают... Не важно, с какой скоростью сервер обрабатывает транзакции. Все сделки произошли в тот момент, когда прилетела крупная встречная заявка. Но сервер об этом еще не знает - он не успел всё обработать...
Я бы согласился с этой версией, если бы она повторялась. Но такого нет. Да и быть не должно для разных заявок, так как время регистрации заявки - это юридический факт и регистрироваться она должна не в момент прилета большой заявки, а в момент их встречи. Т е если встречные заявки в очереди, то сделки регистрируются последовательно. Ранее давал ссылку на статью, где представитель биржи хвалился что им удалось реализовать 8 сделок в мкс на уровне ядра. В данном случае 339 сделок, т е в 40 раз быстрее. что быть не может для разных биржевых заявок. Объяснить это могу лишь адресной сделкой(заявкой) В ней время сделки будет одно и тоже. вот пример сделок по одной цене и время все в пределах 200000 мкс и таких много:
Код
10:22:39.461441 1.3797 350 B
10:22:39.463233 1.3797 20 B
10:22:39.465084 1.3797 320 B
10:22:39.467713 1.3797 9540 B
10:22:39.469318 1.3797 1 B
10:22:39.470061 1.3797 10 B
10:22:39.472512 1.3797 10 B
10:22:39.474243 1.3797 420 B
10:22:39.486819 1.3797 340 B
10:22:39.508194 1.3797 60 B
10:22:39.513099 1.3797 350 B
10:22:39.515203 1.3797 320 B
10:22:39.516766 1.3797 9540 B
10:22:39.519155 1.3797 10 B
10:22:39.520698 1.3797 20 B
10:22:39.525620 1.3797 10 B
10:22:39.527351 1.3797 420 B
10:22:39.530555 1.3797 340 B
10:22:39.569123 1.3797 60 B
10:22:39.572256 1.3797 350 B
10:22:39.574998 1.3797 10 B
10:22:39.576334 1.3797 20 B
10:22:39.579190 1.3797 10 B
10:22:39.580370 1.3797 420 B
10:22:39.582377 1.3797 270 B
10:22:39.584148 1.3797 9540 B
10:22:39.585802 1.3797 340 B
10:22:39.609057 1.3797 3490 B
10:22:39.614191 1.3797 30 B
10:22:39.619099 1.3797 60 B
10:22:39.625574 1.3797 350 B
10:22:39.628100 1.3797 10 B
10:22:39.629686 1.3797 350 B
10:22:39.638879 1.3797 20 B
10:22:39.645045 1.3797 10 B
10:22:39.646747 1.3797 420 B
10:22:39.648311 1.3797 9540 B
10:22:39.650056 1.3797 340 B
nikolz написал: вот пример сделок по одной цене и время все в пределах 200000 мкс и таких много:
И что? Долбят по мелочи заявку маркетмейкера на миллиард. А потом маркетмейкер решил подвинуться на один пункт и сгреб всех разом...
Время сделки должно совпадать со временем регистрации заявки, вызвавшей эту сделку. Иначе будут вопросы: "Почему по моей заявке сделка прошла по более высокой цене, хотя последняя сделка по низкой цене была на пять микросекунд позже, чем зарегистрирована моя заявка?"
nikolz написал: вот пример сделок по одной цене и время все в пределах 200000 мкс и таких много:
И что? Долбят по мелочи заявку маркетмейкера на миллиард. А потом маркетмейкер решил подвинуться на один пункт и сгреб всех разом...
Время сделки должно совпадать со временем регистрации заявки, вызвавшей эту сделку. Иначе будут вопросы: "Почему по моей заявке сделка прошла по более высокой цене, хотя последняя сделка по низкой цене была на пять микросекунд позже, чем зарегистрирована моя заявка?"
Не соглашусь с Вами. По-моему, маркет мейкер не выставляет очень большие пакеты. ----------------- Я предположил что это сделка РЕПО. ММ эти сделки не делает. РЕПО - это передача акций в долг. Эти сделки делают проф участники между собой.