Germany | Finland | Saint Petersburg | Drive

Нью-йоркским таксистам, торгующим в пробках, посвящается....

Опубликовано в Роботы

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

Что делать, если торговать охота, а шеф не дает это делать на работе? Как торговать на бирже водителю рейсового автобуса? Замучили счета на мобильный интернет, потребляемый терминалом на планшете? Окулист запретил курить смотреть в монитор? Может, все еще хуже: у вас непереносимость вида образующейся прибыли и Вы слишком рано закрываете позиции? 

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


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

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

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

1. Гэп - закрытие гэпа - дальнейший рост. 

2. Гэп - консолидация - пробой уровня гэпа вверхи дальнейший рост

3. Образование коридора между вчерашним закрытием и уровнем гэпа

4. Форс-мажор в любой момент дня и уход цены ниже уровня открытия.

Что делает трейдер? Он берет бумажку, и ищет ручку. Если ручка не найдена или она уже больше года не пишет, переходит к поиску карандаша и точилки для него. Далее на бумаге появляется что-то типа следующего:

Вчерашнее закрытие 100 рублей. Гэп будет до 103 (там сопротивление). Если проломимся и будет цена 104, надо покупать с целью 108. Если до 104 не дойдем, а пойдем вниз, то от 103 можно продать с целью 100 и там снова перевернуться в лонг и подпереться на 98. Дальше крутиться между 100 и 103 до момента выхода из диапазона. Если вниз - продаваться, если вверх - брать снова позицию.

Выглядит довольно разумно. Главное, чтобы представление трейдера о рынке соответствовало тому, что сам рынок думает о себе. Дисциплинированный трейдер (таких – мало) будет отслеживать цену и выставлять заявки. Следить за ценой придется, поскольку QUIK с его набором ордеров и алго-заявок не позволяет оформить весь алгоритм действий заранее.

Но что делать, если за 5 минут до касания ценой нужного уровня Совет Директоров крайне некстати вызывает Вас на ковер? Уволят или нет - не суть: сигнал-то будет пропущен! В нерешительности 

А если торгуемых бумаг несколько? По каждой из них нужно в определённый момент войти(выйти) в позицию, расставить стопы. Согласно закону Мэрфи  делать это придется по всем бумагам одновременно...


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

Изготовление джиннов - наши будни. Извольте...

Вводим понятие "блок". Блок характеризуется текущей позицией по инструменту (Long/Short), набором условий (примеры: High дня > определенного значения, текущая цена дня меньше Open дня на N%, текущее время > определенного и так далее). Таких условий в каждом блоке может быть произвольное количество и условия могут быть составными. Каждому условию задаётся определённое действие - купить или продать определенное количество, выйти из позиции или ничего не делать, а также номер блока, в который требуется перейти. Таким образом, создается классическая блок-схема: в любой момент проверяется набор условий текущего блока, если какое-то из условий срабатывает - выполняется заказанное действие и производится переход в следующий блок.

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

Если цена >= 103, то продаем половину имеющейся со вчерашнего дня  длинной позиции и переходим в блок 2. Мы будем находиться в блоке 1 до тех пор, пока цена ниже 103. После того как цена достигла этого значения, робот продаст указанное количество бумаг (мы указали половину от имеющегося) и перейдет в блок 2.

В блоке 2 есть 2 условия. Первое - это цена >= 104 и переход в блок 3. Для этого события мы заказали покупку - увеличение длинной позиции. Робот купит заказанный объем и перейдет в блок 3. Второе условие - продажа всей позиции при условии , что цена < 103 и переход в блок (скажем) с номером 10.

Теперь распишем блок 3. Здесь мы ждем или цену 108, где все продаем, или цену 103, где тоже все продаем (иди даже переворачиваемся в шорт, по желанию)

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

 

Вот упрощенная блок-схема нашего торгового плана, не претендующая на полную точность:

 

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

В любой из блоков можно добавить условие стоп-лосса при наличии открытой позиции. Условие будет выглядеть так: Если позиция > 0 и цена < 98 - закрыть позицию и перейти в блок 1000. 

В блоке с номером 1000 - не укажем ни одного условия. Поскольку условий нет, то и выход из этого блока никогда не произойдет - торговля на сегодня но этому инструменту будет завершена.

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

Количество блоков - произвольное. Количество условий внутри блока - произвольное. Количество торговых планов (один план описывает один инструмент) - произвольное.

Торговый план на каждую бумагу задается в виде файла Excel. Параллельная работа руками допускается и влияет на логику робота. Изменения в торговом плане возможны в процессе работы, воспринимаются "на лету". В случае невозможности исполнить какое-либо действие по техническим причинам (к примеру, не хватило денег) робот останавливает обработку соответствующего инструмента и сообщает трейдеру почтой или SMS (на выбор).

Начальство - торговле не помеха. Никто не лишит премии за посторонние дела в рабочее время Смеюсь.

Публикуется с разрешения Заказчика

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