Форум трейдеров » Торговые роботы, советники, индикаторы » Механические торговые системы: проектирование и применение
+ Подписаться
Страница 18 из 52 ПерваяПервая ... 8161718192028 ... ПоследняяПоследняя
  1. 8,713
    Комментарии
    98
    Темы
    15649
    Репутация Pro
     
    Старожил

    7 Медалей
    4.6.2.6. Расширение диапазона исторических данных.
    Наши примеры тестирования торговых стратегий, приведенные в этом разделе, носят иллюстративный характер и проводся на локальном участке рынка длиной 1000 баров (свечей).

    Корректная процедура проведения теста преполагает секционирование данных и проведение отдельных тестов на каждой секции, последовательно замещая часть объема старых данных новыми и наблюдая за эволюцией параметров системы от теста к тесту. Но на этом этапе – этапе иллюстрации возможностей работы с тестером мы заниматься секционированием данных не будем.

    Единственное, что сделаем, это проверим работоспособность тестируемой торговой стратегии на всей доступной истории.



    Рис.4.40.

    Оптимальным параметром для всего диапазона исторических данных является N=25 – значение, которое обеспечиваем максимальный профит торговой стратегии.

    Необходимо отметить, что система достаточно устойчива, так как в группе прибыльных находтся все стратегии с N близким к 25. Т.е. полученный результат по приблизительным оценкам является статистически устойчивым и не является результатом случайного стечения обстоятельств.

    Число N=25 находится и среди наиболее прибыльных стратегий предыдущего теста (рис.4.38 - система со вторым по прибыльности результатом).



    Рис.4.41.

    Кривая эквити теста (рис.4.41) также близка к оптимальной зависимости (оптимальная – это прямая линия, которая идет из левого нижнего угла графика в правый верхний угол). Однако надо учитывать масштаб теста – график дневного масштаба почти за 20 лет. В некоторые годы система не приносила прибыли и даже уходила в локальные просадки, в другие – давала очень высокую прибыльность.

    Цифры из отчета:

    Система провела на 5000 свечей 376 сделок.
    Уплачено комиссии (спреда) - 752пп.

    Прибыльных сделок - 136.
    Средняя прибыль на сделку – 279пп.
    Максимальная прибыль на сделку – 1586пп.

    Убыточных сделок – 240.
    Средний убыток на сделку – 101пп.
    Максимальный убыток на сделку – 684пп.

    Результат торговли – прибыль 13693пп.
  2. 8,713
    Комментарии
    98
    Темы
    15649
    Репутация Pro
     
    Старожил

    7 Медалей
    Сходные результаты показывает и тест на всей совокупности доступных исторических данных – 8769 баров до 07.10.2011 включительно (см. рис.4.42).



    Рис.4.42.

    Диапазон оптимальных значений неизменился при расширении объема данных почти вдвое, т.е. система демонстрирует устойчивость своих параметров. Более того, все значения N за исключением 1 и 2 на всей совокупности исторических данных обеспечивают прибыль, т.е. в целом, несмотря на локальные провалы, метод постенциально работоспособен практически при любых сдвигах N.
  3. 8,713
    Комментарии
    98
    Темы
    15649
    Репутация Pro
     
    Старожил

    7 Медалей


    Рис.4.43.


    Кривая эквити теста (рис.4.43) в глубокой исторической перспективе также близка к оптимальной зависимости.

    Цифры из отчета:

    Система провела на 8769 свечей 597 сделок.
    Уплачено комиссии (спреда) - 1194пп.

    Прибыльных сделок - 228.
    Средняя прибыль на сделку – 285пп.
    Максимальная прибыль на сделку – 1598пп.

    Убыточных сделок – 369.
    Средний убыток на сделку – 96пп.
    Максимальный убыток на сделку – 694пп.

    Результат торговли – прибыль 29524пп.

    Таким образом, статистические характеристики сделок и оптимальные параметры системы практически не изменились при расширении диапазона данных почти вдвое.
  4. 8,713
    Комментарии
    98
    Темы
    15649
    Репутация Pro
     
    Старожил

    7 Медалей
    Важное замечание.

    При тестировании важно учитывать еще такое обстоятельство, как изменение параметров рынков, в частности волатильности.

    По этой причине вклад разных периодов тестирования в суммарный результат может быть различным, а результаты на наиболее изменчивом участке графика цен будут определять собой конечный результат теста, внося погрешности в правильный выбор параметров торговой стратегии.

    Именно по этой причине крайне важно секционировать данные и проводить последовательное тестирование на секциях, продвигаясь из прошлого к будущему, удаляя из массива данных старые и дополняя массив более новыми данными и проверяя тест на данных вне выборки.

    Конечный тест, который проводится на всем массиве данных, носит по большей части справочный характер.


    Рассмотрим еще несколько иллюстративных примеров.
  5. 8,713
    Комментарии
    98
    Темы
    15649
    Репутация Pro
     
    Старожил

    7 Медалей
    4.6.3. Пример МТС с дополнительными условиями

    4.6.3.1. Торговая модель (идея).
    Добавим к алгоритму системы, рассмотренной в подразделе 4.6.2, дополнительное условие, определяющее признак тренда, например условие, характеризующее взаимное расположение цены и ее экспоненциальной скользящей средней – Moving Average (MA).
    Один из методов применения скользящих средних в техническом анализе использует следующие правила:
    - если линия МА располагается ниже графика цен, то считается, что тренд направлен вверх;
    - если линия МА располагается выше графика цен, то считается, что тренд направлен вниз.
    Соответствующие торговые правила будут иметь вид:

    C>Mov(C,N1, E) - восходящий тренд;
    C<Mov(C,N1, E) - нисходящий тренд.

    Дополним этими условиями торговую систему, рассмотренную в предыдущем подразделе, и получим:

    - если C>ref(C,-N) и C>Mov(C,N1, E) - восходящий тренд;
    - если C<ref(C,-N) и C<Mov(C,N1, E) - нисходящий тренд.
  6. 8,713
    Комментарии
    98
    Темы
    15649
    Репутация Pro
     
    Старожил

    7 Медалей
    4.6.3.2. Торговые правила.
    Перед тем, как приступить к записи торговых правил, учтем тот факт, что нам необходимо одновременно выполнение сразу двух условий, для того, чтобы мы могли провести сделку.
    Объединить два условия можно при помощи AND - оператора логического умножения «И». В этом случае торговые правила примут вид:

    Buy Order: (C>ref(C,-opt1)) AND (C>Mov(C,opt2, E))
    Sell Order: (C<ref(C,-opt1)) AND (C<Mov(C,opt2, E))
    Sell Short Order: (C<ref(C,-opt1)) AND (C<Mov(C,opt2, E))
    Buy to Cover Order: (C>ref(C,-opt1)) AND (C>Mov(C,opt2, E))

    Можно поступить еще проще, тривиально перемножая выражения, заключенные в скобки, друг на друга. Ведь только произведение двух единиц («Истина») даст в результате тоже единицу («Истина»), что нам и требуется:

    Buy Order: (C>ref(C,-opt1))*(C>Mov(C,opt2, E))
    Sell Order: (C<ref(C,-opt1))*(C<Mov(C,opt2, E))
    Sell Short Order: (C<ref(C,-opt1))*(C<Mov(C,opt2, E))
    Buy to Cover Order: (C>ref(C,-opt1))*(C>Mov(C,opt2, E))

    Задаем диапазон изменения переменных оптимизации (рис.4.44).



    Рис.4.44.

    Нажимаем «ОК». Претезий по синтаксису торговых правил нет, система готова к тестированию.

    Несколько замечаний о выборе диапазона переменных.
    Диапазон переменной «Интервал N» мы немного сузили, отбросив заведомо убыточные варианты в начале диапазони часть значений с большими задержками.
    Диапазон переменной «Период MA», задающей параметры сглаживания скользящей средней, задан в общем-то достаточно произвольно – мы не знаем, как поведет себя система при тех или иных параметрах и хотим изучить этот вопрос.
    Количество тестов в процессе процедуры оптимизации 372 – в принципе это немного и ждать нам долго не придется.
    Приступаем к тестированию.
  7. 8,713
    Комментарии
    98
    Темы
    15649
    Репутация Pro
     
    Старожил

    7 Медалей
    4.6.3.3. Результаты тестирования - предварительный анализ.
    Запускаем тест, и нажимаем клавишу «View», чтобы отобразить сводные результаты тестирования (рис.4.45).



    Рис.4.45.

    Результаты тестирования на рис.4.45 упорядочены по убыванию прибыли.

    Какие выводы можно сделать по результатам?

    Первое, что видно буквально сразу, это то, что у нас нет убыточных вариантов системы. Любая комбинация условий совершения сделок на тестируемом интервале приносит профит.

    Более детальные выводы может дать сравнительный анализ полученных тестов с тестами для системы прототипа (рис.4.46) с тем же диапазоном изменения параметра N (переменной opt1).




    Рис.4.46.

    Сравнительный анализ результатов тестирования двух систем показывает, что введение дополнительного условия незначительно ухудшило прибыльность наилучшего теста системы-прототипа, но значительно подняло результирующий профит для близких к нему вариантов по значению параметра N.
    Указанное обстоятельство является свидетельством возрастания статистической устойчивости торговой системы при введении скользящих средних в качестве дополнительного условия проведения сделок. Система стала менее чувствительной к случайным изменениям рыночной ситуации.
  8. 8,713
    Комментарии
    98
    Темы
    15649
    Репутация Pro
     
    Старожил

    7 Медалей
    4.6.3.3. Результаты тестирования – анализ диапазона параметров.
    Упорядочивание результатов тестов по возрастанию параметра N, представленное на рисунке 4.47, показывает, что более высокие значения профита сконцентрированы в зоне изменения переменной opt1 до 25, а провалы в зоне профита максимальное значение имеют в зоне до 15. Оставим диапазон изменения параметра от 15 до 25 .



    Рис.4.47.


    Аналогичная процедура, проведенная для параметра N1, дает зону лучших значений для периода скользящей средней в диапазоне выше 25 (см. рис.4.48). Причем, приближаясь к верхней границе диапазона на 60, профит незначительно спадает.
    Уменьшим диапазон изменения и этого параметра, задавая нижнюю границу на 25, верхнюю - на 50, а шаг изменения попробуем уменьшить до 1.




    Рис.4.48.
  9. 8,713
    Комментарии
    98
    Темы
    15649
    Репутация Pro
     
    Старожил

    7 Медалей
    4.6.3.4. Результаты для модифицированного диапазона параметров.



    Рис.4.49.

    Максимальная прибыль еще немного увеличилась и получена она для значений opt1=18 и opt2 = 41. в целом, в этом диапазоне значений опитмизационных переменных провалы в профите от теста к тесту меньше.



    Рис.4.50.

    Кривая эквити теста (рис.4.50) близка к оптимальной. Относительные просадки невелики, тренды на данном участке диапазона выделяются и торгуются достаточно эффективно.

    Цифры из отчета:

    Система провела на 1000 свечей 40 сделок.
    Уплачено комиссии (спреда) - 80пп.

    Прибыльных сделок - 16.
    Средняя прибыль на сделку – 712пп.
    Максимальная прибыль на сделку – 1632пп.

    Убыточных сделок – 24.
    Средний убыток на сделку – 139пп.
    Максимальный убыток на сделку – 366пп.

    Результат торговли – прибыль 8047пп.

    Следует отметить, что профит-фактор торговой системы больше 3, что является очень хорошим показателем, так же как и другие статистические характеристики системы.

    Ну что, мы нашли Грааль?
    Возможно, только это нужно проверить.
    А как проверить? Нужно взять диапазон вне выборки. Более детальным исследованием стратегии в этом разделе мы заниматься не будем, просто возьмем более широкие диапазоны данных и посмотрим на поведение торговой системы.
  10. 8,713
    Комментарии
    98
    Темы
    15649
    Репутация Pro
     
    Старожил

    7 Медалей
    4.6.3.5. Результаты для диапазона данных вне выборки.
    Сводные результаты теста для диапазона данных 5000 баров приведены на рисунке 4.51.



    Рис.4.51.

    Максимальная прибыль выросла, но есть два неприятных сюрприза.
    Первый – прибыльность части комбинаций значительно снизилась, а некоторые вообще стали убыточными.
    И второй, гораздо более неприятный, максимальная прибыль получена для другой комбинации параметров, для значений opt1=24 и opt2 = 30.
    О чем это говорит?
    О том, что в предыдущем примере мы выбрали наилучшую комбинацию параметров системы, но эта комбинация является результатом подстройки под локальные параметры рынка и не факт, что эти параметры в будущем дадут такую же высокую эффективность, поскольку в прошлом они ее не давали бы.
    Но где же результат системы с параметрами, которые мы определили в предыдущем примере, как оптимальные.
    Он средний по прибыльности (8065пп) и располагается примерно в середине списка с упорядочиванием по убыванию профита (рис.4.52), обеспечивая примерно такой же размер прибыли, как и на интервале 1000 баров.



    Рис.4.52.

Вверх
РегистрацияX

чтобы писать, читать, комментировать