После Нового года начал тестировать робота на реальных деньгах.
Все переживал насчет штрафов за ошибочные транзакции, за частоту транзакций, но засада была в другом месте.
Я, конечно, подозревал, что должно быть ограничение и на общее число транзакций. Но, когда после 50 000 никаких штрафов не прилетело, после 100 000 ничего не прилетело, я успокоился и решил, что на фонде лимитов нет.
Это была чудовищная ошибка. На самом деле лимит есть, и он как раз 100 000 заявок, просто биржа выставляет счет не на следующий день, а в конце месяца, и не разом, а как будто Людвиг Аристархович на полставки начинает вручную лопатить статистику и с фирменным «А кто ето сделал?!» выписывать счета.
Я еще как назло логи робота за начало месяца удалил, поэтому не знаю, на сколько точно попал. Возможно, и 200 000+.
Тонкость с этим лимитом в том, что при его превышении хотя бы 1 заявку на все заявки за день начисляется штраф 10 копеек. А это значит, что жертва сразу попадает на 10 000 р. Специально на этот счет связался с биржей, и они подтвердили, что штраф берется со всех заявок за день, а не только с превышающих лимит.
Поигрался роботом на все деньги, короче говоря.
Документ о штрафах биржи
Но Мосбиржа, однако, коварна. О штрафах принято предупреждать, тем более, если верить их собственному документу, они за повторное нарушение начинают штрафовать, а не сразу. Эти же втихушу насчитали за весь месяц, чтобы сюрприз был. Еще и штрафы назвали дополнительным вознаграждением, чтобы удобнее искать было. Молодцы вообще.
make my day
Деньги оно, конечно, проще терять, чем вопрос задать.
Надеюсь хоть робот отбил потери?
Просто я всегда помню, что биржа это агрегат для отъема моих денег.
Любым способом.
У меня из-за этого фактически двойная биржевая комиссия получается.
50млн оборота на 100тыс заявок нужно, чтобы эту комиссию не платить.
Что не предупредили и потом счет за весь период выставили некрасиво, конечно.
Эти штрафы введены для HFT-роботов. И для них 0.01% крайне важны.
Зачем вообще выставлять столь огромное количество заявок, если не можете ими сделать адекватный оборот?
Не знаю как сейчас, но когда 3-4 года назад случайно попадал на эти штрафы, брокер БКС оперативно списывал их через 1-2 дня. Т.е. по сути сразу же после поступления информации от биржи.
Так что скорее всего Вас подставила не биржа, а брокер.
Hired,
www.moex.com/s93
Пункт 5. Сборы за транзакции
Никогда не торговал срочку. Но насколько я помню, там штрафы за неэффективные транзакции больше чем на фонде.
подсчет по каждому счету/субсчету отдельно даже внутри одного брокера.
Затрудняюсь это интерпретировать.
у биржи есть специально обученный человек, обладающий уникальной способностью писать так, что НИХРЕНА не понятно.
у меня был кейс со сбором за неэффективные транзакции на срочном рынке.
Я, чтобы не засирать основной счет десятками тысяч транзакций одного алгоритма, посадил его на субсчет.
Сделок, а соответственно и комиссий по основному счету хватало с лихвой, чтобы перекрыть неэффективные транзакции алгоритма на субсчете. Тем не менее штрафы мне выставили и разбор полетов закончился ответом биржи, что все брокер сделал верно. И подсчет производится ОТДЕЛЬНО по каждому счету.
Что будет в вашем случае, не знаю :)
пробуйте. но у меня есть ощущение, что они всегда в свою сторону трактуют свои «правила».
Как на фонде не знаю.
Ещё походу с плечами?
Ладно, я бы понял ещё, если бы за месяц на этом ёрзанье лям намолотил — тогда бы и на 100К штрафов не жаловался.
Иногда дешевле всё же в танчики рубиться, пожалуй…
А про штрафы за превышение ХХХ транзакций я в архивах СЛ много раз читал.
Собственно, этими ограничениями мосьбиржа эффективно в своё время и удавила скальперов HFT, чтобы сервера им толпами не душили. )))
Непонятно, зачем Финам предлагает свою инфраструктуру HFT с бешеными скоростями, если биржа все задушила. Там же этот лимит за час можно исчерпать влегкую.
У моего брокера тоже есть и пакет Скальпер, и ограничения на транзакции в Базовом пакете.
Но в вашем примере, вы просто создаете неэффективную нагрузку на ядро. Если все так разойдутся, то мы тут все ляжем и матчинг будет далеко не 20мксек на ядре. Покупайте мощности, доп транзакции и тд. Тут уже на дурачка не проскочешь.
Есть правила, надо стараться их соблюдать.
2 заявки в секунду это в среднем за день. Но бОльшую часть времени торги идут очень вяло. При этом в моменты пиковых нагрузок «2 в среднем» резко превращаются в 100-200 заявок в секунду. И это уже без сомнений HFT. Так что всё логично.
Есть огромная разница, делать матчинг стакана, состоящего из 1 000 лимитных заявок, и 10 000 заявок. А ведь многие лимитные заявки висят в системе часами.
Плюс каждую заявку нужно будет вносить в ежедневные отчеты, в Full Order Log и т.д. Вести сопутствующие юридические/бухгалтерские процедуры с контрагентами. Хранить архивы.
Время нахождения заявки в стакане не создает доп затрат само по себе.
Само собой там применяются оптимизации алгоритмов, но время добавления/снятия заявки зависит от общего числа заявок.
Если заявка сидит целый час глубоко в стакане система не будет рассчитывать ничего для нее.
А т.к. любую твою заявку мелочь разберёт на куски в спреде, то ты полюбому влетаешь на эту комсу. )))
У мосьбиржи везде куча выборочных подходов…
Исполнение сделки? а не ордера?
Хотите сказать от того как исполниться твой ордер за одну сделку или частями зависит размер космы???
SaOLin, это на срочке, на фонде? Ссылку можно или как называется сбор?
Знаю некоторые брокеры вводят плату за превышение количества транзакций в секунду.
www.moex.com/s324
Пункты 8 (для срочки) и 10 (для фонды).
Это тарифы биржи при прямом подключении. Но даже если Вы лично не используете прямое подключение, сервера Вашего брокера всё равно подключены к бирже через него. И брокер будет платить за Ваши активные транзакции исходя из этих тарифов.
Обычно там заградительно-грабительские штрафы за превышение порога 10-20 заявок в секунду. Подробнее надо изучать регламенты/тарифы каждого конкретного брокера.
Просто стандартные терминалы типа QUIK, MetaTrader и подобные архитектурно не рассчитаны на слишком большое количество заявок. Поэтому брокеры решают эту проблему введением конских штрафов для отдельных, особо назойливых пользователей.
Например у БКС для QUIK-а начиная с 21-й транзакции в секунду штраф 2.36 р. за каждую лишнюю транзакцию.
Причем снятие заявки это тоже транзакция. Можно попасть на несколько сотен рублей руками нажав кнопку «Снять активные заявки».
Вдох-выдох.
тогда 10 коп даже слишком гуманно… я бы на гораздо большие штрафы вас насадил…
Итого — сервера биржи с любым потоком транзакций справляются, а вот некоторые, особенно «народные» монстры-брокеры экономят на развитии мощностей своих серваков.
Так что претензии к ХФТшникам явно мимо кассы.
И в дни больших потрясений я не раз читал переклички клиентов падающих серваков крупных брокеров, наблюдая свой привычно работающий стакан и график, о чём в те дни тоже писал.
Как и многие клиенты других мелких «семейных» брокеров.
Каждому — своё...©
HFT-шники совместными усилиями обновляют стаканы в десятки-сотни раз чаще. Основную часть их мельтешания обычные клиенты не увидят даже в теории.
Так что подвисания стаканов это полностью вина брокеров из-за экономии на серверах.
Юрий, Еще раз:
Инфраструктура биржи легко справляется с нагрузкой hft.
Инфраструктура брокеров тоже справляется, т.к. hft-шники подключены через отдельные каналы («прямое подключение»).
Тормозит именно клиентская инфраструктура брокеров. И тормозит она из-за банальной экономии на серверах QUIK-а, MetaTrader-а и подобных терминалов.
Эти сервера в принципе не пропускают высокочастотный шум от hft в сторону клиентов. Но они тупо ложатся при одновременном подключении 10-20-50 тысяч клиентов. А это происходит при любом сильном движении на рынке.
По-хорошему, раз это нарушение, надо предупреждение в день нарушения передать через брокера. Ведь в большинстве случаев это не злой умысел, но ошибка в программе.
Есть стратегии, которые изначально рассчитываются с учетом этих штрафов. Т.е. «штраф за неэффективные транзакции» для них это как дополнительная комиссия, учтенная еще на этапе разработки.
Комиссии и штрафы списываются брокером по итогам торгового дня. День поставки роли не играет. Можете проверить это по собственным ежедневным отчетам.
В случае сбора за неэффективные заявки, биржа отправляет брокеру данные на следующий день. Соответственно брокер выставляет штраф с задержкой 1-2 дня после фактического превышения.
У меня последнее списание было 28-го за 25-е и 26-е. И это дата списания самой биржи, а не брокера. То есть она списывает T+2 или T+3, что собственно в ее документе и указано.
(после qscalp морошкина не плохо получается...)
недавно запустил скрипт с ошибкой — полетела куча заявок и брокер доступ заблочил, в первый раз на время, затем какой то глюк — заявки выставлялись с выключенным скриптом, при подключённом квике, затем на несколько часов пока им письмо не написал, значит, спасли от потерять!
спасибо, ПСБ
количество заявок около нескольких тысяч в минуту