Продожаем пуликовать перевод книги
Perry J. Kaufman — Smarter Trading: Improving Performance in Changing Markets (McGraw-Hill, Inc.). Chapter 10: «Testing for Robustness»
Перед тем, как приступить к тестированию, необходимо определиться с критериями торговой системы и составить полный список правил и план тестов. Вы должны указать компьютеру, над чем ему нужно будет поработать — не допускайте, чтобы компьютер указывал вам. Не перепрыгивайте с одной идеи на другую, поскольку это только усложнит процесс. Постарайтесь следовать изначальному плану и доведите его до логического завершения, подробно разобрав все его преимущества и недостатки.
Начало тут
Проверка устойчивости торговой системы. Введение. Что и как тестировать
Шаг № 1. Является ли ваша стратегия логически обоснованной?
Все ли правила вы сформулировали прежде, чем начать тестирование? Как вы пришли к идее вашей торговой системы? Наиболее успешные торговые стратегии часто основываются на вполне логичных предположениях относительно экономических факторов и зависимостей (например, арбитраж, сезонность и цикличность, спреды между сильными и слабыми рынками) или наиболее состоятельных аспектов технического анализа (например, прорыв уровня поддержки и сопротивления, продажа волатильности при помощи опционов, торговля расхождений в динамике цен). Доверить компьютеру процесс поиска субъективных кратковременных закономерностей в ценах — не лучшая идея, независимо от того, насколько удобным это кажется. Ценовые паттерны можно отыскать всегда и везде, но вот их прогностическая ценность весьма сомнительна и они могут исчезнуть так же внезапно, как и видоизмениться.
Когда вы разрабатываете вашу торговую систему, идея в ее основе должна иметь смысл конкретно для вашего рынка, отвечать вашим представлениям о нем и вашим целям. Например:
— для фондового рынка вы вполне могли бы предпочесть стратегию долгосрочных покупок без использования коротких позиций;
— для рынка облигаций наиболее консервативной была бы долгосрочная система, которая отслеживает глобальные изменения в экономике и политике правительства;
— для рынка иностранной валюты вполне подошла бы краткосрочная стратегия совершения сделок в направлении прорыва локальных уровней с близким тейк-профитом и ограничением на перенос открытых позиций через ночь.
Использование логически обоснованных идей.
Хорошая идея не обязательно должна базироваться на фундаментальных экономических факторах. Годы наблюдений за ценовыми колебаниями на валютной площадке Чикагской биржи могли бы подкинуть вам хорошую идею, что самые лучшие сигналы на открытие позиций поступают, в основном, во время трех периодов максимальной торговой активности: во время открытия торгов, перед закрытием и сразу после ланча, когда трейдеры возвращаются к работе. Очень важное правило для разработчика торговых систем — это четко осознавать, что конкретно он собирается сделать. Вы всегда должны держать процесс под контролем.
Начать с одной идеи, а закончить другой.
Вы должны убедиться, что результаты компьютерного тестирования не уводят вас в сторону от вашей изначальной идеи, иначе хорошая стратегия может легко превратиться в набор бессмысленных и случайных паттернов. Человеку свойственно заблуждаться, пытаясь объяснить самодостаточность и осмысленность стратегии тем, что на исторических тестах она уже показала хорошие результаты.
Шаг № 2. Все ли необходимые правила вы можете запрограммировать?
Используете ли вы в своей системе какие-нибудь правила или условия, которые не поддаются формализации или программированию? Стратегия, которая не может быть протестирована, не может называться полноценной торговой системой. Если вы считаете, что не можете попасть на резкое изменение цены только потому, что система не оставляет позиции открытыми на ночь, вы подвергаете себя риску огромных и неожиданных убытков, возможной недостаточной капитализации и справедливой критике вашего подхода к торговле. Для успешного трейдинга очень важно четко прописать все необходимые правила для совершения сделок. Вы должны быть полностью уверены, что можете четко и однозначно объяснить все условия для входа и выхода из позиции, все правила управления рисками, все типы используемых биржевых приказов и все прочие аспекты вашей торговой системы. Полностью формализованные правила могут помочь вам в выборе необходимых для тестирования данных (нужны ли вам только данные с биржи или потребуются макроэкономическая статистика и другие неценовые данные), необходимая дискретность и объем котировок (тиковые котировки с объемами или 30-минутные свечи).
Пример внутридневного прорыва.
Начнем с самой простой системы, опуская аспекты риск-менеджмента, уровня целевой прибыли или более продвинутых техник входа в позицию. Если вы считаете, что идея внутридневных прорывов локальных уровней является вполне здравой, тогда сперва протестируйте только входы при пробитии уровней с основными критериями на выход из позиции. Это могут быть условия на закрытие позиции в конце дня или закрытие позиции, если цена разворачивается и движется в противоположном направлении. Вам важно узнать, что в основе вашей идеи лежат входы с достаточным статистическим преимуществом еще до включения дополнительных систем и блоков по контролю за прибылями и убытками.
Затем определите, какие из параметров системы можно изменить. Вы знаете, чтопрорыв уровня рано утром имеет больший потенциал прибыли, поскольку до конца торговой сессии остается больше времени. Поэтому вы вполне можете протестировать время, когда произошел прокол уровня. Возможно, вы не захотите открывать позицию, если сигнал поступил в конце дня, потому что потенциал последующего движения сильно ограничен во времени.
Если торговая система полностью запрограммирована, то вы можете позволить себе смотреть данные не чаще, чем раз в пять минут. Хотя вы и сможете исполнить полученный от системы сигнал в течение 60 секунд, но на практике этот отрезок времени вряд ли можно назвать качественным исполнением торгового приказа. Использование пятиминутного тайм-фрейма вместо минуток заметно ускорит тестирование стратегий. Поэтому, прежде чем приступить к тестам, вы должны понять, что результаты внутридневной пробойной системы сильно зависят от выбранного периода времени и времени входа в позицию, уровня целевой прибыли для тейк-профита и правил риск-менеджмента.
Пример тренд-следящей системы.
Все торговые системы имеют несколько схожих элементов: правила для открытия и закрытия позиции, управление торговыми рисками и, иногда, условия для принудительного закрытия прибыльной позиции. В системах слежения за направленными ценовыми тенденциями добавляются еще параметры для определения скорости трендов. Она может сильно отличаться в зависимости от ваших целей и предпочтений. Стратегии для ловли трендов на рынке акций, торгующие с небольшой загрузкой, обычно ориентируются на диапазон от 50 до 500 дней. Фьючерсные трейдеры, торгующие с высоким плечом и низкими маржинальными требованиями, предпочитают более быстрые тренды в диапазоне 5-30 дней.
Большой ошибкой станет использование скользящих средних для внутридневной торговли. На этих временных интервалах, когда период между наблюдениями становится все короче, заметно повышается уровень шума. Из-за временного недостатка ликвидности или торговой активности, который периодически проявляется на всех рынках, цена может резко перепрыгнуть на новый уровень абсолютно в любом направлении, не демонстрируя устойчивой ценовой динамики. Это приводит к частым ложным сигналам, которые невозможно отфильтровать усреднением внутридневных колебаний. Внутридневной шум вкупе с запаздыванием трендследящего подхода являются большим препятствием для торговых систем такого плана.
Шаги 3 и 4 тут
http://robostroy.ru/community/article.aspx?id=680