ОГЛАВЛЕНИЕ

Оптимизация торговых стратегий
Оптимизация стратегий предназначена для выполнения большого количества испытаний при изменении одного или нескольких параметров внутри правил торговли или остановов.
Каждая торговая стратегия может содержать до 10 переменных оптимизации (начиная с OPT1 и заканчивая OPT10). Переменные оптимизации не имеют силы в индикаторах пользователя. Чтобы оптимизировать систему, Вы заменяете числовые константы внутри формул правил торговли или остановов OPT переменными.
Следующий пример демонстрирует применение OPT переменной в формуле правила торговли. В этом правиле, "opt1" заменяет параметр временного окна в функции скользящего среднего.
C> Mov(C, opt1, E)
Задание Откройте файл данных EESR на отрезке 05.01.97 – 03.10.97. Откройте окно Тестера стратегий. Правильно установите параметры тестирования, нажав кнопку Параметры(Options). Создайте новую стратегию под именем ”EMA Crossover w/opt w/loss stop”. В качестве правил используйте сигналы скользящего среднего используя формулу выше в качестве правила открытия длинной позиции(Enter Long). Далее переходите к оптимизации остановок.
OPT переменные, применяемые для остановок, указываются непосредственно в разделе Параметров диалога Стопов.
Задание Нажмите кнопку Стопы(Stops) диалога Редактора стратегий(System editor). На странице Убытки(Max Loss) установите флажки на длинные(Long) и короткие(Short) позиции. Выберите метод(Method) Пункты(Points). В поле максимальный убыток(Max loss) впишите имя OPT2. Переходите к определению переменных оптимизации.
Затем Вы определяете диапазон изменения OPT переменной (минимум, максимум, и шаг). Когда Вы проверяете систему, которая содержит OPT переменные, MetaStock 7.0 автоматически выполняет тестирование стратегии с использованием каждой из возможных комбинаций оптимизации.
Определение переменных оптимизации
Для того чтобы определить диапазон изменения для переменных оптимизации в ваших правилах торговли или остановах, нажмите кнопку Оптимизация(Optimize) в диалоге Редактора стратегий(System Editor) или диалога Стопов(Stops).
Создать(New). Эта кнопка позволяет добавить новую OPT переменную и настроить ее свойства.
Изменить(Edit). Отображает Свойства переменной(Variable properties) где Вы можете установить минимум, максимум и шаг выбранной OPT переменной.
Удалить(Delete). Удаляет выбранную OPT переменную. Обратите внимание на то, что Вы не можете удалять те OPT переменные, которые используются в формуле.
Всего тестов(Total Tests). Отображает общее количество испытаний, которое выполнит тестер стратегий при оптимизации.
Задание Откройте диалог определения переменных оптимизации. Определите переменные OPT1 и OPT2 (должны уже присутствовать в списке).
OPT1: минимум = 8, максимум = 30, шаг = 2
OPT2: минимум = 1, максимум = 10, шаг = 1
Запустите процесс тестирования данной системы и прочитайте текст ниже.
Примеры оптимизаций
Следующее правило Открытия длинной позиции(Enter Long) покупает, когда цена закрытия(Close) находится выше скользящего среднего с окном сглаживания(Time Periods) 10 периодов:
Enter Long: CLOSE > mov(CLOSE, 10, EXPONENTIAL)
Если Вы не знаете оптимальный размер окна сглаживания, который лучше использовать для скользящего среднего, Вы можете заменить "10" в вышеуказанном правиле переменной оптимизации как показано ниже:
Enter Long: CLOSE > mov(CLOSE, OPT1, EXPONENTIAL)
Диапазон изменения для OPT1 (например от 5 до 20 с шагом 5) мы определим, нажав кнопку Оптимизация(Optimize) в диалоге Редактора стратегий(System Editor). Когда Вы начнете тестировать эту систему, MetaStock выполнит несколько испытаний, каждый раз заменяя переменную OPT1 следующим значением оптимизации (как показано ниже).
Enter Long: CLOSE > mov(CLOSE, 5, EXPONENTIAL){Тест №1)
Enter Long: CLOSE > mov(CLOSE, 10, EXPONENTIAL){Тест №2)
Enter Long: CLOSE > mov(CLOSE, 15, EXPONENTIAL){Тест №3)
Enter Long: CLOSE > mov(CLOSE, 20, EXPONENTIAL){Тест №4)
После тестирования этой системы, будет создан отчет с четырьмя сообщениями (одно для каждого значения оптимизации).
Задание Откройте и просмотрите отчет для своей системы, когда закончится процесс тестирования. Если вы закрыли окно с предупреждением, откройте диалог тестера стратегий, выделите в списке свою стратегию и нажмите кнопку Отчет(Reports). Внимательно изучите структуру отчета. Обратите внимание на то, что если заголовок столбца не вмещается в колонку, можно увеличить эту колонку при помощи мыши, перетаскивая разделитель колонок. Запомните лучшее значение переменной OPT1.
Когда используются переменные оптимизации, число испытаний, требуемое для проверки каждой комбинации значений оптимизации, может быть определено, перемножением числа испытаний, каждой OPT переменной.
Следующий пример демонстрирует использование нескольких переменных оптимизации:
Enter Long: rsi(14) > OPT1
Close Long: rsi(14) < OPT2
Enter Short: rsi(14) < OPT2
Close Short: rsi(14) > OPT1
OPT1: минимум = 20, максимум = 40, шаг = 10 {3 теста}
OPT2: минимум = 70, максимум = 80, шаг = 10 {2 теста}
В этом примере, OPT1 имеет три возможных значения (20, 30 и 40); принимая во внимание то, что OPT2 имеет два возможных значения (70 и 80) получаем, что эта комбинация требует выполнения шести (3 умноженное на 2) испытаний:
Испытание # OPT1 OPT2
1 20 70
2 30 70
3 40 70
4 20 80
5 30 80
6 40 80
Число испытаний может быстро становиться огромным (максимум 32000). Например, рассмотрите следующую систему с пересечением скользящего среднего:
Enter Long: cross(C, mov(C, OPT2, E))
Close Long: cross(mov(C, OPT1, E),C)
Enter Short: cross(mov(C, OPT1, E),C)
Close Short: cross(C, mov(C, OPT2, E))
OPT1: минимум = 1, максимум = 100, шаг = 1 {100 испытаний}
OPT2: минимум = 1, максимум = 100, шаг = 1 {100 испытаний}
В этом примере каждая OPT1 и OPT2 имеет 100 возможных значений. Эта комбинация требует проведения 10000 (100 умножить на 100) испытаний! Даже на быстром компьютере, эта относительно простая (достаточно трудно оптимизируемая) система может потребовать для проверки нескольких часов.
Способом рационализации метода оптимизации этой системы было бы уменьшение диапазонов изменения переменных и-или увеличение шага изменения переменных.
Число испытаний, требуемое для проверки каждой комбинации оптимизации, как уже упоминалось, отображается внизу диалога Переменных оптимизации (Optimization Variables).
Задание Вернитесь к диаграмме. Постройте график ЭСС с найденным параметром окна сглаживания. Проследите под достаточным увеличением за ходом торговли. Учтите, что система основана на правилах расположения графика СС относительно цен. Лучше всего представить график в виде линии(Line). Обратите внимание на отставание сигналов на диаграмме от сигналов скользящей средней, что мы указывали в параметрах.
Использование Максимально Прибыльной системы
"Максимально Прибыльная система(Maximum Profit System)" является специальной системой, расположенной в самом верху диалога Тестера стратегий(System Tester). Эта стратегия доступна "только для чтения" (её значения не могут быть отредактированы) и имеет полный обзор прошлого, но не имеет абсолютно никакого предвидения. Максимально Прибыльная система создана для того, чтобы показать Вам "лучший случай" развития сценария торговли выбранной ценной бумагой. Решения о том, когда торговать основаны на изменениях в цене, которые происходят уже после того, как была бы совершена сделка (роскошь, которую Вы не имеете). Эта система полезна в качестве измерительного средства, а не как система торговли.
Итоговое сообщение для Максимально Прибыльной системы показывает данные, показывающие общие характеристики испытания. Обратите внимание на то, что поле "Проигрышные сделки" является нулевым. Это потому, что "совершенная" система (которой является Максимально Прибыльная система) не будет иметь никаких проигрышных сделок.
Результаты Максимально Прибыльной системы могут быть сравнены с результатами других систем торговли. Чем ближе результаты другой системы торговли к результатам Максимально Прибыльной системы, тем лучше.
Задание Выполните тест сравнения с совершенной системой. Откройте диалог тестера стратегий. Выделите Максимально прибыльную систему и удерживая клавишу CTRL щелкните мышью вашу стратегию. Установите флажок Сравнить(Compare). Нажмите кнопку Сравнить(Compare). Просмотрите отчет сравнения систем.
Советы по Доводке системы
Имеет ли испытание / оптимизация силу?
Одна из наиболее частых ошибок, которая появляется при создании системы и ее оптимизации это «приспособление» правил торговли к определенному набору данных. Перед тем, как радоваться, когда Вы думаете, что нашли "святой крааль" систем торговли, проверяете следующее.
Проверяйте график динамики капитала. Он всегда должен иметь наклон вверх. Резкие выбросы указывают на непоследовательную прибыль.
Проверяйте систему при различных временных масштабах. Результаты должны быть подобны тем, которые получены на первоначально проверенных данных.
Проверяйте систему на различных ценных бумагах, из различных отраслей промышленности.
Оптимизируйте снова с использованием только половины первоначально проверенных данных. Затем проверьте оставшиеся данные, используя оптимальные значения. Если система имеет силу, результаты двух испытаний должны быть подобны.
Проверяйте систему на различных типах рынков (например, развивающихся вверх, вниз и боком). Хорошая система должна работать во всех типах рынков, так как Вы не будете всегда знать наверняка, когда происходят изменения рынка от тренда к тренду.
Помните, что человеческие ожидания управляют ценами ценных бумаг. Поэтому, нельзя реально ожидать, что механическая система последовательно предскажет изменения в их ожиданиях.
Комиссионные
Обращайте особое внимание на количество сделок, сгенерированных испытанием стратегии. Если имеется большое количество сделок и большая прибыль, убедитесь, что Вы определили реалистичные комиссионные. Результаты испытания могут сильно отличаться, как только комиссионные указаны правильно.
Победные сделки Против сделок с потерями
Поинтересуйтесь числом победных сделок против сделок с потерями. Так как это может быть важно, Вы должны также обратить внимание на Среднюю Победу(Average Win), сравненную со Средней Потерей(Average Loss). Некоторые хорошие системы генерируют больше проигрышных сделок, чем выигрышных. Это может случиться, если среднее значение прибыли на выигрышных сделках - намного выше, чем среднее значение потерь на сделках с потерями.
Использование графика динамики капитала
График динамики капитала – весьма ценный инструмент. Быстрый взгляд на график капитала может сказать многое относительно работы системы торговли.
Идеальный график капитала должен всегда иметь наклон вверх. Большие выбросы могут указывать на то, что система непоследовательна и опасна. Система, которая генерирует огромную прибыль от одной сделки, является сомнительной в лучшем случае.
Используйте Команды вырезать/копировать/вставить
Чтобы ускорить запись испытаний стратегий, Вы можете использовать команды вырезать/копировать/вставить. Очень часто правила торговли в системе очень похожи, если бы не операторы. Рассмотрите следующие правила торговли для пересечения простого скользящего среднего.
Enter Long: c > mov(c, 39, s)
Close Long: c < mov(c, 39, s)
Обратите внимание на то, что единственное различие между этими двумя правилами - оператор ( > и <).
Вместо набора обоих правил, Вы могли ввести правило Enter Long, выделить его (SHIFT+СТРЕЛКА ВПРАВО), скопировать его (CTRL+C) и затем вставить его (CTRL+V) в текстовом поле Close Long. Конечно, реальная ценность команд "вырезать и вставить" прибывает, когда Вы вводите намного более длинные правила, чем те, которые показаны выше.



ОГЛАВЛЕНИЕ