Механизм трейдинга. Как построить бизнес на бирже? - Тимофей Мартынов
Шрифт:
Интервал:
Закладка:
Требования к количеству сделок на тесте повышается при использовании подхода «Сверху вниз», который мы также разбирали в седьмой главе. Если вы уловили закономерность в процессе датамайнинга и не до конца понимаете логику ошибки, делайте как можно больше сделок на тесте и проверяйте их в соответствии с первым и вторым критериями, приведенными выше. Бывает, что требование к большому числу сделок возникает даже в случае, когда вы понимаете логику, но ваше статистическое преимущество незначительно: например, если вероятность прибыльной сделки составляет всего 51 %.
На практике если вы оцениваете систему за последние несколько лет, то результаты каждого года не должны сильно отличаться. Это также будет свидетельствовать о статистической устойчивости метода.
Есть и еще одна практическая подсказка от успешных алготрейдеров относительно размера выборки тестирования. Важно, чтобы число сделок на тесте было выше числа «особей» варьируемых параметров системы. Желательно, чтобы 50 % «особей» были жизнеспособны. Что это значит? Допустим, есть два параметра оптимизации. Первый может принимать три различных значения, а второй – пять. Следовательно, число всевозможных «особей» равно: 3 × 5 = 15. То есть число сделок на тесте должно быть >15, а система должна показывать хорошие результаты как минимум в 8 из 15 параметров.
Итак, мы сформулировали требования к размеру выборки. Из этой книги вы узнали, что рынок может пребывать в трех состояниях: тренд, контртренд и случайные блуждания. На случайном рынке с учетом издержек торговли (TC) заработать не получится никак. Ваша торговая система может быть трендовой или контртрендовой на данном таймфрейме тестирования. Трендовая система будет зарабатывать на трендовом рынке, терять на контртрендовом и наоборот. Для того чтобы тест получился достоверным, система должна захватить и трендовую, и контртрендовую фазу инструмента. Если вы тестируете трендовую систему только лишь на трендовой фазе, то очевидно, что она даст совершенно обратный результат, как только фаза рынка изменится. А когда она изменится, вы никогда заранее не узнаете. Поэтому хорошая система должна ограничивать убытки в неудачной фазе и выжимать максимум возможной прибыли из удачной фазы. Итак, сформулируем третий критерий.
Критерий 3. Оценка системы должна захватить все фазы рынка.
Однако надо иметь в виду, что если вы тестируете одну систему, то на практике третий критерий будет противоречить второму, поскольку трендовая система не сможет зарабатывать на контртрендовой фазе рынка (как и наоборот). Следовательно, система окажется не способной одновременно захватить все фазы рынка и показать равномерный рост на всех временных интервалах.
До сих пор мы рассматривали критерии оценки систем, которые продемонстрировали успешный результат на тесте. Тем не менее любая система несет в себе риск, и мы должны этот риск оценить. Введем понятие «яма системы», которая является максимальной просадкой от последнего максимума до самого минимального минимума.
Рис. 82. Яма системы на графике тестов
Ее можно рассчитывать в пунктах на контракт или в процентах от максимума.
Критерий 4. Смело умножайте яму системы на два и проверяйте, осталась ли система положительной.
Этот эмпирический вывод следует из реальной практики алготрейдинга. Однако на истории вы никогда не можете быть уверены в том, что виденная вами «яма», которую вы видели, была максимальной из возможных (особенно если представлена недостаточно большая выборка).
Даже самые точные тесты на истории почти всегда дают лучший результат, чем покажет система на реальном рынке. Этот практически полезный критерий также помогает оценить качество системы, если вы тестируете ее на недостаточно большой выборке. Например, вы применили четвертый критерий к результатам тестов, изображенных на рисунках. В данном случае первая тестовая кривая будет забракована, даже несмотря на общий положительный результат. Таким образом, умножение максимальной просадки на некоторое число помогает снизить влияние случайного разброса на результат.
Итак, допустим, наша система прошла все критерии отбора и готова быть запущенной в работу. Что еще мы пропустили? Напомню, что эта система имеет одинаковый стоп-лосс (AL) и тейк-профит (AP), она смоделирована из допущения, что нам удалось получить 60 % прибыльных сделок (PP). Мой личный опыт показывает, что если взять очень маленькие значения AL и TP, то при помощи перебора всех возможных параметров нетрудно будет получить гладкую растущую кривую. Однако важно понимать: при уменьшении значения TP показатель торговых издержек (TC) будет оказывать все большее и большее влияние на результат средней сделки. Это следует напрямую из формулы:
AR = [AP × PP – AL × LP] – TC.
В главе 6.3 мы рассматривали пример того, как увеличение объема позиции увеличивает влияние издержек на средний результат сделки из-за роста проскальзывания и способно испортить огромное количество систем. Средняя сделка системы без учета издержек не должна быть слишком маленькой, например, меньше 0,1 % цены актива:
AP × PP – AL × LP > 0,1 %.
Логика в том, что если вы будете чересчур мельчить, то вам придется иметь слишком большое положительное матожидание, чтобы вытащить суммарный результат системы в плюс.
Но все активы разные, с совершенно различными характеристиками ликвидности и комиссионных. В этом смысле разумно соотносить среднюю сделку именно со средними издержками на нее. Сформулируем данную мысль максимально просто.
Критерий 5. Увеличьте издержки на сделку в 1,5–2 раза от ваших расчетных значений и проверьте, осталась ли система работоспособной.
Нам известно, что трендовые системы характеризуются большими значениями AP, в то время как контртрендовые имеют более высокую вероятность прибыльной сделки. В этом контртрендовые трендовые системы гораздо чувствительнее к пятому критерию, чем трендовые.
Критерий 5 также особенно важен, если на тесте совершается не очень много сделок. Если же речь идет об HFT-алгоритме, то упомянутый критерий 5 вообще не применим, поскольку он убьет любой результативный алгоритм. Тестирование высокочастотных алгоритмов требует изначально очень точной оценки издержек.
Кроме того, важно понимать, что на акциях и фьючерсах издержки могут сильно отличаться, поэтому одна и та же торговая система, чувствительная к издержкам, способна давать различные результаты на различных рынках.
Проблема 2