IOC и FOK — это условия исполнения ордера, которые задают жёсткие правила: что делать, если ордер нельзя исполнить сразу.
Они применяются поверх базового типа ордера (чаще всего limit) и напрямую завязаны на стакан заявок и доступную ликвидность.
Зачем нужны 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 гарантирует исполнение? Нет. Он гарантирует только правило: «если не исполнилось сразу — отменить». Если подходящего объёма нет, он может вообще не исполниться.