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

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

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

Настройка (подгонка)

Рисунок 19. Тестовый и валидационный период

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

Опираясь на пример стратегии «Черепах», рассмотрим, какие параметры мы могли бы настраивать в процессе оптимизации.

1. "Чувствительность" системы к формированию трендов увеличится, если вход будет осуществляться при пробое менее значимых уровней (например, вместо 20-часового максимума или минимума можно использовать 10-часовой). Это приведет к тому, что система будет чаще входить в рынок, а значит, совершать больше сделок. С одной стороны, это - плюс. Но с другой стороны, такая, более "чувствительная" система будет реагировать на большее число ложных пробоев, а значит, количество убыточных сделок (также количество убыточных сделок, следующих подряд) существенно повысится. При снижении "чувствительности" сигналов станет меньше, а это значит, что система будет с более высокой вероятностью отлавливать действительно значимые тренды. Однако, при этом, такая система будет входить в рынок значительно реже, и большую часто времени капитал не будет работать, а будет "простаивать".

2. Аналогичным образом можно изменять "чувствительность" системы к разворотам, уменьшая степень важности экстремумов, дающих сигнал на выход.

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

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

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

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

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

Следующая Предыдущая