Одним из распространенных способов статистического исследования ранка является поиск паттернов и анализ поведения инструмента после их идентификации. При этом трейдер может генерировать практически неограниченное число паттернов, основанных на поведении цены, на изменении объемов и т.д. и т.п.
В данной статье рассмотрим вопрос исследования рынка на предмет поиска примитивных паттернов, характеризующихся однонаправленным движением цены (несколько баров подряд цена закрытия больше цены открытия – аптренд; цена закрытия ниже цены открытия - даунтренд).
Все исследования проводились на таймфрейме Н1, поэтому за основу опять берем исторические котировки, закачанные при помощи Менеджера исторических данных платформы JForex с 01.01.2015 по 01.08.2019. В платформе установлен часовой пояс ЕЕТ (UTC+2), поэтому все данные о времени в роботе – исключительно в этом часовом поясе.
В развитие прошлого исследования, текущее исследование так же проводится с учетом сезонности внутри суток и в течение недели, необходимо для каждого идентифицированного на истории паттерна выделять отдельно час и день недели.
Таким образом, задача заключается в поиске на истории паттерна направленного движения и анализ поведения цены после его идентификации. Логично, что возможно 2 интересующих нас варианта поведения цены: продолжение тренда или разворот.
Такие исследования с помощью сводной таблицы в MSExcel сделать не получится, поэтому была разработана программа для анализа, алгоритм работы которой заключался в следующем:
- проходим последовательно по всем барам на истории;
- в случае обнаружения паттерна фиксируем час и день обнаружения и смотрим как ведет себя цена через фиксированное количество баров после паттерна;
- полученные данные накапливаем для каждого дня недели, каждого часа и каждого из вариантов (тренд или разворот).
Все что остается – проанализировать количество виртуальных сделок для каждого паттерна в каждый день недели и каждый час внутри дня недели. Проще всего программно отфильтровывать варианты с положительным балансом.
Следующий этап – детальный анализ каждого варианта с положительным балансом. С целью автоматизации процесса фильтрации проще всего определять линейное уравнение вида y=b*x, описывающее изменение эквити отдельно взятого варианта, где х – количество сделок. При таком подходе коэффициент b будет показывать средний размер сделки для этого варианта. После того, как определен коэффициент b уравнения линейной регрессии, можно рассчитать среднеквадратичное отклонение. Таким образом, можно выделить 2 критерия: средний размер одной сделки (коэффициент b), и среднеквадратичное отклонение.
Чтобы уходить к относительным величинам, достаточно просто оценивать, не превышает ли значение среднеквадратичного отклонения величину b*q, где q - коэффициент, определяемый допустимой «гладкостью» кривой эквити. По результатам анализа более 20 валютных пар на истории с 2015 года приемлемыми значениями критериев являются средняя сделка более 3 пунктов и среднеквадратичное отклонение, не превышающее 5 средних сделок.
Лучшие варианты прописаны в новой версии робота, дополняющей прошлые результаты исследований.
翻訳する: 英語 オリジナルを表示