Все кто когда-либо писал стратегии и тестировал их, наверное замечал, что сложно получить однонаправленную стратегию. Как правило, стратегия зарабатывает, потом теряет, потом снова зарабатывает и снова теряет. Хорошо если потери меньше прибыли, тогда мы получаем устойчивый тренд растущей эквити. А что делать, если стратегия после длительного роста начала сливать? Или ее взлеты и падения равны друг другу и она торгуется около нуля? Как из нулевой стратегии сделать прибыльную? Как уменьшить просадки прибыльной стратегии и увеличить ее доходность? Все это вы можете узнать из этой статьи.
Мы решили поделиться своим опытом и одним из методов в этом направлении. Многим известно, что если у вас есть стратегия, которая стабильно теряет деньги, то вам больше ничего не надо. Не изменяя алгоритма стратегии, вы просто инвертируйте сигналы на вход и у вас мега прибыльная система. Именно так мы и поступаем. Когда стратегия зарабатывает, мы ничего не делаем, как только она начинает терять, мы начинаем инвертировать ее сигналы, и снова зарабатываем. Все просто? Не совсем. Как узнать когда начинать инвертировать, а когда возвращать работу во фронте?
В свое время не один десяток хороших стратегий оказался за бортом, только потому, что у нас не было подобного алгоритма, по которому можно определить момент когда пора инвертировать сигналы стратегии. Затем, в один прекрасный день мы его обрели… С этого дня даже самые флетовые стратегии стали приносить хоть какую то но прибыль.
Давайте определим стратегию торгующую всегда в ноль. Т.е. при любых обстоятельствах, на любом рынке сумма ее доходов равна сумме ее убытков. В этом случае при любом соотношении прибыльных сделок к убыточным, эта стратегия должна уравновешивать все так, что бы всегда оставаться в прибыли равной нулю. С точки зрения математики, это скорее всего выглядело бы так:
Решив это уравнение для различных %Прибыльных сделок и нанеся значения на график мы получим некий коэффициент прибыльности стратегии, при котором мы можем однозначно трактовать насколько стратегия прибыльна в текущий момент.
На этом графике по оси абсцисс мы имеем процент прибыльных сделок к убыточным, а по оси ординат соотношение прибыли к убытку. В итоге, мы имеем некую кривую, анализируя значение стратегии относительно которой, мы получим хороший сигнал на инвертирование входов в позиции.
Как это работает? Давайте разберем на примере. Мы взяли один из торговых дней нашего робота, когда он отторговал в ноль. Это 24.07.2013, история сделок тут
http://dirextrade.com/hystory.php
Как видим, робот сначала заработал, потом отдал, потом снова чуть взял, но в целом день для него не очень. Робот весь день проработал без реверса. Теперь берем, наш «анализатор стратегии» и попробуем проторговать те же самые сигналы, только уже инвертируя сигнал, когда нам это покажет наш график.
В данном случае, мы будем анализировать последние десять трейдов, и отмечать значение на графике. Условимся, что если оно будет выше зеленой линии на 2 единицы, то мы будем работать во фронте, т.е. не инвертируя сигналы. Если же значение будет ниже зеленой линии или меньше 2 единиц, то мы будем работать в реверсе, т.е. за место продажи покупать, за место покупки продавать.
Итак, изначально стратегия запускается во фронте и мы получаем первые десять трейдов и прогоняем их через анализатор.
В данной таблице мы видим:
- Первый столбец – Номер сделки
- Второй столбец – ПЛ в сделке без учета реверсов
- Третий столбец – ПЛ по дню без учета реверсов
- График – Значение прибыльности стратегии
- Четвертый столбец – ПЛ в сделке с учетом реверса
- Пятый столбец – ПЛ по дню с учетом реверса
Итак, мы видим, что коэффициент прибыльности стратегии равен трем, и при этом он находится выше зеленой линии. При таких условиях, мы оставляем все как есть и продолжаем торговать следующие десять трейдов.
Следующие десять трейдов показывают коэффициент прибыльности равный единице, и значение еще выше зеленой линии. Как мы условились, при таких значениях мы включаем реверс. Наверное стоит запомнить на данный момент, что прибыль по дню составляет 980пунктов РТС. Торгуем следующие десять трейдов уже в реверсе, но значение коэффициента прибыльности считаем без реверса. Это важно
Серым цветом, мы тут выделили что бы было понятно, что тут мы работали в реверсе. Итак, коэффициент прибыльности показывает ноль, и мы опустились ниже зеленой линии, что говорит нам о том, что мы верно торгуем в реверсе, и так надо продолжать. Прибыль по дню без реверса равна 510пунктов, а с реверсом уже 1450, не плохо, согласитесь? Торгуем дальше в реверсе.
Значение коэффициента по прежнему ниже зеленой линии и равно нулю. Продолжаем торговать в реверсе. При этом, без реверса прибыль по дню уже -130 а с реверсом +2090пунктов РТС.
.
Коэффициент стал равен единицы и поднялся выше зеленой, но значения еще не достаточно что бы выключать реверс, поэтому ничего не меняем и проторгуем дальше.
Итак, последние трейды… День закрыт. Что мы имеем. Если бы мы просто торговали сигналы стратегии, то мы бы получили итог дня +50пунктов РТС. А если бы мы применили наш коэффициент прибыльности стратегии, то при тех же самых сигналах, мы закрыли бы день в +1910пунктов, всего лишь в определенный момент включив реверсивное исполнение сделок
Надеемся, что данный алгоритм поможет вам превратить нулевые и убыточные стратегии в прибыльные! И для большей помощи, прилагаем исходный код данной программки для анализа коэффициента прибыльности стратегии. Те кто умеет программировать, могут взять класс из данной программы и подключить его к своим роботам.
Скачать исходники данной программы.
Если вам это помогло, плюсаните, мы будем благодарны. )
Успешной торговли!
.
Надеюсь это не единственный ваш метод.