Блог им. AlexChi

Тестирование рабочей свечной модели на исторических данных

    • 25 февраля 2019, 19:03
    • |
    • AlexChi
  • Еще

Введение


Эта статья является заключительной в цикле тестирования японских свечей. Всего в этом цикле будет 8 статей. Вот список предыдущих статей:

1. Тестирование свечи молот на исторических данных
2. Тестирование модели бычье поглощение на исторических данных
3. Тестирование модели медвежье поглощение
4. Тестирование модели завеса из темных облаков
5. Тестирование модели медвежье харами на исторических данных
6. Тестирование модели просвет в облаках на исторических данных
7. Тестирование модели бычье харами на исторических данных

Все 7 свечных моделей, которые я описал до этого, не выдержали проверки на истории. Сейчас настало время привести ту единственную свечную модель (из мне известных), которая выдержала подобную проверку.

Описание модели


Я не знаю правильное название этой свечной модели и для себя называю ее CandleMax, возможно, у этой модели есть и нормальное японское название. В любом случае, название не так уж и важно. Я вообще не считал ее никогда свечной моделью и запрограммировал для своего одноименного робота еще в 2015 году.

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

  • В бумаге нет ярко выраженной нисходящей тенденции.
  • Цена закрытия сегодняшнего дня выше вчерашнего максимума.
  • Цена сегодняшнего закрытия близка к максимальной цене дня.
  • Рост цен происходит на объемах, превышающих среднедневные объемы более чем в 2 раза.

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

Параметры тестирования


Перед  тем, как переходить к расчетам, необходимо определить следующие параметры:

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

Для определения нисходящей тенденции воспользуемся индикатором RSI. Индикатор RSI вычисляется по формуле:

RSI = 100 * Сумма U / (Сумма U + Сумма D), где

Сумма U – сумма всех U за расчетное количество дней;

Сумма D – сумма всех D за расчетное количество дней;

U = цена сегодняшнего закрытия — цена вчерашнего закрытия, если цена закрытия сегодня выше, чем вчера, иначе 0;

D = цена вчерашнего закрытия — цена сегодняшнего закрытия, если цена закрытия сегодня ниже, чем вчера, иначе 0.

При этом если Сумма D = 0, т.е. за весь расчетный период цена только росла, то считаем, что RSI = 100.

В данной статье будем считать, что тенденция не является нисходящей, когда индикатор RSI > 30. При этом RSI будем рассчитывать за 10 последних торговых дней (2 последние торговые недели).

Теперь давайте решим, как мы будем определять, что цена закрытия близка к максимальной цене дня. В данной статье будем считать, что цена закрытия близка к максимальной цене дня, если цена закрытия меньше максимальной цены менее чем на 10% от движения цены за день, т.е.:

максимум – закрытие  < (максимум – минимум) / 10

В качестве среднедневного объема торгов будем брать среднее арифметическое объема торгов по акции за 10 последних рабочих дней (2 последние торговые недели).

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

Результаты тестирования


Теперь у нас все готово для того, чтобы проверить на исторических данных эффективность использования модели CandleMax для прогнозирования будущего движения цены. Итак, я собрал статистику по 32 наиболее ликвидным акциям МосБиржи за период с начала торгов по каждой бумаге и по 29 декабря 2018 года (т.е. если Лукойл торгуется на МосБирже с 22 сентября 1997, а Газпром с 23 января 2006, то статистика по Лукойлу берется с 22.09.1997 по 29.12.2018, а для Газпрома с 23.01.2006 по 29.12.2018). Статистика использовалась  дневная, т.е. в качестве максимальной, минимальной цены, а также цен открытия и закрытия использовались цены одного торгового дня. Ниже приведена таблица тестирования модели CandleMax на дневном интервале (таблица 1).

Тестирование рабочей свечной модели на исторических данных

    Таблица 1. Результат тестирования модели CandleMax.

Бумаги  в таблице 1 выделены тремя цветами:

  1. Красным  - модель CandleMax дала больше ошибочных сигналов.
  2. Желтым  - количество верных и ошибочных сигналов совпало.
  3. Зеленым – количество верных сигналов было больше количества ошибочных.

Заключение


Итак, по результатам проведенного тестирования мы видим, что модель CandleMax чаще давала верный  сигнал для покупки(767 правильных сигналов против 506 ошибочных), что составляет 60.3% против 39.7%.

Торговую систему можно считать прибыльной и брать ее на вооружение, если она дает при тестировании на истории соотношение прибыльных сделок к убыточным не менее чем 60% к 40%. Ведь не стоит забывать, что при каждой покупке/продаже вы платите комиссию брокеру и биржевую комиссию, к тому же при покупке/продаже возможны гэпы и проскальзывания, которые также “съедают” часть прибыли.

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

  1. Как вы можете увидеть из таблицы 1, 27 из 32 бумаг показали количество прибыльных сделок выше количества убыточных и всего 4 показали больше убыточных сделок. При этом из этих 4-х бумаг у 3-х количество убыточных сделок было больше количества прибыльных всего на одну сделку.
  2. При тестировании использовались данные за все время торгов по каждой из бумаг, т.е. добросовестно были учтены все кризисы и падения, включая кризис 1998 года и кризис 2008 года.
  3. Тестирование проводилось с учетом цены закрытия, на практике же мой торговый робот покупает за две минуты до закрытия. При этом в 90-95% случаев свечная модель не изменяется. В реальной торговле по этой системе соотношение прибыльных сделок к убыточным на сегодняшний день составляет у меня 136 прибыльных к 91 убыточной, что примерно соответствует полученным при тестировании результатам.
  4. Очень важный момент, на который я хочу обратить ваше внимание: отношение стоп-лосса к тэйк-профиту и их величина. В моем случае это отношение составляет 1:1, при этом стоп-лосс и тэйк-профит составляют значение, равное одной среднедневной волатильности по бумаге. Именно эти значения являются оптимальными для данной системы. При значениях стопов меньше одной среднедневной волатильности свойства системы ухудшаются за счет частого срабатывания стопов, к тому же большое значение начинают играть комиссионные издержки. А изменение соотношения стоп-лосс к тэйк-профиту на большие значения, например 1:3 просто приводят к тому, что стоп-лосс начинает срабатывать в 3 раза чаща тэйк-профита, к тому же вы дольше сидите в бумаге и пропускаете другие выгодные торговые возможности.
  5. Я настоятельно не рекомендую использовать при торговле заемные средства. Сам я выделяю под эту систему только часть своего депозита. К сожалению, движение цен на фондовом рынке не подчиняется распределению Бернулли. Имея выигрышную торговую систему и 136 прибыльных сделок против 91 убыточной, я на практике получил один раз 8 (!!!) подряд убыточных сделок. Как вы думаете, что было бы со мной, если бы я использовал плечи, тем более большие, от 4 и выше?
  6. Во всех моих торговых системах, так или иначе, используется одна и та же идея: лучшие бумаги остаются лучшими. Так же и здесь. В данном случае я подтвердил гипотезу о том, что если бумага растет на повышенных объемах и закрывается на максимуме дня, то вероятность того, что она продолжит расти (останется лучшей) выше вероятности того, что она упадет.

 

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

★119 | ₽ 127
Спасибо за труды!!!
avatar

Ajax

Нам наверно надо расплакаться за никчемность японо свечей? но что удивительно — я не плачу.После 24 лет торговли и тестирования систем с 1998 по 2008год я понял работу японо свечей.Мне помог волновой анализ Эллиота.Я нашел в свечном то, чего нет в волновом те циклы времени= цену закрытия тайма и еще много полезного… то, чего нет во многих системах основанных на ТА, индикаторах и др типа VSA ,PA и др.Советую автору потестировать такие паттерны как 3 белых солдата и 2 черных вороны. Главное в свечном -свеча солдат и 8-10 новых перемен. Я изучил Метасток 7.2 и все его индикаторы и системы.Я желаю всем того же чтобы понять слабость ТА, но путь к свечному только через волновой анализ.
avatar

ezomm

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

Гденьги ☭

Гденьги ☭, проблема в объеме.Чем меньше тайм, тем менее объем прогнозируем. Полезный индекс силы -Элдера.
avatar

ezomm

ezomm, хм очень интересно… я пока не очень понимаю этот волновой анализ, иногда всё понятно всё ясно но  иной раз смотрю на график тренд есть а волн не вижу и всё тут… свечной не рассматривал ещё! моё — ,, хм очень интересно...,, как то у одно знакомого (который работает рамками, маятником) спросил мол сделай свою диагностику какая стратегия норм, и он мне тоже сказал что у него получился ответ! свечной + волновой. правда я скептически отнёс я к этому. а тут ваш ответ!!!  да уж есть над чем подумать...))  
avatar

serj dron

serj dron, мало понять волновой.Надо еще увидеть синусоиду изуродованную объемом.Книга Ч.Миллер -волны и циклы в компьютерном моделировании волн Эллиота.В примитиве это так .4 цикла в 2 раза меньших одного, их вмещающего. Рождение цены на графике.



avatar

ezomm

ezomm, спасибо за ответ и за книгу!!! найду посмотрим может в ней разберусь… а по свечному есть норм книги? 
avatar

serj dron

serj dron, по свечному нет полезных книг.Ведь свеча лишь кусочек цено графика или волны.Для понимания на графике должно быть 10-40 соразмерных по времени и амплитуде углов. По волнам Эл… а Глен Нили -мастерство анализа волн Эллиота.Он ближе других волновиков подошел к свечному анализу.
avatar

ezomm

ezomm,  ОК СПАСИБО!
avatar

serj dron

Подскажите, почему в качестве индикатора тренда выбрали  RSI?
avatar

Vadim S

Vadim S, да это в общем-то не индикатор тренда, просто «нет ярко выраженной нисходящей тенденции». Если RSI > 30 за 2 последние недели, то 2 последние недели акции сильно не падали, а т.к. сигнал на покупку берется на дневном таймфрэйме, то этого достаточно. Хочу обратить внимание, что это мой реальный робот, который в работе с 2015 года. Можно было бы ввести более жесткие условия, но тогда и срабатывать система будет гораздо реже. Тут ведь еще хочется, чтобы сигналы были не раз в месяц, а почаще. RSI подходит отлично для этой цели.
avatar

AlexChi

AlexChi, 
Я не знаю правильное название этой свечной модели и для себя называю ее CandleMax

Скорее всего представленная Вами модель подходит под описание  «белой марибозу закрытия».
Это действительно очень сильная модель и работает в большинстве случаев.
avatar

Мюнхгаузен

Дельная ТС!А зеркальные правила для шорта акций можно применять? И как насчет адаптации правил для интрадей на часовиках?
avatar

AlexGood

AlexGood, хороший вопрос! Я уже давно торгую и что только не тестировал, но работающей системы для сделок в шорт мне так и не удалось найти. Есть, конечно, интервалы, когда продажи без обеспечения работают отлично, но в долгосроке все мои тестовые системы подобного рода безбожно сливали. Видимо причина основная в том, что рынки в долгосроке растут. Например, индекс МосБиржи вырос от 100 в 1997 году до 2500 сейчас, т.е. в 25 раз! Впрочем, если мне не удалось найти такую систему, то это, разумеется, не значит, что такой системы нет.

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

AlexChi

Спасибо, пишите ещё!
avatar

_xXx_

Что за статья без картинок?  Картинки давай! Эквити!
avatar

ivanovr

В придачу к протестированной табличке очень полезно визуализировать эквити за весь период, чтобы был постоянный рост. А то может случиться что, например, вся прибыль была заработана до 2007 года, а дальше болтанка у нуля или, того хуже, постепенное падение.
Дядя Ваня СпекулянтЪ, с сентября 2015 мой личный результат по этой системе 136 прибыльных сделок против 91 убыточной, что составляет 59.9% против 40.1%, а за все время 60.3% на 39.7%, т.е. система не «испортилась». Во всяком случае пока. А так провалы бывают, у меня было 8 подряд убыточных сделок по ней, думаю, что и это не рекорд.
avatar

AlexChi

AlexChi, Полезная статья. Скажите, можно ли как-нибудь получить робота на эту модель? 
avatar

Дмитрий Мезрин

Дмитрий Мезрин, извините, но роботов я своих не продаю и не дарю. Можете попробовать сами закодить или заказать кому-то. Кстати, у меня есть идея выкладывать сигналы этого и других роботов, но это попозже, уже весной.
avatar

AlexChi

AlexChi, спасибо, отличная статья!
Подскажите, пожалуйста, какой программой пользуетесь для Ваших исследований? Или хватает «данные + Excel»?
avatar

Фогель Дмитрий

В данном случае оказалось достаточно одного Excel-а. А если что-то посложнее, то загоняю в базу данных Microsoft SQL и делаю обработку на хранимых процедурах с курсорами, я же все-таки программист.

avatar

AlexChi

AlexChi, я присоединяюсь к вопросу, какой инструмент тестирования применяешь? На чем гоняешь?
avatar

Тихий омут

В данном случае просто Excel. Если что-то сложнее, то хранимые процедуры и курсоры под Microsoft SQL Server.

avatar

AlexChi

 без эквити (в сравнении с бай/холд) вообще непонятно что там происходит, Таких моделей, у которых похожий процент угадайки, вагон и маленькая тележка, но толку нет
avatar

wrmngr

К сожалению, перевес в пользу положительных исходов еще ничего не дает. Если средний убыток больше, чем средняя прибыль, то система может быть убыточна. Эквити было бы все же интереснее посмотреть)
avatar

day0markets

Alex Hurko, средний убыток примерно совпадает со средней прибылью, т.к. стоп-лосс и тэйк-профит одинаковы.
avatar

AlexChi

Alex Hurko, вот эквити: https://jc-trader.livejournal.com/1628589.html
avatar

nickson

Исходя из эквити предоставленной nickson, система сливает!? Если взять эквити по годам, за последние 5 лет, картина измениться?
avatar

Александр

Александр, там другой набор бумаг, у него 50, у меня 32. Это только навскидку, поставлю себе Wealth-Lab и попробую протестировать. Думаю, что и сам скрипт отличается. Но быстро это сделать не обещаю.
avatar

AlexChi

AlexChi, спасибо за ответ, интересно стало) 
avatar

Александр

AlexChi, мощная работа! Спасибо, что делитесь)
Подписался, буду ждать других материалов по проверке)
avatar

Agartyan


....все тэги
UPDONW