IOC и FOK: что это за условия исполнения ордеров и когда они нужны

IOC и FOK — это условия исполнения ордера, которые задают жёсткие правила: что делать, если ордер нельзя исполнить сразу. Они применяются поверх базового типа ордера (чаще всего limit) и напрямую завязаны на стакан заявок и доступную ликвидность. IOC и FOK: правила исполнения по времени и объёму

Зачем нужны IOC/FOK

Обычный лимитный ордер может:

  • исполниться сразу (полностью или частично),
  • частично исполниться и остатком «повиснуть» в стакане,
  • вообще не исполниться и ждать, пока рынок дойдёт до вашей цены.

IOC/FOK нужны, когда вы хотите контролировать именно поведение исполнения:

  • не оставлять «хвост» в стакане,
  • не получать неожиданные частичные исполнения,
  • уменьшать риск исполнения «в два-три захода» с разными ценами.

IOC: Immediate-Or-Cancel

IOC (Immediate-Or-Cancel) означает: исполнить немедленно всё, что возможно, а остаток отменить.

То есть:

  • если в стакане хватает ликвидности только на часть объёма — часть исполнится,
  • неисполненный остаток не будет ждать — он отменится.

Когда IOC полезен:

  • вы хотите быстро забрать доступный объём по вашей цене (или лучше),
  • вы не хотите оставлять остаток ордера в стакане,
  • вы хотите уменьшить риск, что остаток исполнится позже «в плохой момент».

FOK: Fill-Or-Kill

FOK (Fill-Or-Kill) означает: исполнить ордер полностью и немедленно, иначе отменить целиком.

То есть:

  • либо вы получаете весь заявленный объём сразу,
  • либо не получаете ничего.

Когда FOK полезен:

  • вам критично получить весь объём сразу (например, при арбитраже или точной конструкции сделки),
  • частичное исполнение ломает вашу логику,
  • вы не хотите «недобранную» позицию.

Главное отличие IOC vs FOK

Условие Что будет при нехватке ликвидности
IOC Исполнит часть, остаток отменит
FOK Отменит весь ордер, если нельзя исполнить полностью

Проще: IOC терпит частичность, FOK — нет.

Как IOC/FOK связаны со спредом и проскальзыванием

IOC/FOK не «убирают» рыночные эффекты, но помогают управлять ими:

  • если рынок тонкий, вы можете избежать ситуации, когда остаток ордера позже исполнится по худшей цене;
  • вы снижаете риск «случайного» добора объёма на движении;
  • при FOK вы вообще отказываетесь от сделки, если объём сейчас недоступен.

Тем не менее, на реальную цену исполнения влияют спред и проскальзывание — особенно если вы используете агрессивные цены или рынок быстро движется.

Практические сценарии использования

1) Нужно исполниться быстро, но без хвостов → IOC-лимит: возьмёте то, что есть, и не оставите остаток.

2) Арбитраж/связка сделок, где важен точный объём → FOK-лимит: либо весь объём, либо пропускаем.

3) Выход из позиции одним действием → IOC может быть удобен, если вы готовы принять частичное исполнение и не хотите, чтобы остаток висел.

Типичные ошибки новичков

  • Ставить FOK там, где ликвидности недостаточно

Ордер будет постоянно отменяться, и вы будете «пропускать» сделки.

  • Не понимать, почему IOC исполнился частично

Это нормальная логика: стакан дал доступный объём, остаток отменился.

  • Путать IOC/FOK с post-only

Post-only — про «не быть taker и попасть в стакан».

IOC/FOK — про правила «исполнить сейчас/не оставлять остаток».

FAQ

IOC/FOK — это отдельные типы ордеров или настройки? Обычно это «time-in-force» (условия исполнения), которые применяются к лимитным ордерам (иногда к другим, зависит от биржи).

Может ли FOK исполниться частично? Нет. Если биржа поддерживает FOK корректно, частичного исполнения быть не должно: либо всё, либо отмена.

IOC гарантирует исполнение? Нет. Он гарантирует только правило: «если не исполнилось сразу — отменить». Если подходящего объёма нет, он может вообще не исполниться.

См. также

Task Runner