16 июня 2015 long-short.ru
Вы должны избегать покупки торговых систем, потому что обычно нет способа точно знать, как они были разработаны. Есть множество средств для разработки торговых систем, которые используют дата майнинг (data mining), чтобы сгенерировать торговые системы, и которые они заявляют как устойчивые (robust). Однако, в зависимости от того, как это делается, тесты на устойчивость могут быть частью процесса дата майнинга с сильной предвзятостью (bias).
Есть множество веб-сайтов, которые продают торговые системы или их сигналы. Все больше появляются каждый месяц, позиционируя себя как количественные (quant) разработки. Вы также можете купить программное обеспечение, которое тестирует или даже генерирует торговые системы. Стоят ли чего-нибудь эти системы? В 99.99% случаев (и сколько хотите 9 дальше) эти системы ничего не стоят. Примеры:
- Внутридневные и свинговые торговые системы, основанные на индикаторах.
- Тренд-следящие системы, основанные на индикаторах и/или фундаменте.
- Схемы ротации ETF и акций на любом методе.
Если вы не знаете, как эти системы в точности были сгенерированы, тогда вам лучше не рассматривать их, потому что они могут быть результатом взлома статистической значимости (p-hacking, слепое прочесывание данных). И вот что я имею в виду.
Даже если разработчик заявляет, что системы были разработаны на одной выборке данных, а затем протестированы вне-выборки и даже протестированы на форвардных данных, правда заключается в том, что любой может найти систему, которая удовлетворяет этим требованиям, позволив алгоритму прочесывать исторические данные, пока желаемый результат не будет достигнут. Система, которая показывает отличные результаты, выбирается из большого, иногда огромного, числа кандидатов, и, хотя их результаты выглядят значительными вне-выборки, статистическая значимость была существенным образом взломана.
Однако, статистический тест применим только когда задействована единственная, и часто уникальная, гипотеза. Если задействовано множество гипотез, их значимость должна быть скорректирована на число, которое выходит довольно большим. В результате, значимости больше не остается.
Даже если разработчик не использовал одну из тех генетических программ, которые генерируют торговые системы тоннами, вы не можете знать, какое число параметров было оптимизировано явно или неявно. Переподгонка под данные имеет множество неприятных аспектов. Есть разные типы переподогнанных систем и разные способы придти к ним, например:
- Прямая оптимизация параметров.
- Косвенная оптимизация параметров.
В случае прямой оптимизации параметров разработчик, или генетический алгоритм, прямо корректирует параметры индикаторов таким образом, чтобы оптимизировать метрику результатов. Это наиболее опасный способ разработки торговых систем, поскольку безжалостно подгоняет результаты под исторические данные.
В случае косвенной оптимизации параметров, рынки, конкретные акции, исходная выборка, данные вне-выборки и данные форвардного теста перебираются, пока желаемые результаты не будут достигнуты. В большинстве случаев это не делается намеренно с целью кого-то обмануть, но таковы последствия неосведомленности о влиянии подгонки под данные и многочисленных выборов на значимость финального результата. Хотя опасность прямой оптимизации сейчас понятна многим квантам (quants), косвенная оптимизация остается темной зоной.
Какие тесты вы можете сделать
Давайте предположим, что вам предложили систему для торговли SPY и сказали, что она была прибыльной на выборке и вне-выборки. По причинам, изложенным выше, рассматривать эту систему было бы не очень хорошей идеей, если вы не можете сделать следующее:
1. Протестировать систему на всех имеющихся исторических данных. Вам нравятся результаты системы? Достаточно ли высок коэффициен Шарпа? Видите ли вы более высокую максимальную просадку, чем было заявлено?
2. Проверьте число параметров системы. Там больше двух параметров? Систему, имеющую много параметров, легко подогнать так, чтобы она показывала хорошие результаты и на выборке, и вне-выборки.
3. Возьмите какую-нибудь хорошо коррелированную со SPY акцию и протестируйте систему на ней. Результаты значительно ухудшились или даже стали негативными? Если да, это может значить, что система использует специфическую динамику своего рынка и не основана на оригинальной гипотезе о торговле на этом рынке. Хотя и нет ничего плохого в том, чтобы эксплуатировать специфическую для рынка динамику, но когда она меняется - система взрывается. Пример будет ниже.
Если вы не можете провести никаких тестов
В этом случае, может быть это не очень хорошая идея покупать систему, и вы должны вести свои собственные анализы и делать свои домашние задания. Включая случаи, когда код системы недоступен или нет возможностей провести эти тесты. Заметим, что на некоторых сайтах, продающих торговые сигналы, есть некоторые системы, показывающие уникальные результаты в реальном времени. Так было и в случае с одной форекс системой до того, как Швейцарский центробанк отменил привязку к евро. Система показывала исключительные результаты в реальном трейдинге, но использовала специфические для рынка свойства - привязку к евро. Прибыль многих месяцев или даже лет исчезла в течение одного часа, превращая очень прибыльную систему в очень убыточную. Можно было определить зависимость от специфических свойств рынка с помощью теста на аналогичных форекс парах.
Наконец, заметим, что суть этого поста не в том, что все торговые системы на продажу бесполезны, а в том, что ваши способы узнать как они разработаны очень ограничены. Например, они могут быть артефактами беспрерывного дата майнинга. Игнорируйте все заявления по поводу того, что предвзятости (bias) дата майнинга были измерены и скорректированы. Они обычно результат большого недопонимания того, что такое есть предвзятости дата майнинга. Предвзятости дата майнинга не могут быть измерены, потому что относятся к качеству очень сложного процесса, а не к специфическому количественному свойству.
http://www.long-short.ru/ (C) Источник
Не является индивидуальной инвестиционной рекомендацией | При копировании ссылка обязательна | Нашли ошибку - выделить и нажать Ctrl+Enter | Отправить жалобу