Обсуждение статьи "Как обезопасить себя и своего эксперта при торговле на Московской бирже"

 

Опубликована статья Как обезопасить себя и своего эксперта при торговле на Московской бирже:

В статье подробно описываются методы работы, призванные обеспечить безопасность совершения торговых операций на биржевых и малоликвидных рынках, на примере срочной секции Московской биржи. Статья является логическим продолжением статьи "Основы биржевого ценообразования на примере срочной секции Московской биржи", в которой даны теоретические основы биржевой торговли, но носит более практический характер.

Каждый, кто когда-либо торговал на финансовых рынках, сталкивался с рисками потерь денежных средств. Природа этих рисков различна, однако их итоговый результат один и тот же: потерянные деньги, время и нервы. Чтобы избежать их, необходимо следовать простым правилам: контролировать свои риски (Money Management), писать надежные торговые алгоритмы, и, конечно же, использовать прибыльные торговые системы. Все это относится к различным областям трейдинга, однако применяя эти методы только в совокупности, можно надеяться на устойчивый положительный торговый результат.

На сегодняшний день существует довольно обширный материал, освещающий вопросы управления капиталом (Money Management). Также немало книг написано о торговых системах, которые можно использовать в повседневной практике трейдинга. Материала же, описывающего элементарные "правила безопасности" на биржевых рынках, совсем немного.

Эта статья призвана изменить сложившуюся ситуацию, и более-менее подробно описать те самые "правила безопасности", которым необходимо следовать, особенно если торговля происходит на бирже. Под "правилами безопасности" понимаются методы и торговые практики, которые позволят вам избежать крупных финансовых потерь из-за резких скачков цен, размытия ликвидности и прочих форс-мажоров. Обучение самим торговым стратегиям и правилам управления риском эта статья оставляет для других источников, сосредотачиваясь лишь на одном из видов рисков — техническом.

Статья является логическим продолжением статьи "Основы биржевого ценообразования на примере срочной секции Московской биржи", в которой даны теоретические основы биржевой торговли, но носит более практический характер. Если в "Основах биржевого ценообразования" описывалась теория и механика появления такого понятия, как цена, то в данной статье описываются механизмы, которые защитят вас и вашего эксперта от случайного разорения, вызванного некоторыми опасными моментами биржевого ценообразования.

1.2. Ценовые выбросы и "шпильки"

Ценовые разрывы могут достигать очень высоких значений. Как правило, такие ситуации возникают из-за недостатка ликвидности. В таком случае возникают так называемые ценовые выбросы. Ценовой выброс — это сделка, совершенная по ценам, далеким от рыночных. Рыночными ценами можно условно назвать поток сделок, следующих друг за другом на расстоянии, сравнимом с шагом цены. Ценовые шпильки крайне опасны как для трейдеров, торгующих вручную, так и для автоматических торговых систем. Такие "шпильки" активируют отложенные стоп-ордера и исполняют их по очень невыгодным ценам.

Рассмотрим простую ситуацию: предположим, мы торгуем фьючерсным контрактом на рубль-доллар и выставили Buy Stop ордер на покупку по цене 64 200. Стоп-лосс для этого ордера мы установили на уровне 64 100. Мы ожидаем, что курс пойдет вверх, однако если этого не произойдет, наш стоп-лосс на уровне 64 100 ограничит наш убыток 100 пунктами. Кажется, что наш риск ограничен, однако это не так. Рассмотрим ситуацию, когда происходит ценовой выброс, который активирует срабатывание нашего стоп-ордера совсем по другим ценам:

Рис. 4. Тиковое представление "шпильки" и схема исполнение ордера BuyStop.

На этом графике изображен тиковый поток цен. Видно, что один из тиков находится на значительном расстоянии от остальных тиков. Именно он образует так называемую "шпильку". Этот тик активирует наш Buy Stop ордер и исполнит его по цене 64 440. Уже на следующем тике цена вернется в свой привычный диапазон и активирует наш стоп-ордер по цене 64 100. За долю секунды наш отложенный ордер может исполниться и закрыться по стоп-лоссу, оставив нас с колоссальным убытком. Вместо рассчитанного нами убытка в 100 пунктов, наш ордер принесет 340 пунктов убытка.

Автор: Vasiliy Sokolov

 

Еще одна прекрасная статья. Поздравляю, Василий!

Замечания:

  1. В торговой панельке, под кнопками (или на кнопках, вместо проскальзывания) было бы удобно видеть цену, по которой, предположительно, будет вход.
    А возле параметра проскальзывания можно было бы указать, каким объемом получится войти.
  2. Вместо "-1" лучше написать "> xxx", где ххх - максимальное проскальзывание, которое удалось посчитать по заявкам из стакана.
  3. Сомнительным выглядит фильтр по спреду. Вообще, спред - синтетическое понятие, особенно - на живой бирже со стаканом.
    Мне кажется, достаточно указания макс. проскальзывания и входа лимитником.
  4. Вместо дискретизации работы по времени (раз в минуту или в х тиков) правильнее сглаживать тиковый поток с учетом объемов и анализировать его.
    Но это, конечно, тема отдельной статьи и нужно далеко не всем. Кроме того, не будет работать в тестере.
  5. И не согласен с высказыванием "проскальзывание = шум".
    В умных книжках пишут про большие прибыли и редкие сделки, но в реальности, в том, что я видел своими глазами, прибыль состоит из множества мелких сделок, поэтому даже 0.5 пункта на каждом входе и выходе - это изменение результатов на порядок.
    Но это, наверное, тоже слишком категорично. Было бы достаточно уточнения, что "проскальзывание = шум" справедливо только для позиционной торговли с большими целями ;)
А в остальном - все супер. Полезно, по делу, в удобном изложении, с кодом и иллюстрациями.

Спасибо! 

 
Поддерживаю. Отличная статья! Понятно, доступно, красиво! Огромное спасибо за ваш труд!
 
Andrey Khatimlianskii:

Еще одна прекрасная статья. Поздравляю, Василий!

Замечания:

  1. В торговой панельке, под кнопками (или на кнопках, вместо проскальзывания) было бы удобно видеть цену, по которой, предположительно, будет вход.
    А возле параметра проскальзывания можно было бы указать, каким объемом получится войти.
  2. Вместо "-1" лучше написать "> xxx", где ххх - максимальное проскальзывание, которое удалось посчитать по заявкам из стакана.
  3. Сомнительным выглядит фильтр по спреду. Вообще, спред - синтетическое понятие, особенно - на живой бирже со стаканом.
    Мне кажется, достаточно указания макс. проскальзывания и входа лимитником.
  4. Вместо дискретизации работы по времени (раз в минуту или в х тиков) правильнее сглаживать тиковый поток с учетом объемов и анализировать его.
    Но это, конечно, тема отдельной статьи и нужно далеко не всем. Кроме того, не будет работать в тестере.
  5. И не согласен с высказыванием "проскальзывание = шум".
    В умных книжках пишут про большие прибыли и редкие сделки, но в реальности, в том, что я видел своими глазами, прибыль состоит из множества мелких сделок, поэтому даже 0.5 пункта на каждом входе и выходе - это изменение результатов на порядок.
    Но это, наверное, тоже слишком категорично. Было бы достаточно уточнения, что "проскальзывание = шум" справедливо только для позиционной торговли с большими целями ;)
А в остальном - все супер. Полезно, по делу, в удобном изложении, с кодом и иллюстрациями.

Спасибо! 

Vladimir Malinin:
Поддерживаю. Отличная статья! Понятно, доступно, красиво! Огромное спасибо за ваш труд!

Всем спасибо.

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

Не согласен по фильтр по среду. Спред зачастую единственная информация о микроструктуре рынка, которая доступна нам на истории а также в MetaTrader4. Спред по сути - это очень короткий срез стакана. Поэтому он плотно скоррелирован с общей ликвидностью и его можно и нужно использовать. Просто загрузи индикатор Spread Record и посмотри на его показания в момент сильных ценовых движений - спред в такие моменты, как правило сильно расширяется. Это значит, что ликвидности становиться меньше и зайти по предполагаемым ценам становиться не возможно. Благодаря спреду, на истории такие момент можно отслеживать.

  1. Вместо дискретизации работы по времени (раз в минуту или в х тиков) правильнее сглаживать тиковый поток с учетом объемов и анализировать его.
    Но это, конечно, тема отдельной статьи и нужно далеко не всем. Кроме того, не будет работать в тестере.

С этим категорически не согласен. Ценовой поток ни в коем случае нельзя искажать и трансформировать (например сглаживать). Мы торгуем не по скользящей средней ценового потока, а лишь по тем ценам, которые предлагает нам рынок, либо по тем ценам, которые назначаем мы сами (лимитные ордера). "Сглаженный поток цен" - находиться лишь в нашем воображении, его не существует в действительности, поэтому его нельзя использовать. И в этом плане фильтр по среду отлично подходит, ведь по сути от отсекает лишь ценовые выбросы, не искажая при этом сам ценовой поток.

  1. И не согласен с высказыванием "проскальзывание = шум".
    В умных книжках пишут про большие прибыли и редкие сделки, но в реальности, в том, что я видел своими глазами, прибыль состоит из множества мелких сделок, поэтому даже 0.5 пункта на каждом входе и выходе - это изменение результатов на порядок.
    Но это, наверное, тоже слишком категорично. Было бы достаточно уточнения, что "проскальзывание = шум" справедливо только для позиционной торговли с большими целями ;)

Дело в том, что те стратегии, которые ты видел основаны на микроструктуре рынка. Их входы и выходы не подвержены проскальзыванию. Наоборот, наше проскальзывание - это их профит. Для этих стратегий проскальзывание не шумовая компонента, но для ручного трейдинга и среднесрока - она является неторгуемым фактором, а значит шумом. Рынок, как и любая система стремиться к максимальной энтропии. В его терминах это означает что успех каждой торговой ситуации стремиться к отношению 50/50. Следовательно проскальзывание не всегда плохо. Довольно часто возникают моменты, когда лимитные ордера просто не срабатывают, а стоп ордера входят в рынок с большим проскальзыванием, но все равно направленная волотильность уносит их в небо давая феерические положительные доходности. Это значит, что наше проскальзывание в целом шум - дает как положительные так и отрицательные исходы. 

 

Я правильно понимаю, что если стоп-лосс в виде лимитов не сработал, т.к. это оказалась не шпилька, а здоровенный гэп, после которого цена продолжила движение дальше, не возвращаясь назад (закрывая гэп), то следующий стоп-лосс уже будет в виде маржинкола и стопаута вместо хоть какого-либо закрытия позиции, пусть и по очень плохой цене ? 


И вот это

--

Давайте на примере посмотрим, как это сделать. Предположим, что у нас открыта длинная позиция по Si-6.15. Ее стоп-лосс уровнем является уровень 56 960. Нам необходимо установить предельное проскальзывание в пять пунктов, тогда значение "Stop Limit price" будет равно 56 960 - 5 = 56 955 пунктов:

Как видите, в режиме биржевого исполнения, становиться возможным подобная конфигурация Sell Stop Limit ордера. Когда текущая цена достигнет уровня 51650, наш "стоп-лосс" сработает, однако если по каким-то причинам цена уйдет ниже 51647, мы не станем исполнять наш стоп-лосс уровень, считая такую ситуацию ненормальной.

--

Откуда взялись цены 51xxx, если начиналось с 56ххх ?

 
Ploughman:

И вот это

--

Давайте на примере посмотрим, как это сделать. Предположим, что у нас открыта длинная позиция по Si-6.15. Ее стоп-лосс уровнем является уровень 56 960. Нам необходимо установить предельное проскальзывание в пять пунктов, тогда значение "Stop Limit price" будет равно 56 960 - 5 = 56 955 пунктов:

Как видите, в режиме биржевого исполнения, становиться возможным подобная конфигурация Sell Stop Limit ордера. Когда текущая цена достигнет уровня 51650, наш "стоп-лосс" сработает, однако если по каким-то причинам цена уйдет ниже 51647, мы не станем исполнять наш стоп-лосс уровень, считая такую ситуацию ненормальной.

--

Откуда взялись цены 51xxx, если начиналось с 56ххх ?

Спасибо за сообщение. Исправлено на следующее:

Как видите, в режиме биржевого исполнения, становиться возможным подобная конфигурация Sell Stop Limit ордера. Когда текущая цена достигнет уровня 56 960, выставиться лимитная заявка на продажу по 56 955. Так как текущая цена 56 960 лучше заявленной цены в лимитной заявке, она тут же исполнится по цене 56 960. Если ликвидности на покупку на этом уровне не хватит, исполнение пойдет по следующим за ним ценам вплоть до уровня 56 955. Однако хуже этой цены наш стоп-лимит ордер не исполниться, гарантируя тем самым нам максимальное проскальзывание в размере пяти пунктов: 56 960 - 56 955 = 5.

 (Из-за неправильно сделанного скриншота, данный пример пришлось переделывать. Цены изменились, однако в тексте статьи эти изменения не были сделаны).

 
Ploughman:

Я правильно понимаю, что если стоп-лосс в виде лимитов не сработал, т.к. это оказалась не шпилька, а здоровенный гэп, после которого цена продолжила движение дальше, не возвращаясь назад (закрывая гэп), то следующий стоп-лосс уже будет в виде маржинкола и стопаута вместо хоть какого-либо закрытия позиции, пусть и по очень плохой цене ? 

Да, правильно. Однако от падения или роста цены в бесконечность защищают торговые лимиты. Поэтому цена все равно не сможет уйти от текущей более чем на пять процентов (средний уровень лимита цен). Лимиты в течении дня могут быть расширены, но для этого все равно потребуется время, в течении которого Вы сможете спокойно закрыть свои позиции.
 
Vasiliy Sokolov:

Не согласен по фильтр по среду. Спред зачастую единственная информация о микроструктуре рынка, которая доступна нам на истории а также в MetaTrader4. Спред по сути - это очень короткий срез стакана. Поэтому он плотно скоррелирован с общей ликвидностью и его можно и нужно использовать. Просто загрузи индикатор Spread Record и посмотри на его показания в момент сильных ценовых движений - спред в такие моменты, как правило сильно расширяется. Это значит, что ликвидности становиться меньше и зайти по предполагаемым ценам становиться не возможно. Благодаря спреду, на истории такие момент можно отслеживать.

Появился сигнал на вход. Нас устраивает цена Х (это часть сигнала, т.е. он нам интересен именно с этой ценой).

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

Цена может вернуться и зацепить наш ордер, тогда все будет ок, или не вернуться, и тогда ордер отменится через какое-то время. При чем здесь спред?

А если в момент появления сигнала (например, при открытии бара) был широйкий спред (начало сессии, например), а потом через минуту нормализовался, при этом цена никуда не ушла - почему мы должны пропускать сигнал?

 

Vasiliy Sokolov:

С этим категорически не согласен. Ценовой поток ни в коем случае нельзя искажать и трансформировать (например сглаживать). Мы торгуем не по скользящей средней ценового потока, а лишь по тем ценам, которые предлагает нам рынок, либо по тем ценам, которые назначаем мы сами (лимитные ордера). "Сглаженный поток цен" - находиться лишь в нашем воображении, его не существует в действительности, поэтому его нельзя использовать. И в этом плане фильтр по среду отлично подходит, ведь по сути от отсекает лишь ценовые выбросы, не искажая при этом сам ценовой поток.

А анализ цены раз в минуту - не искажение? =)))

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

 
Andrey Khatimlianskii:

А если в момент появления сигнала (например, при открытии бара) был широйкий спред (начало сессии, например), а потом через минуту нормализовался, при этом цена никуда не ушла - почему мы должны пропускать сигнал?

Я и не говорил, что мы должны пропускать сигнал. Наоборот, лучше дождаться схлопывания спреда (на следующем тике или чуть дальше) и войти в рынок отрабатывая сигнал.

Представь, вот твой робот принимает поток Ask, желая войти в лонг по цене 50: 43,  44,  47,  48,   80. Он получил Ask 80 и входит рынок. Затем ликвидность восстанавливается, и появляются лимитники предлагающие продать тебе за 49, 50, 51... Но ты уже съел заявку за 80, только потому что другого более выгодного предложения в момент покупки не было. Когда ты съедал заявку по 80, лучший бид был по-прежнему на уровне 48-50, т.е. в этот момент спред жутко расширился. Но если бы робот анализировал разницу между лучшей ценой спроса и предложения, он бы понял, что ликвидность на продажу вдруг почему-то резко ушла и покупать по 80 - явный блудняк. Смысл контроля спреда состоит именно в том, что бы анализировать на сколько "лучшие" цены для продажи и покупки на самом деле являются "лучшими".

З.Ы. Если проще: расширение спреда = пустой стакан.  В пустом стакане никогда нельзя бить маркетами - иначе разуют. Мы анализируем спред не для расчета своего уровня входа, а для того, что бы понимать можно ли вообще работать с тем предложением что есть на рыке.

 
Andrey Khatimlianskii:

Появился сигнал на вход. Нас устраивает цена Х (это часть сигнала, т.е. он нам интересен именно с этой ценой).

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

Цена может вернуться и зацепить наш ордер, тогда все будет ок, или не вернуться, и тогда ордер отменится через какое-то время. При чем здесь спред?

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

Вот кстати посмотри на то что сейчас делается на RTS-6.15:


Моменты жутких шпилек - как раз показывают как раздевали тех, кто использовал стоп-заявки (например стоп-лоссы) в своей торговле. Ведь кто-то умудрился продать по 87 200, в то время как РТС стоил около 91 000. Вывод прост, если бы он смотрел спред внизу, то не стал бы брать "лучший" спрос, зная, что на самом деле стакан практически пустой, и это гораздо проще, и доступнее, чем анализировать полную ликвидность стакана.