Как оптимизировать торговые системы форекс?

После того как выявленная торговая закономерность алгоритмизирована и запрограммирована время приступить к оптимизации нашей торговой системы форекс.

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

Поэтому в этом вопросе каждому придётся определиться со своими предпочтениями самостоятельно исходя из тех целей, которые вы преследуете на Форексе, склонности к риску, терпеливости, настойчивости и т.д.

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

1 этап. Предварительная (грубая) оптимизация

Проводится на временном интервале не менее 6 лет. Последний год торговли пока исключаем из оптимизации, он нам понадобится для проведения «слепого» теста (теста за пределами выборки). Составной частью оптимизации является тестирование, поэтому залогом успешной оптимизации является правильное тестирование.

В ходе оптимизации анализируем следующие параметры:
   - чистая прибыль (Net Profit).
   - профит-фактор (Profit Factor).
   - максимальная просадка (Maximum Drawdown).

При этом контролируем параметры:
   - количество сделок (Number of Trades in the Test Sample).
   - матожидание выигрыша (Expected Payoff).

В процессе оптимизации стремятся добиться, чтобы чистая прибыль и профит-фактор были максимальными, а просадка минимальной. Как правило, эти требования взаимно исключают друг друга. С увеличением прибыли растёт и просадка депозита. О том, какими должны быть значения перечисленных параметров и на что ещё следует обратить внимание при оценке торговых систем смотрим в разделе Как оценивать торговые системы?

Кроме того, такой способ оптимизации имеет особенности, на которые также необходимо обращать внимание:

- стремление к максимальной прибыли может привести к подгонке и снижению устойчивости системы: происходит вылавливание крупных трендов с большой прибылью в ущерб общей статистической достоверности.
- оценка просадки при максимизации прибыли может оказаться не объективной, т.к. её минимальное значение может быть следствием статистического выброса (флуктуации) никак не связанного с общей устойчивостью стратегии.

Чтобы этого не произошло, контролируем количество сделок и значение матожидания выигрыша. Сделок на оговоренном нами временном интервале оптимизации должно быть не менее 150…200. Матожидание выигрыша- не менее 8…10 пунктов, иначе результат реальной торговли начинает сильно зависеть от спреда и проскальзываний и не будет соответствовать тесту. Смотрим также за тем, чтобы существенная часть нашей прибыли не была получена за счёт нескольких очень крупных сделок, это размывает статистическую картину и снижает устойчивость системы.

Профит-фактор является интегральной характеристикой устойчивости системы, как правило, при хорошем профит-факторе (не менее 2) остальные параметры системы, такие как просадка и матожидание выигрыша также выглядят не плохо. Если при этом количество сделок соответствует требуемому, существенная чистая прибыль получается автоматически.

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

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

2 этап. Контроль формы эквити

Форма кривой изменения состояния депозита (equity) является одной из основных характеристик торговой системы. В идеале оптимизацию системы необходимо проводить по величине среднеквадратического отклонения кривой эквити то есть по степени её линейности. К сожалению не каждый тестер-оптимизатор торговых стратегий даёт такую возможность. Самый популярный на сегодняшний день торговый терминал MetaTrader 4 такой возможности не имеет. Поэтому оптимизацию этого параметра будем проводить итерационным методом. Для этого вам необходимо знать Какой должна быть эквити?

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

3 этап. Контроль устойчивости

Для контроля устойчивости нам понадобятся следующие параметры:

- Процент прибыльных сделок (Percent Winners).
- Отношение среднего выигрыша к среднему проигрышу (Ratio of Average Win to Average Loss).

Устойчивость системы необходимо контролировать потому, что оптимизация даёт завышенный результат, вследствие неизбежной (непредумышленной) подгонки. В реальной торговле эти показатели ухудшатся, поэтому система должна иметь «запас прочности». Например, система с профит-фактором 2 в реальной работе будет иметь от силы 1,5. Устойчивость системы и необходимый «запас прочности» удобнее всего оценивать на основе вероятности провала POR (Probability of Ruin).

В таблице приведены вероятности провала счёта в $25000 до величины $12000 при различных значениях процента прибыльных сделок и отношения среднего выигрыша к среднему проигрышу.

Вероятность провала счёта $25000  до величины $12000

Отношение средних

прибыль/убыток

Процент прибыльных сделок

25

30

35

40

45

50

55

60

70

75

0,75

100

100

100

100

100

98

77

15

1

0

1

100

100

100

99

92

50

7

1

0

0

1,5

100

99

90

50

12

2

0

0

0

0

2

97

79

35

9

2

1

0

0

0

0

2,5

79

38

12

4

1

0

0

0

0

0

3

50

19

6

2

1

0

0

0

0

0

3,5

31

12

5

2

1

0

0

0

0

0

4

21

9

4

2

1

0

0

0

0

0


Пользоваться таблицей надо следующим образом. Подставляем в таблицу результаты теста своей торговой системы и определяем POR. Затем смещаемся на один столбец в сторону ухудшения по оси «Процент прибыльных сделок» и по оси «Отношение средних прибыль/убыток».

Получаем истинное значение POR нашей торговой системы с поправкой на реальную торговлю.

Например: после оптимизации и тестирования ваша торговая система имеет параметры:

- процент прибыльных сделок – 45%;

- отношение средних прибыль/убыток – 2.

По таблице определяем POR = 2%. Смещаемся по обеим осям на один столбец и определяем истинную устойчивость в реальной торговле POR = 50%. Естественно такое значение POR неприемлемо, поэтому возвращаемся к 1 этапу и продолжаем оптимизацию с целью определения параметров при которых истинная POR не будет превышать хотя бы 10-15%. Если полученная устойчивость системы нас устраивает- переходим к следующему этапу.

4 этап. Тест за пределами выборки

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

Подробнее правила оптимизации можно изучить на примере.
 
Другие статьи по теме: