Избранное трейдера _xXx_
В прошлый раз http://smart-lab.ru/blog/329488.php предложил добавить к скользящим средним каких-нибудь сигналов/индикаторов, чтобы использовать в стратегии для примера. Но ни от кого идей не поступило.
Подумав в указанном направлении, решил добавить в стратегию поиск шаблона/паттерна. Для поиска шаблона буду использовать корреляцию. Такая идея у меня была давно, но никак не доходили руки её проверить. Поэтому устрою проверку её эффективности в стратегии, используемой для примера. Появляется какая-то польза и для меня, так как результат мне не известен и полученные наработки (код) можно будет использовать в дальнейшем.
Сама идея проста – задаем последовательность значений, описывающих некоторое изменение цены, например:
Tpl = { 1, 2, 3, 4, 5, 4, 4.5, 3.5, 4, 3 };
Если указанную последовательность изобразить графически, то получим картинку, показанную на рисунке.
Расскажу о типичной ситуации, в которой оказывались многие. Товарищем был приобретен игровой ноутбук за 48 тыс. рублей. Товарищ очень ждал этой покупки, копил сумму и радовался, когда приволок его домой. Поиграв на нем пару дней, в ноутбуке отвалился вай-фай и блютуз. И здесь начинается мой рассказ.
Мы начали с претензии покупателя продавцу. Отмечу, что это известный ритейлер М.Видео.
Претензия – это форма выражения своих требований продавцу, изготовителю или импортеру приобретенного товара. Она пишется обязательно в письменной форме. Часто, в случае поломки товара, люди идут в магазин вместе с товаром и пытаются решить этот вопрос на месте.
Примечание: колонка максимум в июне интересует именно с точки зрения максимума, а не закрытия, как тенденция, продолжался ли рост в июне или нет, и в случае покупки в мае была ли возможность закрыть позиции, в плюс. Так же нас интересует колонка закрытия года в целом, что бы было понимание к чему могла привести покупка в мае удерживай мы позицию до конца года.
Теперь проанализируем предложенную статистику:
1. Покупая открытие мая за последние 20 лет плюс текущий 2016 год каждый раз была возможность в течение месяца выйти в плюс без исключений, то есть 100%;
Что бы выяснить. Когда можно увеличивать размер позиции. Разберем условную стратегию. Стратегию монетки (как в простой задачке по теории вероятности, подкидывание монетки). Имеем показатели: соотношение прибыльных сделок к убыточных равно 1:1. Примем прибыльную сделку за 1, а убыточную за 0. В теории имеем, что за 10 сделок мы получим вот такую последовательность сделок:
1) 1010101010
Дело в том. Что на практике так редко бывает. Вместо этой последовательности, можем получить и вот такие:
2) 1110110000
3) 0001001111
Предположим. Что за сделку мы имеем прибыль равный 1, убыток равный -1.
Мы сделали 5 сделок. Нам выпала 2-ая последовательность. И мы на счете имеем уже прибыль, равную трем. Что будет, если мы увеличим размер позиции в два раза? Последующие 5 сделок принесут нам минус шесть. И итогом получим минус три убытка. Вместо нуля для данной стратегии. Когда чаще всего увеличивают позиции? Когда на счете мы уже имеем деньги. На простом примере видим. Как такой подход создаст убыток по стратегии в целом.
Небольшая статья с ресурса http://www.talaikis.com/ о построении простой стратегии, использующую наивный байесовский классификатор при создании процесса возврата к среднему. Весь код в статье приведен на языке Python.
Это достаточно большая область исследований, но расскажем все очень кратко. Мы попытаемся найти взаимоотношение между временными сериями (в данном случае возьмем в качестве сигнала взаимный фонд XLF из финансового сектора, сдвинутый по времени на 1 день назад), а нашей целью будет фьючерс S&P500 в форме CFD. Будем входить в длинную позицию по этой бумаге при нулевой вероятности приращения. Логически нулевая вероятность ни о чем не говорит, другими словами, будем покупать возврат к среднему.
1. Получение данных
Y = read_mongo(dbase, "S&P5001440") X = read_mongo(dbase, syms[s]).shift() #готовим набор данных res = pd.concat([X.CLOSE, Y.CLOSE], axis=1, join_axes=[X.index]).pct_change().dropna() res.columns = ['X', 'Y']
Что такое риск на сделку? Это величина разности стоимости котировок (величина стоп приказа) умноженного на величину позиции? Разность котировки дает стратегия . А где брать размер позиции? Обычно следуют от обратного – берут максимальный риск на сделку, и делят его на разность котировок. Где взять максимальный риск на сделку? В книгах — риск менеджмента. На чем основывается значение риска в книгах? Я не видел, и уверен. Никто не знает. Кроме как – он не позволит разорить торгуемый счет. А кто, или что его разорит?
Разорит счет:
1) Непрерывная череда убыточных сделок (максимальная величина просадки)
2) Комиссия и среднее проскальзывание
3) ГЭПы и форс мажорное проскальзывание.
4) Есть другие причины, не относящиеся к риск менеджменту.
А как их учесть и получить формулу риска от депозита? Дело в том. Что сам по себе риск не определяет ничего. Его величина в себе содержит размер позиции. И именно он и является основополагающим и никак не вычленяется из понятия риска. Даже само утверждение – разорит счет — не верно. Нужно не разорить, а не уменьшить до некоторого значения. Когда мы уже не сможем открывать новые позиции. Почему же именно риском оперируют при определении значения? Дело в том. Что там особый риск – риск на одну позицию (один контракт). Т.е. по сути величина стопа, а не риск. И он не имеет отношение к риск менеджменту.
Терминал позволяет разрабатывать самодельные индикаторы, работающие в отдельном потоке. Но индикаторам можно давать и дополнительную нагрузку, реализовывать даже легких роботов-индикаторов, торгующих автономно. Из плюсов – получаем штатное диалоговое окно средствами Квика, что-то рисуем не отходя от кассы… Не требуется подключения внешних библиотек для работы и отображения диалоговых окон, что повышает надежность и простоту установки.
Для примера сделал вполне рабочую программку авто стоп-тейк. Торговлю для примера на скользящих делать не стал, никому не нужна, а автостоп пригодится. Проверял на собственном реальном счете – работает. Пользуйтесь на здоровье!
Есть один недостаток: по одному графику инструмента (бумаги) не может работать индикатор, получающий данные извне этого графика (как этот) и луа скрипт с main. Происходит конфликт и Квик подвисает. Поэтому сейчас становится сложно надежно графически отобразить арбитражный спред например и его торговать. Но эту проблемку разработчики терминала обещают устранить в свежей версии.