Блог им. AlexChi

Тестирование стохастического осциллятора на исторических данных

    • 27 ноября 2018, 18:59
    • |
    • AlexChi
  • Еще

Тестирование стохастического осциллятора на исторических данных


          В данной статье нас интересует возможность проверить на исторических данных эффективность использования стохастического осциллятора для прогнозирования будущего движения цены. Данный индикатор технического анализа показывает положение текущей цены относительно диапазона цен за определенный период в прошлом и измеряется в процентах.  Чтобы рассчитать значение стохастического осциллятора можно воспользоваться следующей формулой: K = (C – L_min)/(H_max-L_min)*100,

         где С – цена сегодняшнего закрытия,

         L_min – минимальная цена за расчетный период,

         H_max — максимальная цена за расчетный период.

         В качестве расчетного периода будем использовать период равный 5 дням. При этом считается, что стохастический осциллятор дает сигнал на покупку когда K был < 20%, а потом повысился и стал больше 20%, а сигнал на продажу данный индикатор дает тогда, когда K был > 80%, а потом понизился и стал меньше 80%.

         Прежде, чем перейти к тестированию эффективности использования стохастического осциллятора на исторических данных, давайте определимся, как мы будем оценивать результаты покупки (продажи) с использованием этого индикатора. Т.е. как мы будем определять, правильно ли определил стохастический осциллятор рост/падение или нет. Я предлагаю устанавливать стоп-лосс и тэйк-профит на уровне одной среднедневной волатильности по акции за 10 дней (волатильность – это разница между максимальной и минимальной ценой дня). Например, если после нашей покупки акция выросла на одну среднедневную волатильность за 10 дней, мы считаем, что стохастический осциллятор был прав, а если цена упала на одну среднедневную волатильность за 10 дней, то считаем, что стохастический осциллятор ошибся.

         Теперь у нас все готово для того, чтобы проверить на исторических данных эффективность использования стохастического осциллятора для прогнозирования будущего движения цены. Итак, я собрал статистику по 30 наиболее ликвидным бумагам МосБиржи за период с начала торгов по каждой бумаге и по 30 декабря 2016 года (т.е. если Лукойл торгуется на ММВБ с 22 сентября 1997, а Газпром с 23 января 2006, то статистика по Лукойлу берется с 22.09.1997 по 30.12.2016, а для Газпрома с 23.01.2006 по 30.12.2016). Статистика использовалась  дневная, т.е. в качестве максимальной, минимальной цены, а также цен открытия и закрытия использовались цены одного торгового дня. Проведем тестирование в случае, когда стохастический осциллятор дает сигнал на покупку, т.е. когда K был < 20%, а потом повысился и стал больше 20%. Ниже приведена таблица тестирования стохастического осциллятора на дневном интервале (таблица 1).

Тестирование стохастического осциллятора на исторических данных

Таблица 1. Результат тестирования стохастического осциллятора (сигнал на покупку).

         Теперь проведем тестирование в случае, когда стохастический осциллятор дает сигнал на продажу, т.е. когда K был > 80%, а потом понизился и стал меньше 80%. Ниже приведена таблица тестирования стохастического осциллятора на дневном интервале (таблица 2).

 Тестирование стохастического осциллятора на исторических данных

    Таблица 2. Результат тестирования стохастического осциллятора (сигнал на продажу).

         Итак, по результатам тестирования мы видим, что в первом случае (сигнал на покупку) стохастический осциллятор был чаще прав, чем не прав (4085 правильных предсказаний против 3600 ошибочных), а во втором случае (сигнал на продажу) стохастический осциллятор чаще ошибался (4014 правильных предсказаний против 4387 ошибочных). Таким образом, общий итог 8099 правильных прогнозов против 7987 ошибочных.

         Какие же выводы отсюда можно сделать? Выводов на самом деле несколько. Итак:

  1. По результатам проведенного тестирования точность прогноза движения цен на основе стохастического осциллятора можно считать неудовлетворительной, т.к. точность предсказания не превысила статистическую погрешность в рамках 50% вероятности.
  2. При определении эффективности использования стохастического осциллятора для прогнозирования будущего движения цены были произведены расчеты на большом количестве разнообразных параметров (использовались различные параметры покупки/продажи, а также различные значения стоп-лосса и тэйк-профита) и ни в одном случае не удалось добиться точности прогноза, существенно превышающей 50%.
  3. Учитывая пункты 1-2 можно сделать следующий вывод: построить эффективную торговую систему ТОЛЬКО на основе стохастического осциллятора представляется, на мой взгляд, крайне сложной, а, скорее всего, просто невыполнимой задачей.

Берегите свои деньги! Торгуйте грамотно!

 



★10
21 комментарий
У нас есть на рынке-это движение и боковик. Так вот, он работает только в боковике, на движениях -это слив
avatar
точность предсказания не превысила статистическую погрешность в рамках 50% вероятности.

А что кто-то думал по другому? Индюки придумали, когда писишников почти ни у кого не было.
avatar
все инструменты находятся в боковике. например у рубля боковик от 30 до 80р.  стохастик надо перенастроить и все заработает.  
avatar
Роман, я не перенастраиваю Stochastic никогда.
Но согласен, что разные параметры для тренда и флета не повредят.
Так же, как и разные параметры для м1 и дневки.
avatar
avatar
Стохастик не в курсе, когда будет разворот и будет ли он вообще. Но до сих пор находятся граждане, доверяющие ему свои деньги)
Автор привел формулу, в которой видно от чего зависит осциллятор. Если автор сделает тоже самое с ценой закрытия, то увидит примерно такой же результат. А потом сделает вывод, что почему-то по цене закрытия текущей свечи нельзя предсказать цену открытия следующей свечи. 
Пост для дебилов, которые верят всему, что напишут.
Тут даже высшее образование не нужно, чтобы понять простые истины.
Кому интересно копнуть глубже, просто зайдите на вики https://ru.wikipedia.org/wiki/%D0%A1%D1%82%D0%BE%D1%85%D0%B0%D1%81%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%BE%D1%81%D1%86%D0%B8%D0%BB%D0%BB%D1%8F%D1%82%D0%BE%D1%80 — там вообще ничего не говорится про прогнозирование.
avatar
Лучше:
1. Заменить в индикаторе цену закрытия средней ценой в интервале.
2. Разбить диапазон его значений на статистически существенные интервалы для конкретной бумаги. В каких-то интервалах будет картина, как в статье. Зато в других будет выраженная статистика вверх или вниз. На них и надо реагировать. 
avatar
Ну и бреееееееееееедддддяяяяятина.
Самое интересное, что такого фуфла в сети и без вас валом.

Вы б хотя бы книжечку Д.Лейна «Трейдинг со Стохастиком» прочли.
А хрен ли вам говорить, если вам достаточно 20 пробить?...

Что изобретатель стохастика называет пиком, коленом, лево/правым пересечением или классической дивергенцией даже не спрашиваю.
Кто такой Лейн хоть знаете? Стыдууууха.
avatar

у меня три замечания к вашему посту:

1. Не стоит неуважительно относиться к незнакомым людям и грубить им. Поверьте, я могу поддержать дискуссию на любом уровне, вплоть до матерного, но мне кажется не стоит это делать, тем более в интернете.

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

3. Спорить со статистикой бесполезно, а обижаться на нее тем более.

avatar
AlexChi, чувак, ты просто берешь цену закрытия и прогнозируешь по ней следующую цену. Без этого теста можно посчитать вероятность прогнозирования следующей цены. Понимаешь? 
avatar
Оно, конечно, может и так, но есть ньюансы. Например, трендовые системы могут иметь угадайку и менее 50%, но все равно приносить деньги, т.к. прибыльность еще зависит от соотношения среднего выигрыша и среднего проигрыша, что автором и было отброшено. А зря.

Ожидание ТС = Ср Выигрыш Х % Выигрышей — |Ср Проигрыш| Х % Проигрышей
avatar
Я, конечно, молод в трейдинге, но заметил, что анализ архивных графиков как стохастика, так и др. не даёт реальной картины «прорисовки» графика. Последний отрезок не закрытой свечи на графике может болтаться от севера до юга, и то пересекать, то не пересекать линии 20% и 80% у стохастика, соответственно принятие решения по этому болтающемуся отрезку графика те же 50/50. Поэтому тестирование торговых систем на архивных данных не совпадает с их поведением в реальных торгах.
Александр Барулин, сигналы индикаторов как правило берутся по закрытию бара, а не по «болтающемуся хвостику».
Надо бы знать, коль беретесь сюда писать.
avatar
VladMih, извините, тему читал из ленты, не заметил, что попал в спецраздел. Ну раз уж попал, поделюсь своей системой: — на экране держу три графика по одному инструменту с разными интервалами, обычно 3 мин, 30 мин и 1 час, но могут сдвигаться в зависимости от инструмента. Решение на вход/выход принимаю по факту нахождения всех трёх стохастиков в зонах перепроданности или перекупленности. Как доп. смотрю лоты на покупку/продажу в стакане.
Александр Барулин, имеете право,
но уверен, что это часто приносит проблемы.
Обсуждать не буду.
Не потому, что… Просто тема слишком обширная.

Кстати, загляните на мой ютуб-канал, я там недавно сделал обзорное/ознакомительное видео (возможно будет продолжение) о моём взгляде на Stochastic.
А на сайте и на форуме у меня вообще самый крутой подбор материалов по этой теме в Рунете как минимум и… в мире, как максимум. )
avatar
Коль пошла такая пьянка, то можно ли автора топика попросить сделать тест эффективности стохастика, при условии восходящего тренда+ сигналы стохастика (перепроданность (20)) и соответственно даун тренд +перекупленность стохастика(80)?

avatar
Vladimir T, дак так и делается (а не как сделал ТС).
Но вы самую малость забыли уточнить — что считать трендом?
Робот не может видеть рынок вашими глазами и мозгом,
ему надо понятие тренда формализовать.
avatar
VladMih, Тут вариантов масса.
В данном случае, для подобных исследований, две скользящие использовать вполне корректно.
Для понимающих и macd, тоже вариант.
Трендовая линия тоже формализуется, но в этом случае, ввиду субъективности, не подойдет для исследований.

avatar
Vladimir T, да любой метод можно использовать, но вы не назвали автору ни одного.
И трендовые есть формализованные — напр., см. на моём сайте метод Сперандео. У меня эти трендовые рисуются скриптом, никакого субъективизма.
avatar

теги блога AlexChi

....все тэги



UPDONW
Новый дизайн