IOC — Immediate-Or-Cancel Order

Эксперимент VonmoTrade. Часть 2: Ордеры. Типы, особенности обработки

IOC - Immediate-Or-Cancel Order

Чтобы понять, как работают биржи, нужно разобраться с биржевыми заявками и правилами их обработки брокером.

В статье мы разберем типы ордеров, особенности их исполнения на бирже и накладываемые торговой моделью ограничения. Если вам любопытно, что значат аббревиатуры DAY, GTC, FOK, IOC, GTD, GAT, MOO, MOC, LOO, LOC, MIT, OCO, OSO, PEG, прошу под кат.

Про ордеры

Всем участникам рынка важно заключить выгодную сделку. Чтобы начать торг, необходимо создать заявку (ордер) на продажу или покупку требуемого финансового инструмента. Соответственно суммарное множество заявок формирует текущее предложение и спрос.

Биржевая заявка – инструкции от клиента брокеру на покупку или продажу финансовых инструментов на бирже.
Типичный ордер содержит следующую информацию:

  • Идентификатор финансового инструмента (торгуемый актив)
  • Тип заявки
  • Направление сделки. Покупка или продажа
  • Цена
  • Количество
  • Срок действия заявки (опционально)
  • Дополнительные указания (опционально)

Типы ордеров

Базово ордеры можно разделить на три большие группы

  • Рыночные. Подобная заявка должна быть немедленно выполнена по текущей рыночной цене, либо если необходимого объема нет, то как только появится такая возможность.
  • Отложенные. Заявка позволяет контролировать максимальную цену сделки для покупки и минимальную возможную цену для продажи. Подобные ордеры могут не выполниться. Для лимитных ордеров цена всегда указывается лучше.
  • С условиями. Любая заявка кроме лимитной, которая для исполнения требует выполнения дополнительных условий.

Срок действия

Наверняка вы уже видели сокращения вида DAY, GTC, FOK, IOC, GTD, GAT. Все они ограничивают время действия заявки.

  • DAY. Срок действия ордеров данного типа истекает в конце торгового дня.
  • GTC (Good till canceled). Заявка действительна пока ее явно не отменят. Чтобы подобные заявки не оставались на рынке бесконечно долго, вводится дополнительное ограничение для них, обычно от 30 до 90 дней.
  • FOK (Fill Or Kill). Заявка должна быть исполнена полностью или немедленно отменена.
  • IOC (Immediate Or Cancel). Заявка исполняется немедленно или отменяется биржей. В отличие от FOK, позволяют частичное закрытие.
  • GTD (Good-til-Date/Time). Заявка действительна до указанного времени.
  • GAT (Good-after-Time/Date). Заявка действительна начиная с указанного времени.

Условия выполнения ордеров

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

Чтобы разобраться в связях, изобразим структуру типов ордеров, она представлена в самом начале статьи.

Ордеры работающие при открытии и закрытии рынка

Добавляя к рыночному ордеру ограничение срока действия мы получаем:

  • MOO (Market-On-Open). Рыночный ордер такого типа может быть выполнен только в момент открытия торгового дня. Исполнение гарантировано при наличии ликвидности.
  • LOO (Limit-On-Open). Как и MOO, LOO может быть выполнен только в начале торгового дня. В отличии от MOO, лимитные ордеры этого типа позволяют задать инструкции для цены. Исполнение не гарантировано.
  • MOC (Market-On-Close). Аналогичен MOO, но рыночный ордер может быть закрыт только в момент закрытия торгового дня. Исполнение гарантировано при наличии ликвидности.
  • LOC (Limit-On-Close). Аналогичен LOO, но лимитный ордер может быть закрыт только в момент закрытия торгового дня. Исполнение не гарантировано.

Условные ордеры

Когда мы хотим настроить наши ордеры для исполнения торговой стратегии, то на помощь приходят условные ордеры – ордеры, активация которых происходит только после наступления условия. Таким образом основная цель данных ордеров – минимизация риска больших финансовых потерь.

Стоп ордер

Стоп-ордер (stop order) – это заявка на покупку или продажу определенного количества актива по указанной цене или хуже.

Как только цена инструмента станет равна или превысит указанную цену для стоп ордера на покупку, он автоматически превращается в рыночный ордер (market order) и исполняется на общих условиях.

Аналогично и для стоп ордера на продажу, как только цена достигнет заданного в ордере уровня и продолжит падать, он превращается в рыночный. Таким образом выполнение активных стоп ордеров гарантированно.

Стоп ордеры позволяют минимизировать возможные потери, поэтому stop loss – синоним для stop order.

Лимитный стоп ордер (stop-limit order)

В отличии от обычных стоп-ордеров, где указывается только стоп-цена, в лимитных мы должны дополнительно указать лимитную цену.
Как только цена на актив станет равной или хуже стоп-цены, автоматически будет создана лимитная заявка с указанной лимитной ценой. Исполнение такого ордера не гарантировано.

Скользящий стоп ордер (trailing stop order)

В отличии от обычных стоп ордеров, где стоп-цена указывается в абсолютных единицах, скользящие ордеры используют проценты. После срабатывания, он превращается в обычный рыночный ордер.

Таким образом, стоп цена привязана к цене на рынке и увеличивается вместе с ней. Например мы выставили заявку по цене 10 рублей и стоп цену указали 10% от текущей, т.е абсолютная стоп цена будет равна 9 рублям.

Затем актив вырос до 15 рублей и, вместе с тем, стоп цена нашего ордера до 13,5 рублей.

Данный тип ордеров применяется как для минимизации убытков, так и для максимизации прибыли.

Скользящие стоп-лимитные ордеры (trailing stop-limit order)

В отличии от скользящих стоп ордеров, после срабатывания ордер превращается в лимитный а не рыночный.

PEG ордер

Является разновидностью лимитных ордеров. Ордер автоматически меняет свою цену после изменения цены спроса/предложения. В ценовых инструкциях указывается смещение в худшую сторону от текущей лучшей цены спроса/предложения.

OCO ордер (One cancels other)

Это парный ордер. Обычно состоит из стоп ордера и лимитного. Оба ордера работают с одним инструментом. В случае исполнения одного из них, второй автоматически отменяется.
Простой пример: мы купили актив по 10 рублей, наша цель, получить минимум 3 рубля прибыли, и мы хотим ограничить убытки максимум 2 рублями. Тогда стоп цена будет 8 рублей, а лимитная цена 13 рублей.

OSO ордер (One sends other)

Такой ордер состоит из основного ордера и группы связанных ордеров. Ордеры могут работать с разными инструментами. В случае исполнения основного ордера, на рынке автоматически создаются все связанные.

Мы рассмотрели теорию ордеров, теперь можно приступить к практике.

Практика

С системной точки зрения важно гибко, но точно, определить базовую для всех типов ордеров структуру. В Erlang это можно сделать с помощью записей:

-record(exchange_order, { id :: binary(), orig_id :: binary(), ticker :: binary(), owner :: binary(), trader :: binary(), type :: non_neg_integer(), side :: non_neg_integer(), time_in_force :: non_neg_integer(), price :: binary(), trigger_price :: binary(), qty :: binary(), orig_qty :: binary(), created_ts :: non_neg_integer(), updated_ts :: non_neg_integer(), deals_history :: [#exchange_deal{}], linked_orders :: [#exchange_order{}], opts :: map()}).

Идентификация ордера

После того, как ордер попадает на биржу, ему присваивается внутрисистемный идентификатор – поле id.

Для улучшения пользовательского опыта при согласовании биржи с внешними системами необходимо дать возможность внешней по отношении к бирже системе присвоить создаваемому ордеру свой id — поле orig_id.

Это даст возможность запрашивать ордеры как по id, так и по orig_id и позволит отказаться от дополнительного маппинга ордеров во внешней системе.

Принадлежность ордера

Заложим в систему возможность создания посредников. Заявки могут выставляться напрямую от участников торга, а могут от посредника, который предоставляет услуги клиентам, не имеющим прямого доступа к бирже.

В случае прямой заявки owner и trader совпадают.

Кодирование инструкций

Разберем оставшиеся поля. Для кодирования инструкций по цене служат два поля: price – лимитная цена для лимитных ордеров и tirgger_price – цена срабатывания для кастомных типов. Например, для стоп ордеров это поле будет кодировать стоп цену.

Для кодирования объема используем qty и qty_orig. Qty_orig задает начальный объем ордера, а qty – объем ордера в процессе его выполнения.

Для того чтобы иметь точную информацию о частичных выполнениях нужен массив deals_history. С его помощью, после полного заполнения ордера, можно рассчитать например среднюю цену выполненной заявки.

Поле linked_orders необходимо для кодирования информации о связанных ордерах для OCO и OSO.

Чтобы иметь возможность расширять систему без изменения записи exchange_order, внесем поле opts – динамический словарь.

Промежуточный итог

Честно говоря, я думал, что вторая часть цикла будет компактной. Однако, для целостного понимания, пришлось раскрыть тему более детально.

Теоретическая часть следующей статьи осветит вопрос книги ордеров и правил процессинга заявок. Техническая сторона раскроет схему обработки рыночных данных и вопросы хранения исторических данных.

Источник: https://habr.com/ru/post/481772/

Маркет ордер — свойства и пример постановки

IOC - Immediate-Or-Cancel Order

Все больше пользователей приходит на криптовалютный рынок. Одни — опытные трейдеры, ранее участвовавшие в Форекс, другие — абсолютные новички. Для обоих знакомство с новым рынком, вероятно, начиналось с постановки рыночных ордеров — наиболее простого и быстрого способа купить или продать криптовалюту.

Чем хороши рыночные ордера, как они работают на самом деле и так ли просты — рассмотрим далее.

Определение

Рыночный ордер (Market order) — заявка на покупку/продажу криптовалюты или другого актива, которая выполняется по среднебиржевой цене:

  • заявка на покупку выполняется по средней цене предложения на бирже;
  • заявка на продажу выполняется по средней цене спроса на бирже.

Поскольку в такой заявке автоматически указываются средние цены, это позволяет ее исполнить моментально.

Это отличает рыночные ордера от лимитных. Лимитный ордер (Limit order) — это заявка с конкретной ценой на актив, которую указывает пользователь. На выполнение таких заявок требуется время, поскольку системе необходимо подобрать подходящее встречное предложение. В некоторых случаях эти заявки не выполняются.

В то же время лимитные ордера приветствуются биржами. В отличие от рыночных ордеров, многие биржи снижают комиссионные на операции, связанные с лимит-ордерами.

Причина в том, что лимитные ордера, которые обрабатываются дольше, наполняют биржи ликвидностью, или «делают» (make) рынок. В то же время рыночные ордера, которые мгновенно выполняются, забирают (take) ликвидность у бирж.

Соответственно:

  • трейдеров, которые выставляют лимитные ордера, называют мейкерами (makers);
  • трейдеров, выставляющих рыночные ордера, называют тейкерами (takers).

Преимущества и недостатки

Как видно, у рыночных ордеров есть преимущества и недостатки. Рассмотрим наиболее важные.

Преимущества:

  • простота;
  • почти всегда гарантированное и моментальное исполнение сделки.

Если вы хотите быстро войти или покинуть рынок, это лучший вариант.

Недостатки:

  • невозможность установить цену, лучшую в сравнении со средней;
  • проскальзывание.

«Проскальзывание» означает, что хотя исполнение ордера при наличии актива на бирже почти гарантировано, цену никто не гарантирует. То есть, трейдер может ожидать, что заявка будет исполнена по одной цене, но спустя минуты или даже секунды курс изменится, и она будет выполнена уже по другому ценнику.

Другой причиной проскальзывания может быть слишком большой объем заявки пользователя. Скорее всего, в этом случае часть ордера будет исполнена по лучшей цене, а часть — по оставшимся доступным ценам, которые могут оказаться невыгодными.

Но это лишь основы. Типов заявок намного больше, и они позволяют трейдерам эффективнее работать на биржах.

Виды ордеров

Как уже упоминалось, рыночный ордер по разным причинам пользуется большой популярностью как среди новичков, так и среди более продвинутых участников. Вместе маркет- и лимит-ордеры составляют основу рынка. Но на них рынок не заканчивается.

Существует целый ряд других видов заявок, у которых есть свои преимущества и недостатки по сравнению с рыночным ордером. А чтобы долго не расписывать, перейдем к таблице, показывающей, как и что можно использовать:

Расположение ордераПример ценыДля открытия позицииДля закрытия позиции
Над рынком10 100Стоп-ордер на покупку для открытия длинной позицииСтоп-ордер на покупку для закрытия короткой позиции
Лимит-ордер на продажу для открытия короткой позицииЛимит-ордер на продажу для закрытия длинной позиции
По рынку10 000Маркет-ордерМаркет-ордер
Под рынком9 990Лимит-ордер на покупку для открытия длинной позицииЛимит-ордер на покупку для закрытия короткой позиции
Стоп-ордер на продажу для открытия короткой позицииСтоп-ордер на продажу для закрытия длинной позиции

Здесь полно трейдерских понятий. Объясним их.

Что значит открыть и закрыть позицию?

Открытие позиции (или «вход на рынок») — первичная покупка/продажа криптовалюты или любого другого актива на бирже. Например, трейдер выставляет рыночный ордер, сделка заключается и он получает нужную криптовалюту в нужном объеме.

Закрытие позиции — это продажа того же количества полученной криптовалюты.

За счет разницы курсов на открытии и закрытии трейдер получает прибыль. Или убытки, если все прошло не так удачно, как хотелось.

Что такое длинная и короткая позиция?

Длинная позиция («лонг») — инвестор покупает актив, который, как он считает, вырастет в цене и который удастся выгодно продать. Типичная для рынка ситуация.

Короткая позиция («шорт») — инвестор берет взаймы актив, который, как он считает, упадет в цене. Зачем и как это поможет ему получить прибыль? Здесь выглядит чуть сложнее:

  1. Трейдер берет в долг у биржи актив (например, биткоин) и продает этот актив по текущей цене.
  2. Тем временем биткоин падает в цене и на вырученные средства трейдер покупает еще больше монет.
  3. После того, как трейдер возвращает бирже ее монеты, у него остается еще запас монет — это и есть его прибыль.

Подробнее: Что такое Short и Long в трейдинге?

Что такое стоп-ордер?

Стоп-ордер (Stop Order) позволяет совершать покупку или продажу, когда цена на криптовалюту пойдет выше/ниже уровня, заранее определенного пользователем.

Но и это не все. Для самих рыночных ордеров существует несколько опций выполнения и регулирования срока действия.

Исполнение

Некоторые биржи предлагают дополнительные опции для более тонкой настройки ордеров. Чаще их можно увидеть в разделах для профессиональных трейдеров:

  • Fill or Kill (FOK) — ордер должен быть выполнен в момент его установки, если это невозможно — удален.
  • Good-after-Time (GAT) — ордер размещается в системе не сразу, а в установленное трейдером время.
  • Good-till-Date (GTD) — ордер активен до определенного трейдером срока.
  • Hidden — данные об ордере не фиксируются в списках ордеров или данных о состоянии рынка. Обычно опцию используют при выставлении крупных ордеров, чтобы не вызывать панику на рынке.
  • Immediate-or-Cancel (IOC) — часть ордера, которую не удалось исполнить, когда дошла его очередь, удаляется.

Что значит «дошла очередь»? На самом деле, ордера сначала попадают в стакан — таблицу заявок на покупку/продажу, распределенных по цене. Система биржи подбирает друг к другу наилучшие встречные заявки.

Иногда на это уходит время и, как уже было сказано выше, ордер не всегда удается выполнить полностью. Но для рыночных ордеров такая ситуация маловероятна.

Пример постановки ордера

Пора поставить реальный ордер! В случае с маркет-ордером сделать это очень просто.

Ставить ордера можно как через специальные программы (например, через MetaTrader, который поддерживается некоторыми криптобиржами), так и через сами биржи. Поскольку ордер у нас простой, то рассмотрим второй вариант на примере Binance:

  1. Переходим к торговому окну: Биржа — Основная.
  2. Выбираем торговую пару из списка. В качестве примера это будет BTC/USDT.
  3. В окне постановки ордеров выбираем «Биржа» (так как «Маржа», или маржинальная торговля нас сейчас не интересует) и «Маркет», так как нам нужен маркет-ордер.
  4. Если хотим купить биткоины, то в левой части, которая называется «Купить BTC», указываем желаемое количество монет.
  5. Система укажет их стоимость по курсу. Остается нажать зеленую кнопку, которая также называется «Купить BTC».

Все просто. Первый ордер готов!

Источник: https://cryptotradestocks.com/market-order

Все термины
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: