Самонастройка торговой системы

Как я заработал на Forex свои первые деньги

Категория: Торговые системы Форекс
Создано 30.11.2011 Автор: Трейдер Форекс

 

Общие принципы настройки торговой системы

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

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

Поэтому, чтобы избежать больших убытков практикуется вводить ограничивающие ордера типа Stop Loss и Take Profit, и кроме того, специальными индикаторами и критериями диагно­стировать периоды малой волатильности рынка (флэт) и на это время прекращать торговлю. С позиций теории систем управления (ТАУ) - это не лучший вариант. Для достижения максимально возможного значения критерия эффективно­сти ТС лучше периодически или даже непрерывно перенастраивать константы алгоритма по максимуму выбранного критерия. Но такая оперативная настройка ТС пока не изучена и нет апробированных алгоритмов ее осуществления. Ниже описываются некоторые результаты такого исследования. Эти исследования опираются на результаты автора, опублико­ванные в предыдущих номерах журнала.

Для ТС на Форексе поведение рыночных цен можно моделировать стандартными динамическими звеньями, предус­мотренными в ТАУ Это уже общепринятая практика создания подобных систем в разных отраслях промышленности. Было показано, что для целей торговли на валютном рынке подходящими динамическими моделями являются стандар­тные звенья: апериодическое и колебательное. В дополнение к этому было разработано нестандартное звено, названное ценовым коридором. На основе таких звеньев получается алгоритм прогнозирования рыночной цены или ее тренда, который реализуется в блоке прогноза ТС.

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

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

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

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

К такому приему приходится прибегать, когда модель объекта поиска (модель прогноза цены или ее дрейфа) неизвестна или чересчур сложна. В математической статистике такой подход называется принци­пом черного ящика. Если же модель известна, то на ней можно виртуально, в прошедшем времени проигрывать проб­ные приращения констант и вычислять соответствующие приращения критерия. Это естественная альтернатива анали­тическому определению градиента критерия. Тем самым определяется направление градиента и далее реализуется градиентный поиск максимума.

В итоге для настройки ТС имеем две возможности: либо аналитическое определение градиента критерия прибыль­ности, либо виртуальное варьирование искомой константы модели прогноза и численное нахождение градиента. Пер­вый вариант возможен только в случае гладкой (не скачкообразной) зависимости критерия от варьируемой константы и градиент вычисляется как первая производная критерия по данной константе. Но сам принцип получения прибыли от рыночных сделок основан на скачкообразной зависимости: фиксированная прибыль появляется только в момент закрытия позиции, т. е. в момент окончания сделки.

В остальное время фиксированная прибыль остается неизменной. В преды­дущей статье было показано, как можно устранить эту алгоритмическую трудность. Можно заменить глобальный кри­терий эффективности торговли - % годовых прибыли на локальный критерий - среднюю ошибку прогноза тренда цены. Предполагается, что экстремумы этих критериев возникают при одинаковом значении аргумента - оптимальном значе­нии периода усреднения в модели прогноза, но максимуму % годовых отвечает минимум ошибки прогноза.

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

 

Алгоритм самонастройки торговой системы по максимуму прибыли

Здесь приводится алгоритм самонастройки ТС по принципу максимизации прибыли путем варьирования периода прогноза. Алгоритм будет приведен для торговли одним инструментом по одной гармонике ценовой волны. Прогноз тренда цены производится по колебательному звену. Открытие/закрытие позиций производится только в моменты сме­ны знака прогноза тренда, т. е. по релейной стратегии торговли.

Программируются три параллельные технологические нитки торговли с индексами i=1,2,3. (Заметим, что число параллельных технологических ниток и соответственно чис­ло варьируемых значений периода i может быть принято от двух и более.) Применяются обозначения предыдущей ста­тьи в FM№321. В блоке прогноза вычисляются прогнозы тренда XAi по тем же формулам, что и прогноз в основной технологической нитке, но со своими конкретными периодами Ti. Для прогноза тренда имеем:

(1)              i(t)=2*Xi(t-1)-Xi(t-2)+(Y(t)-Xi(t-1))/Ti, i=1,2,3.

Затем по ходу технологии торговли (по алгоритму ТС) вычисляется запас открытых позиций Zi по формулам:

(2)              Zi(t)=EСЛИ(Xi(t)>0;1;-1)*Zm, i=1,2,3.

Здесь Zi - это гипотетические (виртуальные) позиции, не реализуемые в виде приказов дилерскому терминалу, а вычисляемые только для последующего определения приращения прибыли. Далее вычисляются потенциальные прибыли для каждого значения периода Ti. Для этого предварительно запоминаются цены открытия позицийXzi:

(3)              Xzi(t)=EC.HH(Zi(t)=Zi(t-1)Xzi(t-1); Y(t)), i=1,2,3.

Потенциальные прибыли Pinal вычисляются по формулам:

(4)              Piпот(t)=((Y(t)-Xzi(t-l))*Zi(t-1)-dX*ABS(Zi(t-1))*L, i=1,2,3.

Чтобы сгладить толчки прибыли в моменты окончания сделок (в моменты закрытия позиций), виртуальная прибыль Pinm сглаживается по времени путем вычисления стандартного средневзвешенного Р/'°р по формулам:

(5)              PitсрPiсрt-! )+(PiпoT(t)- Р1ср(t-1))/Т, i=1,2,3.

Здесь Т - номинальный, не варьируемый период усреднения, в отличие от варьируемых констант Ti. (Величина Т может быть выбрана равной или больше всех Ti.)

Далее по принятой технологии находится максимальная из вычисленных прибылей р™с и определяется соответствующий ей оптимальный период Т°пт=Т/':

(ба)              Рмакс)=МАКС(Р1ср(0;Р2ср(0;Р3ср(0),

(бб)              Гопт(0=ЕСЛИ(Рм£с(0=Р1ср(0; Т1;ЕСЛИ(Рмакс(0=Р2ср(0; Т2; Т3)).

На этом заканчиваются параллельные технологические нитки и далее расчет продолжается по основной нитке: в блоке прогноза по найденному периоду Т°пт вычисляется прогноз X, в блоке сделки вычисляется объем открытия/закрытия позиций Z, в блоках настройки и управления риском торговли также производятся их штатные действия.

Для экономии объема Excel-файла некоторые из формул (1) - (6б) можно объединить путем исключения промежуточных переменных параллельных технологических ниток. В частности, можно объединить формулы (2) и (3) исключением Zi и объединить формулы (4) и (5) исключением Рiпот. Разумеется, такая экономия актуальна только при программировании тренажера ТС средствами Excel. Файл тренажера с описанной самонастройкой ТС может быть выслан любому желающему.

 


Все права защищены © 2012-2014 broker-trade.ru