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

    7 Медалей
    7.5.2. Торговые правила.

    Торговые правила для оптимизируемой торговой стратегии на основе пересечения двух скользящих средних будут иметь вид:

    Buy Order: Cross(Mov(C,opt2,E),Mov(C,opt1,E))
    Sell Order: Cross(Mov(C,opt1,E), Mov(C,opt2,E))
    Sell Short Order: Cross(Mov(C,opt1,E), Mov(C,opt2,E))
    Buy to Cover Order: Cross(Mov(C,opt2,E),Mov(C,opt1,E))

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

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

    Открываем тестер систем, и строим новую торговую систему с вышеуказанными торговыми правилами.

    Для первоначальной оптимизации в пределах стартового сегмента зададим диапазоны переменных оптимизации:
    - для медленной скользящей средней диапазон opt1 от 10 до 300 с шагом 5;
    - для быстрой – диапазон opt2 от 3 до 150 с шагом 3.

    Теперь можно приступать к тестированию и оптимизации системы.

    P.S. Комбинаций многовато, 1770, но проведем тест, а потом будем смотреть.
  2. 8,713
    Комментарии
    98
    Темы
    15649
    Репутация Pro
     
    Старожил

    7 Медалей
    7.5.3. Первоначальная оптимизация.

    Запускаем тест на стартовом сегменте исторических данных.
    Отметим, что анализ результатов, когда оптимизация идет более чем по одному параметру, проводить гораздо сложнее, чем в случае одного параметра – трудно визуально ценить оптимумы по нескольким переменным одновременно. Для двух переменных в этом случае помогло бы трехмерное отображение результатов тестирования, но к сожалению Метасток такой возможности нам не предоставляет. Поэтому будем пользоваться тем, что есть, а есть у нас диаграмма с результатами тестирования, которая представлена на рисунке 7.6.



    Рис.7.6.

    При первом взгляде на эту диаграмму трудно сказать что-либо определенное, кроме того, что в предложенной комбинации есть и прибыльные тесты и убыточные, причем во всем диапазоне изменения данных.
    Наличие прибыльных и убыточных тестов закономерно, так как мы при записи торговых правил теста не налагали никаких ограничений на соотношение параметров двух скользящих средних. Так что «быстрая» МА могла иметь в некоторых комбинациях теста больший период, чем «медленная», в некоторых они могли просто совпасть, не давая никаких сигналов.
    Что же полезного можно почерпнуть из представленной диаграммы?
  3. 8,713
    Комментарии
    98
    Темы
    15649
    Репутация Pro
     
    Старожил

    7 Медалей
    Для начала упорядочим тесты в порядке возрастания переменной opt2 (рис.7.7), а затем в порядке возрастания переменной opt1 (рис.7.8) и проанализируем полученные результаты.



    Рис.7.7.

    Для параметра opt2 наблюдается два оптимума, первый в зоне малых значений переменной, второй – в зоне больших, но в зоне малых значений opt2 удельный вес убыточных сделок меньше, тогда как в зоне большиз значений их количество возрастает. Возможно, в силу специфики записи торговых условий теста это проявляются комбинации, при которых быстрая и медленная МА меняются местами.



    Рис.7.8.

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

    7 Медалей
    Ясности пока что нет.
    Упорядочим тесты по размеру профита (рис.7.9) и убытка (рис.7.10).



    Рис.7.9.




    Рис.7.10.

    Вот теперь видно, что прибыльных комбинаций все-таки больше, чем убыточных.
    Также проявился тот факт, что наиболее прибыльные тесты получаем в случае, когда у нас «правильное» соотношение периодов МА, т.е. период «медленной» скользящей средней больше периода «быстрой» скользящей средней, а максимальный убыток идет при обратном соотношении периодов.
    Но все-таки корректно выделить тесты для продолжения исследований из полученного материала пока что трудно из-за недостаточной системности в изменении параметров торговой стратегии. Для устранения этого недостатка попробуем модифицировать торговые правила.
  5. 8,713
    Комментарии
    98
    Темы
    15649
    Репутация Pro
     
    Старожил

    7 Медалей
    7.5.4. Модификация торговых правил.

    Запишем торговые правила в виде, который исключает инверсное расположение скользящих средних, т.е. так, чтобы быстрая МА всегда была быстрой, медленная МА – медленной, а кобинации с обратным расположением скользящих средних исключались.
    Один из вариантов такой записи сводится к тому, что период быстрой скользящей средней вычисляется умножением периода медленной скользящей средней на множитель, который меньше единицы. Торговые правила для этого случая будут иметь вид:

    Buy Order: Cross(Mov(C,0.01*opt2*opt1,E),Mov(C,opt1,E))
    Sell Order: Cross(Mov(C,opt1,E), Mov(C,0.01*opt2*opt1,E))
    Sell Short Order: Cross(Mov(C,opt1,E), Mov(C,0.01*opt2*opt1,E))
    Buy to Cover Order: Cross(Mov(C,0.01*opt2*opt1,E),Mov(C,opt1,E))

    Для первоначальной оптимизации в пределах стартового сегмента зададим диапазоны переменных оптимизации:
    - для медленной скользящей средней диапазон opt1 от 10 до 200 с шагом 5;
    - для быстрой – диапазон opt2 от 1 до 50 с шагом 1.

    Таким образом, период быстрой МА будет изменяться от 0.01 до 0.5 периода медленной МА.

    Здесь есть два момента, на которые следует обратить внимание.
    Первое – период скользящей средней в Метасток может быть только целым числом, а в результате вычислений будут получаться и дробные значения периодов. Встроенная формула для пользовательского индикатора скользящей средней допускает ввод как целых, так и дробных величин, определяющих значения периода, в последнем случае программа просто отбрасывает дробную часть введенного числа. Поэтому значения периодов, например, 7.0 и 7.6 будут эквиваленты, и оба будут обрабатываться при вычислении МА как число 7.
    И второе. Следствием предыдущего замечания является то, что комбинации 0.01*opt2*opt1, результат которых будет меньше единицы, будут обрабатываться как ноль, давая ошибки при проведении теста. Эти ошибочные результаты мы просто отбросим при анализе результатов тестирования.

    Открываем тестер систем, и строим новую торговую систему с модифицированными торговыми правилами.

    P.S. Вариант записи 0.01*opt2 вместо использования дробных значений opt2 использован потому, что при обработке диапазона дробных значений переменной оптимизации тестер иногда расширяет диапазон переменной на один шаг.
  6. 8,713
    Комментарии
    98
    Темы
    15649
    Репутация Pro
     
    Старожил

    7 Медалей
    7.5.3. Первоначальная оптимизация МТС с модифицированными правилами.

    Запускаем тест на стартовом сегменте исторических данных.
    Диаграмма результатов тестирования представлены на диаграмме рисунка 7.11.



    Рис.7.11.

    На основе полученных данных можно сделать предварительный вывод, что данная МТС дает больше прибыльных комбинаций, чем убыточных. Для получения более детальной оценки характеристик системы перейдем к подробному анализу влияния параметров оптимизации на ее характеристики. Однако предварительно исключим из результатов тестирования тесты, которые прошли с ошибкой из-за равенства периодов обеих скользящих средних. Такие тесты характеризуются нулевым количеством сделок или комментарием «Had errors» в колонке «Status».
    Упорядочиваем тесты по количеству сделок или по параметру «Status», чтобы сгруппировать некорректные тесты (см.рис.7.12).



    Рис.7.12.

    С помощью нажатия клавиши Ctrl или Shift и указателя мышки выделяем тесты с ошибкой и нажимаем клавишу «Discard», удаляя некорректные тесты из общих результатов тестирования.

    Оставшиеся тесты проанализируем по параметрам opt1 и opt2.
  7. 8,713
    Комментарии
    98
    Темы
    15649
    Репутация Pro
     
    Старожил

    7 Медалей
    На рисунке 7.13 представлена диаграмма результатов тестов, упорядоченных по возрастанию переменной opt1, т.е. по росту периода медленной МА.



    Рис.7.13.

    Анализ представленных данных показывает, что имеется зона оптимума значений переменной opt1, ограниченная значениями примерно от 20 до 100, в пределах которой находятся наиболее прибыльные тесты и практически нет убыточных комбинаций параметров opt1 и opt2. При уходе из этой зоны вниз, в зону меньших значений, резко возрастает количество убыточных стратегий и величины получаемых убытков. При уходе вверх постепенно спадает и размер полученной прибыли, и количество сделок на тестируемом диапазоне данных, что уменьшает статистическую достоверность результатов тестирования.

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

    7 Медалей
    Результаты тестирования, упорядоченные по росту переменной opt2, представлены на рисунке 7.14.



    Рис.7.14.

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

    7 Медалей
    Анализ данных, упорядоченных по возрастанию переменной opt1 (см.рис.7.15) показывает, что зона более стабильной работы стратегии находится на участке от 1/10 до 1./3 диапазона изменения opt1.



    Рис.7.15.

    Еще раз «обрежем» диапазон изменения opt1, установив его границы от 25 до 55 с шагом 1, и проведем тестирование стратегии.
  10. 8,713
    Комментарии
    98
    Темы
    15649
    Репутация Pro
     
    Старожил

    7 Медалей
    Теперь анализ тестов, упорядоченных по росту opt2 (диаграмма рис.7.16), позволяет отбросить первую половину диапазона opt2. Однако, поскольку спад максимумов диаграммы к концу диапазона не прослеживается, целесообразно расширить диапазон изменения opt2 вверх, что мы и сделаем, задавая значения переменной от 30 до 70 с шагом 1.



    Рис.7.16.

    Проводим тестирование и смотрим результаты.

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

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