РоботВася. Хроники 21.09.12

21 сентября, 2012

 

 

 

 

 

 

 

 

 

Введение в теорию индикаторов

19 сентября, 2012

Автор: Николай Камынин

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

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

Любой индикатор является фильтром исходных значений.

Т е в основе любого индикатора лежит некоторая модель движения цены.

Именно это движение и выделяет данный индикатор из реального движения.

Возьмем для определенности индикатор скользящего среднего 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 будут различны. Но на лбом рынке всегда еть какой-либо тренд и применяя опитимизацию Вы всегда сможите подстроить под этот тренд торговую систему и получить прибыль на истории.

Вполне понятно, что в дальнейшем такая прибыльная система станет убыточной, так как тренды на рынке имеют различную длительность, которая не является периодической.