Тел.факс: +7(831)437-66-01
Факторинг  Разработка торговых систем 

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 [ 21 ] 22 23 24 25 26 27 28 29 30 31 32 33 34

ность или убыточность системы может зависеть от разных наборов параметров. Именно поэтому столь важна правильная оптимизация.

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

В этой главе будет представлена технология оптимизации. Для понимания методологии грамотной оптимизации необходимо хорошо разобраться во всех вопросах, поставленных в Главе 4. В Главах 8, 9 и 10 будут представлены полезные подробные руководства, касающиеся других важных аспектов оптимизации.

Оптимизация

Для описания оптимизационного процесса можно использовать несколько одинаково необходимых терминов: тестовая связка (test batch), тестовый прогон (test run), сканирование переменных, вычислительный процесс и т.д. В этой книге слово оптимизация будет означать отбор параметров. Цель оптимизации - найти значения параметров модели, которые будут давать пиковую эффективность торговли в реальном времени.

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

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

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

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

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

Основы оптимизации

Технология оптимизации проста, однако, она требует осторожности и аккуратности (См. Рис. 7-1). У оптимизации есть пять составляющих: (1) отбор параметров модели и (2) установка диапазонов их сканирования; (3) должен быть установлен объем выборки; (4) для нахождения лучшей модели должен быть задан правильный метод оценки; (5) должен быть выбран критерий оценки тестового прогноза в целом.

Отбор параметров

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



Наладить оптимизацию

Выбрать данные

Выбрать метод оценки модели

Создает ли 3toV

адекватную выборку сделок/

Выбрать оптимизируемые параметры

Выбрать диапазоны сканирования параметров


Рис. 7-1. Основы оптимизации.

лать его кандидатом на оптимизацию. Вместо этого ему следует присвоить на время оптимизации фиксированное значение (константу).

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

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

Выбор диапазона сканирования

При выборе пригодного диапазона для тестирования параметра руководствуйтесь двумя принципами. Первое, диапазон должен соответствовать данному индикатору, правилу или модели. Другими словами, сканирование диапазона от 1 до 1000 дней для краткосрочной скользящей средней противоречит понятию краткосрочности (обычно от 3 до 10 дней) и выходит далеко за рамки обычного диапазона, применяемого для скользящих средних (например, от 3 до 200 дней). Для краткосрочной скользящей средней более разумным был бы диапазон сканирования от 1 до 13 дней.

Необходимо контролировать и время вычислений, требуемое тем или иным диапазоном сканирования. Это становится особенно важным при сканированиях нескольких переменных. Для сканирования диапазона скользящих средних от 1 до 13 дней с шагом 2 требуется всего семь тестов, что с точки зрения времени вычислений незначительно, независимо от скорости выполнения отдельных тестов. Сканирование диапазона от 1 до 200 с шагом 1 требует уже 200 тестов, что более чем в 28 раз больше, чем при первом сканировании. И это теряет смысл, если данный параметр слабо влияет на эффективность или если сканируемые значения выходят за рамки нормального диапазона.

Размер шага, с которым сканируется диапазон, важен не только с точки зрения потребности в машинном времени. Слишком тщательное сканирование переменной может израсходовать не только компьютерное время; оно может по невнимательности привести вас к настраиванию на кривую , особенно если вами не были приняты надлежащие меры предосторожности от выбора всплеска прибыли вместо холма прибыли. Валидным было бы сканирование краткосрочной скользящей средней от 1 до 13 дней с шагом 1 день.

Сканирование долгосрочной скользящей средней от 10 до 200 Дней с шагом 1 день будет повышать вероятность подстраивания под кривую, снижать валидность результатов и увеличивать вре-



МЯ на получение результатов. Причина этого в том, что 5-процентное изменение этой средней при длине 100 дней дает средние с периодами 95 и 105. Сравните это с 5-процентным изменением при периоде 20 дней, которое дает 19-дневную и 21-дневную средние. Тесты на периоде 100 чаще в 5 раз.

Выбор данных

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

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

Рассмотрим следующий пример. Торговая модель, использующая 2 скользящих средних, тестируется на выборке данных за 200 дней. Самая длинная скользящая средняя может иметь период 50 дней. Для ее вычисления используются данные за 50 дней, что приводит к потреблению 50 степеней свободы. При этом остается лишь 150 дней, которые могут генерировать сигналы. Если генерируется 5 сделок, мы имеем 2 скользящих средних, стоп-лосс, и т.д... (те., 5 правил продуцируют 5 сделок). Следовательно, этот тест должен быть либо отменен, либо модифицирован. Модифицировать его можно путем увеличения числа точек данных в выборке, сокращения периода длинной скользящей средней в данном тесте или исключением ограничивающих правил.

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

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

Выбор метода оценки модели

Принципы выбора метода оценки - целевой функции или тестового критерия - уже были подробно описаны в Главе 5, Поиск и оценка . На этой стадии оптимизации необходимо выбрать метод оценки. Цель - использовать метод оценки, отбирающий в процессе оптимизации наиболее устойчивую модель. В зависимости от требований, предъявляемых разными типами торговых моделей, методы оценки тоже могут бьггь разными.

Выбор метода оценки тестовых результатов

Результаты оптимизации тоже требуют оценки. В первую очередь, необходимо оценить их на статистическую значимость. Вспомните, что 1% всех тестов будет иметь высокую значимость , а 5% всех тестов будут статистически значимыми . Это означает, что если найдена топ-модель, и лишь 1% или примерно 1% всего тестового прогона оказывается прибыльным, то, по всей вероятности, данная топ-модель в статистическом плане является несостоятельной, а потому, скорее всего, не будет достаточно устойчивой. Аналогично, если лишь 5% всего теста будут иметь предельно-допустимую прибыльность, такая топ-модель также скорее всего будет статистической аномалией, не имеющей достаточной устойчивости.

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

Второй способ оценки оптимизационного прогона - по форме пространства результатов. Если топ-модель представля-



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 [ 21 ] 22 23 24 25 26 27 28 29 30 31 32 33 34