В какой степени диапазон данных, используемых в тестах, влияет на эффективность системы транзакций? Я собираюсь посмотреть на это ниже.
На этот раз источником будет статья, взятая из августовского номера « Currency Trader » Даниэля Фернандеса, который довольно регулярно публикует идеи для стратегий / систем и делится своими знаниями об эффективности механического подхода. Проблема важности тестовых периодов казалась чрезвычайно вдохновляющей и достойной представления, статистически и визуально задокументированной им и опубликованной под заголовком «Разработка системы форекс-трейдинга: превосходящая ваш тест» .
Однако я начну с того, что в представленных тестах он использовал созданную им программу под названием « Kantu », которая используется для механического построения или, скорее, обнаружения транзакционных систем. Фернандес, однако, не занимается навязчивой рекламой, поэтому мне бы это не понравилось, но для понимания темы вам нужно мини-введение в этом отношении.
Ну, задача «Kantu» (это довольно легко найти в поисковой системе) состоит в том, чтобы автоматически создавать системы, основанные исключительно на ценовых системах, найденных в загруженных в него данных. После установки собственного диапазона критериев, доступных для программного обеспечения, программа осуществляет поиск данных, выявляя повторяющиеся отношения между ценами, создавая на этой основе алгоритмы, которые могут быть дополнительно протестированы на данных, не замеченных в тестах, и создавая базу данных потенциально наиболее эффективных решений для торговли механическим способом в будущее.
Кстати, я нашел бесплатную электронную книгу, созданную Фернандесом, посвященную системной торговле на рынке форекс (к сожалению, только на английском языке). Я должен признать, что он объясняет проблемы, которые могут возникнуть во время игр с системами, доступным способом. На этот раз без всяких проклятий я дам адрес, где его можно найти:
http://entirely4you.com/free_ebook.pdf
И используя «Kantu», автор выполняет тесты и инкапсулирует их с описанием трех категорий экспериментов, в которых он показывает отношения между периодом данных, использованных для построения системы (так называемый в выборке), и эффективностью проверки данных, которые не были замечены во время построения ( так называемый вне образца).
Первоначальные предположения были одинаковыми во всех трех случаях:
1. Использовались дневные данные по паре EUR / USD, период январь 1986 г. — август 2012 г.
2. Диапазон данных в выборке постепенно покрывается от 500 до 5000 дней
3. Объем данных вне выборки постепенно покрывался от 200 до 800 дней
4. В ходе выборочного испытания каждый раз генерировалось 5000 систем на основе ценовых зависимостей, результаты которых были положительными и для которых коэффициент детерминации (R2) составлял 0,9.
Примером одиночного теста было следующее:
Для данных в выборке за 2000 дней (например, с 1 августа 2000 г. по 22 июня 2006 г.) были сгенерированы 5000 систем, упомянутых выше, и затем они были протестированы на следующей выборке данных вне выборки, например, за 200 дней. (за период с 23 июня 2006 г. по 11 августа 2006 г.).
ТЕСТ 1. выживание
Он должен был ответить на вопрос, сколько процентов сгенерированных систем выжили с прибылью, если они были выпущены по «ранее невидимым» данным. Другими словами: такая симуляция отвечает на вопрос, какой теоретически оценивается часть созданных механических систем в реальной торговле. Результаты показаны на диаграмме ниже, взятой из статьи:
Источник: валютный трейдер, август 2013 г.
Как это прочитать:
В горизонтальном масштабе у нас есть количество дней, использованных в данных выборки (то есть, для построения системы). Еще 500 были загружены для тестирования каждый раз.
Вертикальная шкала показывает процент тех, кто выжил с прибылью на новых данных вне выборки.
Наборы данных вне выборки были отмечены довольно гладко отдельными цветами.
Например, зеленая точка, обозначенная моей стрелкой, означает, что из 5000 прибыльных систем, построенных на основе данных за 500 дней, в среднем менее 50% из них выжили, выпущенные для проверки около 400 дней подряд.
Я также обозначил этот предел в 50% на графике — горизонтальной желтой линией. Как видите, почти все системы, расположенные в наборе данных, охватывающем менее 3000 дней, не превышали этот уровень. Что приводит к выводу, что самое большее каждая секунда испытывает данные, не видимые при его построении. Поэтому мы имеем дело с возможностями чуть хуже, чем на уровне случайности (как при подбрасывании монеты).
Возможности выживания увеличиваются с количеством дней, использованных для построения системы. В лучшем случае, то есть данных за 5000 дней, существует вероятность, что почти 65% систем выживут в тесте с «ранее невидимыми» данными за 800 или более дней (самая высокая синяя точка).
Что это значит?
Можно сделать некоторые приблизительные выводы, но только в отношении всех систем, основанных только на ценах (свечные системы, ценовые каналы, классические технические формирования, поддержка / сопротивление и т. Д.). Чем больше период данных, используемых для их построения, тем выше шанс на выживание. Это очевидно, потому что система во время создания имеет шанс «увидеть» все виды рыночных условий — бычий, медвежий и колеблющийся с различной волатильностью.
Во-вторых, чем длиннее строки данных, которые не видны во время тестирования вне выборки, тем выше вероятность того, что система выживет (см. Это после цветов точек для этих тестов более 3000 дней). Проще говоря, если у системы есть реальное статистическое преимущество, ее легче будет продемонстрировать позже в долгосрочной перспективе на новых данных. В тесте вне выборки короткие периоды часто могут охватывать только системные слайды, более длительные периоды также должны учитывать благоприятные условия (так называемые прогоны).
Тестирование долговечности транзакционных систем
26.04.2020Стратегии