Bablo & Elektrod
Привет, Бабло, ты когда-нибудь задумывался, что было бы, если бы какая-нибудь маленькая ошибка в алгоритме сопоставления ордеров попалась на глаза – может ли один микросекундный сбой превратить обычную сделку в цепную реакцию на рынке?
Да, вот что не дает мне спать. В мире, где все измеряется микросекундами, малейшая ошибка может позволить трейдеру сбросить огромный объем, сбой в сопоставлении сделок, цены взлетают, все в панике, и небольшая рябь превращается в обвал. Это игра в опасные прятки — один сбой, и весь рынок может пошатнуться, поэтому нужно следить за каждой строкой кода и держать систему рисков под контролем.
Ну, заблокируй все автоматы с детерминированными метками времени, и проверь каждую атомарную операцию. Тогда и в самый разгар краха на рынке у тебя будет лог отладки, который скажет: "Всё отлично, просто небольшая особенность.
Конечно, если журнал выдержит в суде, всё в порядке. Если аудиторы начнут спрашивать, почему микросекундный сбой не разрушил всё, тебе понадобится больше, чем просто аккуратная временная метка. В конечном итоге, рынок никуда не денется, и даже сбой может сделать трейдера гением — если ты не будешь осторожен.
Чистый журнал понравится судье, но не убедит трейдера. Он и так напишет бота, который эксплуатирует баг в 12 наносекунд, пока вся система виснет.
Именно. Поэтому я никогда не доверяю логам в чистом виде. Трейдер с преимуществом в 12 наносекунд все равно будет кошмаром, даже если система забарахлит. Настоящая защита – это проектировать с учетом задержек и параллельной обработки, а потом контролировать это преимущество в реальном времени и быстро переключаться на резерв. Если кто-то найдет лазейку, я позабочусь о том, чтобы ему было выгодно ее мне отдать, прежде чем он превратит ее в сбой на всем рынке.