Даже когда в торговую систему заложена хорошая идея, всё это подтвердилось на результатах и общие статистические показатели показывают себя неплохо, возникает вопрос: какие параметры выбрать для реальной торговли?
Я опишу как осуществляю свой отбор. Этот вопрос и для меня долго оставалось проблемой, меня всегда интересовало два элемента:
— Стабильность РЕЗУЛЬТАТОВ на различных частях истории, здесь я учитывал все показатели, начиная от прибыли и максимальной просадки
— Стабильность ПАРАМЕТРОВ по сравнению с другими, участвовавших в оптимизации
Часто тестирую торговые идеи в программе ТС Лаб, там можно все выводить и хранить в Exel, и я решил сделать дополнительную программу для обработки результатов тестов. Данный файл я назвал Test Manager. Програма состоит из двух частей.
Здесь идея заложена в том, чтобы отобрать, из разных частей истории, именно те варианты, которые подходят по моим критериям. Критериями может служить что угодно из того, что выводится с ТС лаб в Exel. Например: доход, просадка. В результате, после обработки этих данных, я получаю все те варианты, которые отбор и соответствуют параметрам, которые я задал в начале. Здесь я сразу же веду для себя еще однин показатель: сколько параметров, из общего количества, являются стабильными. Мне попадалось много систем, где за каждый кусок я находил хорошие результаты, но, в общем, не находил ни одного стабильного.
В ТС Лаб или в Exel можно сортировать полученные результаты, по различным критериям. И для того, что определить стабильность того или иного параметра, я использую метод выставления оценок каждому параметру, согласно его размещения, в общих результатах на истории. То есть, один параметр, будет иметь другую оценку, в каждой результате, а считается средняя оценка, с учётом всех периодов. В результате, чем меньше оценка параметра, тем выше он находится в каждом из вариантов. Здесь важно, провести несколько таких тестов, по разным параметрам. Например: один по прибыли, другой по просадке (сортировать от минимальной до максимальной), другой по профит фактор или фактора восстановления.
Весь этот процесс, который описан в 3 статьях, я использую на практике. Буду рад видеть идеи по усовершенствованию данного процесса оптимизации.
Поясняю.Для российских акций
2008 год не похож на 2009, а 2009 не похож на 2013.
В 2008 году было сильное падение. Мы вправе ждать, что шортовые системы будут очень прибыльными. В 2009 году был период сильного роста, мы вправе ждать, что лонговые системы будут сильно прибыльными. 2013 год был год относительно низкой волатильности и относительно менее мощных трендов.
Ясно, что СТАБИЛЬНОЙ прибыльности лонговых, шортовых систем во всех трех случаях ждать трудно (ну, если мы не говорим о чем-то высокочастотном). Но вот просто прибыльности и лонговых и шортовых систем во всех отих случаях требовать надо. точно также, желательно требовать, чтобы их просадки были ограничены независимо от состояния рынка.
Таким образом, мы не станем добиваться от системы, чтобы каждый год был стабильный результат и по лонгам, и по шортам +20% годовых, например. Пусть он нигде не хуже, чем 10%, но иногда будет 100%. Стабильность доходности, имхо, требование избыточное.
Да и для риска, важна его ограниченность. Пониженный риск в благоприятных условиях не есть признак плохой системы.
С другой стороны, если у меня много разных систем с ограниченным риском, я могу собирать из них портфель, характеристики которого будут лучше, чем у средней системы, в него входящей. И риск переоптимизации отдельно взятой системы будет ниже. В сущности, процесс добавления систем в портфель и выведения из портфеля — естественный элемент системного трейдинга.
Проблема оптимизации не в программе-оптимизаторе, а в понимании сути процесса. Если дело было бы просто в выборе хорошего оптимизатора, уже давным-давно всех трейдеров мира заменили бы нейронные сети и прочие системы распознавания образов.
Ни переборные, ни генетические, ни какие еще стандартные оптимизаторы не умеют отвечать на неясно сформулированные вопросы. И никакая нечеткая логика, никакое взвешивание критериев не помогают.
При оптимизации смотрю следующие вещи:
1. Отношение «Средняя прибыль в год»/«максимальную просадку за все время».
2. «Прибыль»/«Количество сделок» (для понимания сколько проскальзывания и комиссии могу себе позволить)
3. Система с такими же параметрами должна показать хороший результат на других схожих инструментах. Например, если система трендовая на ФОРТс, то она должна показывать приемлемый результат на других трендовых инструментах ФОРТС.
4. На одном счете держу разные системы, поэтому в тестах складываю эквити всех систем в одну и оцениваю ее визуально, отдельно рассматривая провалы, для определения веса системы, которая создает большие ямки.
6. В случае получения на практике просадки больше расчетной, принимаю решение стоит ли оставлять эту систему в портфеле, либо менять на новую.
При оптимизации я предпочитаю среднеквадратичную оценку просадки за весь период.
Это число меньше максимальной просадки в несколько раз, может быть в 5-6 раз. Неважно, оно отражает именно среднюю склонность системы жить в просадке.