Ниже приводятся шаги, необходимые для эволюционного создания модели входа, основанной на шаблонах правил, используемых в этом исследовании:
1. Выберите произвольную хромосому с 12 элементами. Она представляет собой потенциальное решение (случайное и, вероятно, не очень хорошее).
2. Поставьте в соответствие каждому параметру правил определенное число, чтобы получить три полностью определенных правила (одно для каждого гена), и определите значение ИСТИНА/ЛОЖЬ для всех дней во временном ряду.
3. Обработайте ценовые данные день за днем. Если в данный день все три правила возвращают значение ИСТИНА и если нет текущей длинной (или короткий) позиции, то модель получает рыночный приказ на покупку (или продажу) при завтрашнем открытии.
4. Если имеется позиция, используйте стандартную стратегию выхода для осуществления выхода.
5. Оцените торговую эффективность потенциального решения. Для этого определите пригодность решения как соотношение риск/прибыль в годовом выражении — величина, которая фактически является значением {- критерия.
6.. Сообщите генетическому оптимизатору, насколько пригодно (в вышеупомянутом смысле) потенциальное решение (хромосома) . Это позволит генетическому оптимизатору обновить популяцию хромосом.
7. Если решение отвечает определенным критериям, то следует сгенерировать сводку эффективности системы и другую информацию и сохранить эти данные в файле для последующего рассмотрения.
8. Повторять вышеупомянутые шаги снова и снова до тех пор, пока не пройдет достаточное число поколений.
Так как вышеупомянутые шаги повторяются, решения или поколения, созданные генетическим оптимизатором, в среднем становятся лучше и лучше. Большое количество отдельных эффективных решений появится в течение эволюционного процесса. Большинство решений будет записано в файле, созданном в ходе неоднократного выполнения первых семи вычислительных шагов. Ниже будет рассмотрен код, написанный на C++, который осуществляет вышеупомянутые шаги.
Из- за природы правил, вероятно, будет различным поведение моделей при открытии длинных и коротких позиций. В связи с этиммодели входа для длинных позиций найдены и проверены отдельно от моделей входа для коротких позиций. Эффективность модели оценивается на всем портфеле. Цель состоит в том, чтобы найти набор правил, которые обеспечивают наилучшую эффективность торговли всем портфелем финансовых инструментов. Процедура, используемая здесь, отличается от наших более ранних исследований (Katz, McCormick, февраль 1997), где поиск оптимальных правил проводился на каждом рынке в отдельности - — подход, в большей степени подверженный эффектам вредной подгонки под исторические данные. Напомним вывод, полученный в отношении нескольких моделей, которые были первоначально оптимизированы на индивидуальных инструментах: при использовании одной модели для всех рынков без оптимизации или настройки под отдельный рынок эффективность данной модели может существенно понизиться. В нижеследующих тестах использовалась стандартная платформа C++, стандартные приказы входа и стратегия выхода.