Автор: Николай Камынин
Если внимательно изучить многообразие существующих индикаторов, то можно обнаружить, что, в основном, это либо скользящее среднее цены, либо скользящее среднее приращения цены.
Возможно, поэтому столь большое многообразие различных алгоритмов торговли, дают практически одинаковый результат.
Любой индикатор является фильтром исходных значений.
Т е в основе любого индикатора лежит некоторая модель движения цены.
Именно это движение и выделяет данный индикатор из реального движения.
Возьмем для определенности индикатор скользящего среднего MA(C,N).
В основе этого индикатора лежит модель периодического, плавного, волнового движения цены.
Т е можно представить модель движения цены в виде синусоиды A*Sin(t/T+u).
Почему именно синусоиды,спросите вы.
Потому, что, при проходжении линейных систем фильтрации, синусоида не изменяет своей формы и анализ влияния на нее индикатора(фильтра) существенно упрощается.
Индикатор влияет лишь на два параметра: амплитуду(A) и временной сдвиг (u) синусоиды.
При этом, выбор параметра N индикатора, определяет возможный диапазон периода (T) синусоиды, которая будет отображаться индикатором без существенного изменения ее амплитуды.
Этот диапазон составит от 0 до r*N. где r- некоторый коэффициент пропорциональности, который зависит от алгоритма сглаживания.
К сожалению, все применяемые в торговых системах индикаторы, не изменяют амплитуду лишь синусоиды с бесконечным периодом.
Теперь давайте попробуем представить идеальную модель рынка, на которой мы сможем торговать без убытков.
Как возможный вариант , это будет синусоида (волнообразное движение цены — тренды).
На минимумах мы бы покупали, а на максимумах продавали.
Торговый алгоритм для такой модели рынка можно записать
D[i]= C[i]-C[i-1] ; if (D>0) Buy; if (0>D) Sell; где i — номер сделки.
Т е , мы вычисляем приращение цены и в момент изменения знака совершаем сделки.
Таким образом, мы ищем экстремумы функции по смене знака ее производной.
Теперь несколько усложним задачу.
Представим нашу модель в виде суммы интересующей нас синусоиды и шума — хаотического движения цены.
Т е мы полагаем, что в движении цены можно выделить некоторое преобладающее движение в виде нашей торговой синусоды, в экстремумах которой мы хотим совершать сделки, но кроме нее в цене присутсвуют шумы — это не интересное и непонятное для нас движение цены, из которого мы не умеем извлекать прибыль.
Тогда задача построения торговой системы сводится к подавлению (фильтрации) в движении цены шумов и усилению таким образом нашей синусоиды.
Очевидно, что для этого нам необходимо применить скользящее среднее.
Скользящее среднее обеспечит нам более сильное подавление шума по сравнению с нашей синусоидой.
Чем быстре движется шумовая составляющаяя, тем сильнее она подавляется.
Так как этот алгоритм обеспечивает наименьшее подавление колебаний с большими периодами. т.е. обеспечивает фильтрацию шумов.
В результате наш алгоритм можно записать
D[i]= MA(C,N1)-MA(C,N2) ; if (D>0) Buy; if (0>D) Sell;
Мы получили торговую систему с двумя параметрами N1 и N2.
Выражение для D[i] тоже является индикатором.
Так как D[i] представляет собой разность значений двух скользящих средних с разными периодами. Для синусоиды со значением периода бесконечность и ноль значение D[i] будет равно нулю.
Так как вычитаемые индикаторы МА имеют различные значения параметров N1 и N2, то они будут по-разному изменять амплитуду синусоиды при изменении ее периода и следовательно значение D[i] будет отличаться от нуля.
Таким образом, индикатор D[i] ,будет усиливать (фильтровать) относительно шумов синусоиду, период которой находится в интервале (полосе) от r*N1 до r*N2.
Индикатор D[i] называется полосовым фильтром.
Торговля сводится к совершению сделок в моменты смены знака индикатором D[i].
Я описал простейшую торговую систему.
Можно ее усложнять, добавляя стопы, новые индикаторы, что приведет к усложнению и возможно к повышению величины прибыли на исторических данных.
Таким образом, представив рынок в виде растущих и падающих трендов и описав эти тренды аналитически в виде синусоиды, я построил торговую систему на основе двух скользящих средних.
Оптимизация такой торговой системы сводится к поиску натлучшего сочетания двух параметров N1 и N2.
Если вы возьмете интервал истории на котором виден тренд, то по его длительности можно рассчитать наилучшие значения N1 и N2.
Очевидно, что для разных исторических интервалов или рынков значения N1 и N2 будут различны. Но на лбом рынке всегда еть какой-либо тренд и применяя опитимизацию Вы всегда сможите подстроить под этот тренд торговую систему и получить прибыль на истории.
Вполне понятно, что в дальнейшем такая прибыльная система станет убыточной, так как тренды на рынке имеют различную длительность, которая не является периодической.