Вопрос алготрайдерам по внутреннему механизму сведения позиций.
Добрый день,
Хочу поинтересоваться у тех у кого крутятся одновременно большое количество стратегий с пересекающимися инструментами.
Каким образом реализовано, технически, сведение позиций между стратегиями?
Ведь возникает масса проблем с таймингом и типом исполнения. Как пример лимитный и маркет ордер, не говоря уже о алгоритмах исполнения брокера.
В целом я вижу только один более менее простой и разумный вариант это группировки стратегий по типу исполнения, используемого тайм фрейма и тд. Только в таком случае можно как то гарантировать внутренние перекрытие и не потерять в скорости выставления заявок.
У меня архитектура такая, что стратегия-TF-всеТикеры — сигналы на исполнение брокеру в одно время улетают (последовательно, но есть момент времени где я уже вижу все сигналы). А вот соседние такие же комбинации, например, другая стратегия — они уже «сами по себе» и нигде нету участка где мы ждём отстающих. Теоретически я могу ждать пока все подтянутся и дальше какую угодно логику натягивать, в т.ч. сальдировать и выводить на рынок только разницу, но в этом случае либо надо ждать самых медленных ну либо ждать какое-то время в которое N% сигналов укладывается, уложившихся сводить, остальные без сведения. В общем в любом случае «ждать» — это какие-то доп. расходы (на проскальзывании), скомпенсирует ли оно излишние комиссии — долей таких перекрытий определяется. У меня пока, вроде, не особо актуально.
Про один таймфрейм (M1) и унифицированное исполнение (лимитки) уже выше поминали. Все страты на одном тикере не сами выставляют ордера, а отправляют хочухи {цена, объем, знак} на следующий бар в общий котел. Там вычисляется общая позиция в стакане, из нее вычитается текущая позиция, сначала накатываются отмены заявок, потом добавления.
Код интернализации действительно срабатывает очень редко, он кстати на заставке профиля :). Но сведение заявок от десятков страт к 1-2 транзакциям полезно каждый день, без него брокер бы меня давно придушил за к-во транзакций/сек.
Внутри бара исполнение еще много чего делает, на практике реакция на изменение спреда много раз в минуту. Но для стратегий время нарезано по минутам, чаще они менять мнение не могут. При совершении трейдов по ордерам промежуточный слой раздает позиции по стратегиям, в справедливых пропорциях и с учетом реальной цены трейда.
По каждой стратегии на основе этих виртуальных трейдов независимо считаются все метрики — профит, ДД текущий/максимальный, рекавери, профит фактор, средний трейд и т.д. Может быть так, что одна страта в лонг, другая там же в шорт. Внутри робота бурлят страсти, а на бирже общая поза 0.
Разнонаправленные позы бывают нередко, но вероятность того, что зеркальные стратегии примут решение встать в разные стороны именно таки на одном и том же баре, околоноля. Если такое происходит, то даже в лог 1 уровня пишется запись типа «охнихренасебе случай»
USDJPY выше 160: почему словесные интервенции пока лишь замедляют тренд
Снижение EURUSD на половину процента в понедельник выглядит не просто реакцией на очередной виток геополитической нервозности. Рынок фактически заново перераспределяет макроэкономические риски...
Алексей Девятов Котировки алюминия выросли на фоне конфликта на Ближнем Востоке, и если инвестор хочет отыграть изменения рынка алюминия с помощью акций, то выбор будет стоять между РУСАЛом и...
IPO и IBO без матвыгоды: участие в первичных размещениях станет привлекательнее
С 28 марта 2026 года, согласно Указанию № 7246-У, изменился порядок определения рыночной цены при первичном размещении ценных бумаг. Рыночной ценой при размещении признается фактическая цена...
ВТБ МСФО 2 мес. 2026 г. - правильная прибыль выросла
ВТБ отчитался за 2 месяца 2026 года по МСФО. Чистая прибыль за 2 месяца снизилась на 11% до 69 млрд руб. Рентабельность капитала составила 15,4%. Достаточность капитала по нормативу Н20.0...
Миллер: запасы в европейских ПХГ к началу следующего сезона отбора могут не достичь даже 70% Несмотря на призывы Еврокомиссии начать закачку газа в хранилища как можно раньше, сезон отбора в Европе пр...
USDJPY выше 160: почему словесные интервенции пока лишь замедляют тренд
Снижение EURUSD на половину процента в понедельник выглядит не просто реакцией на очередной виток геополитической нервозност...
Macquarie: Еще два месяца войны могут поднять цену на нефть до 200 долларов. March 27, 2026 at 8:19 AM GMT+3Аналитики Macquarie Group предупредили, что цены на нефть могут достичь рекордных 200 доллар...
ФАС потребовала от «Русала» снизить цены на алюминий для российских компаний.
В случае неисполнения предупреждения ФАС России возбудит антимонопольное дело.
30 марта 2026, 14:30
В связи с в...
🏠 Наследники «Самолета»: компания не продается!
✅ Личный фонд «Горизонт» получил право распоряжаться 27,66% акций ПАО «ГК «Самолет». В переводе на человеческий — завершен процесс вступления в на...
ФАС потребовала от «Русала» снизить цены на алюминий для российских компаний.
В случае неисполнения предупреждения ФАС России возбудит антимонопольное дело.
30 марта 2026, 14:30
В связи с в...
таймфрейм — один, самый мелкий
Послушаю в сторонке).
У меня архитектура такая, что стратегия-TF-всеТикеры — сигналы на исполнение брокеру в одно время улетают (последовательно, но есть момент времени где я уже вижу все сигналы). А вот соседние такие же комбинации, например, другая стратегия — они уже «сами по себе» и нигде нету участка где мы ждём отстающих. Теоретически я могу ждать пока все подтянутся и дальше какую угодно логику натягивать, в т.ч. сальдировать и выводить на рынок только разницу, но в этом случае либо надо ждать самых медленных ну либо ждать какое-то время в которое N% сигналов укладывается, уложившихся сводить, остальные без сведения. В общем в любом случае «ждать» — это какие-то доп. расходы (на проскальзывании), скомпенсирует ли оно излишние комиссии — долей таких перекрытий определяется. У меня пока, вроде, не особо актуально.
Про один таймфрейм (M1) и унифицированное исполнение (лимитки) уже выше поминали. Все страты на одном тикере не сами выставляют ордера, а отправляют хочухи {цена, объем, знак} на следующий бар в общий котел. Там вычисляется общая позиция в стакане, из нее вычитается текущая позиция, сначала накатываются отмены заявок, потом добавления.
Код интернализации действительно срабатывает очень редко, он кстати на заставке профиля :). Но сведение заявок от десятков страт к 1-2 транзакциям полезно каждый день, без него брокер бы меня давно придушил за к-во транзакций/сек.
Внутри бара исполнение еще много чего делает, на практике реакция на изменение спреда много раз в минуту. Но для стратегий время нарезано по минутам, чаще они менять мнение не могут. При совершении трейдов по ордерам промежуточный слой раздает позиции по стратегиям, в справедливых пропорциях и с учетом реальной цены трейда.
По каждой стратегии на основе этих виртуальных трейдов независимо считаются все метрики — профит, ДД текущий/максимальный, рекавери, профит фактор, средний трейд и т.д. Может быть так, что одна страта в лонг, другая там же в шорт. Внутри робота бурлят страсти, а на бирже общая поза 0.
Разнонаправленные позы бывают нередко, но вероятность того, что зеркальные стратегии примут решение встать в разные стороны именно таки на одном и том же баре, околоноля. Если такое происходит, то даже в лог 1 уровня пишется запись типа «охнихренасебе случай»