Moysha-online - Данные и обратное тестирование
B системных торгах существует школа взглядов, которая утверждает, что необходимо, по крайней мере, 30 торгов на данном наборе данных, что бы сделать систему работоспособной. По-моему, это не соответствует истине. Особенно в отношении кратковременных торговых систем и дневных рынков (которые мы рассмотрим позже в этой серии). Более 100 торгов - необходимое количество для одного набора тестируемых данных, которое, я уверен, гораздо более соответствует потенциально сильной системе. Важный момент в создании современных торговых систем - это возможность использовать персональный компьютер для проверки результатов. Одна из самых больших проблем торговцев, впервые приступающих к системным торгам - это сформулировать идею, затем проверить ее на данных, отладить несколько раз систему стопов и, наконец, оптимизировать идею, чтобы получить наилучшую из возможных систему. Но, к сожалению, наилучшая система это, фактически, нечто большее, чем система идеально отлаженная на прошедших данных.
Откажитесь от этого немедленно и начните снова, иначе вам будет казаться, что история повторяется до самого последнего шага!
Когда дело касается тестирования, часто имеет смысл вначале проверить
саморегулирующуюся систему без начального стопа. Затем вы можете проверить
надежность входящих сигналов в деталях и лишь потом все остальное.
Тем не менее, имея дело с не саморегулирующейся системой, важно начать тестирование
с методики остановки и входа в самом начале, иначе слишком высок риск провала такой
системы.
Набор данных, используемых для тестирования, конечно же, в значительной степени повлияет на результаты. Например, набор схожих данных, связанных с системой с "узкими" стопами повлечет за собой большое количество потерь. И еще, вспомните предупреждение в ранних статьях этой серии об использовании дневных данных для наиболее точных результатов тестирования, когда торгуете с "узкими" стопами, которые меньше недавнего торгового диапазона. С другой стороны, "широкий" стоп предупредит частые мелкие потери (которые накапливаются, помните об этом).
Конечно, большие потери - неприятная вещь по своему определению, но возможно они представляют собой наилучший путь. Даже самые небольшие поправки к "узким" стопам способны значительно повлиять на доходность системы. Модулирование бОльших стопов, даже с изменением в несколько сотен долларов за один раз - неспособно сильно изменить общую доходность. Начиная с "узкого" стопа и расширяя его постепенно, вы увидите, как быстро изменяется результаты системы (возможно с увеличением доходов!). Постепенно изменения станут не такими быстрыми, по мере того, как величина стопа будет становиться шире. Таким образом, когда вы преодолеете некоторый предел изменчивости, увеличение в размере начального стопа будет иметь не большое значение для эффективности всей системы.
Теперь взгляните на наши данные. В нашем случае, чем их больше, тем лучше. Многие торговцы склонны считать, что 10 лет - это хороший минимум, но 12 лет -предпочтительней. Тем не менее, будет проблемой найти производные рынки, серьезно торгующие 10 лет.
В то время, как количество контрактов с такой базой данных увеличивается, я могу добавить, что модернизаторы системы обычно избегают рынков в первые 2 года действия.
Это происходит потому, что рынки развиваются и растут в течение первых 2-х лет, до того момента, когда их можно будет считать достаточно зрелыми, чтобы их учитывали системные торговцы. Мы обсудили возможность синтезировать данные из реального мира цен, чтобы позволить проводить практически неограниченное тестирование на более поздней стадии в этой серии.
Тем не менее, тот, кто просто тестирует свою систему на всех доступных данных, вынужден подгонять отклонения для достижения совершенства. Наилучший способ - это разбивка данных. Системные торговцы имеют различные подходы к этому. Многие разбивают данные на две части. Набор развития и набор тестирования. Это позволяет вам использовать один набор данных для реального создания системы и другой - для тестирования системы без каких-либо модификаций или оптимизаций. Я предпочитаю другую систему деления данных - на три равных секции:
ф • Набор "Развитие".
ф • Набор "Обратное тестирование".
ф • Набор "Прохождение".
С первым набором данных мы развиваем свою систему, моделируя о оптимизируя параметры, будучи осторожными с этими вездесущими опасностями подгонки искривлений. Затем, развив систему, мы применяем к ней обратное тестирование, таким образом, снова просматривая результаты. Если результаты не слишком впечатляющие, тогда возвращаемся к графикам. Если за эти два периода обнаружен возможный значительный доход, мы переходим к финальному тесту "Прохождение" на третей порции доступных данных.
Преимущество этого в том, что мы можем наблюдать торги в развитии, один за другим и видеть,
как в действительности двигается рынок в пользу нашей системы и против нее. Тесты "Прохождения" являются важной предпосылкой развития систем, т.к. они:
о Могут дать нам лучшее "ощущение" того, как работает наша система, обеспечивая нам уверенность в ее возможностях;
о Позволяют нам определять, удовлетворяют ли действия системы нашему стилю торгов.
Последний пункт - наиболее важный, и мы будем возвращаться к нему в этой серии. Как уже упоминалось в начальных разделах, вопрос о применении системы, работающей краткосрочно в ситуациях с высокой степенью изменчивости, не стоит, если вы торговец, не склонный к переменам. Система должна отражать ваши сильные стороны в торгах, а не ваши слабости. Таким образом, если вам не нравится удерживать позиции, которые играют против вас в течении недель, такая система не для вас.
Кроме того, чем выше уверенность в том, как работает ваша система, тем больше вероятность того, что вы будете продолжать пользоваться ею в течении ее первого периода получения убытков (Drawdown).
Закон Мерфи для торговых систем гарантирует вам, что первый значительный drawdown начнется вскоре после подключения торгов к реальному времени. Это может произойти до того, как система принесет вам значительный доход, и даже съесть часть вашего начального капитала. Чем более вы уверены в своей системе, тем больше вероятность того, что вы преодолеете подобные трудные времена.
Говоря о разбивке данных, если использовать данные 12 лет, 1986-1997г.г., грубая система будет выглядеть так:
о "Развитие" 1986-1989г.г. о "Обратное тестирование" 1990-1993г.г. о "Прохождение" 1994-1997г.г.
Конечно, если имеется набор тестов, мы можем проверить результаты, чтобы видеть, где работала тестируемая система. Очевидно, если мы имеем начально созданную систему на наборе данных в сложных условиях, то не удивительно, что она будет работать плохо на других рынках с другими условиями.
Таким образом, вам необходимо использовать свой интеллект, выбирая набор "Развитие".
Лучше всего взять период в 4 года, который показывает понемногу все формы рыночной активности - подъемы, падения и боковое движение, т.к. оптимизируя систему, которая создана с использованием набора данных, относящихся к определенному направлению (условиям), вы не сможете создать хорошую дееспособную систему. Кроме того, система, созданная на наборе данных, которые отражают очень низкую волатильность покажет ужасные результаты, если рынок "выпадет" из зоны ограничения.
Содержание раздела