ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА

Predictive analytics software | rapidminer studio

Датамайнинг(rapid miner & r) уменьшаем параметры робота

ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА
ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА

ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА

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

Одним из таких утверждений является то, что количество параметров должно быть минимальным, а лучше, чтобы их не было совсем. Статья будет интересна алгоритмистам и тем, кто хочет разобраться с устойчивостью результатов.
ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА
(вводная болтовня)

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

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

Равны ли все параметры по своей сути? Можно ли утверждать, что значимость параметра скользящей средней такая же, как у ImpliteVolatility, времени до экспирации, дельте, параметрам мани или риск-менеджмента, показателям стакана, открытому интересу, показателям из отчета COT, волатильности и.д.?

Выходит, что должен быть какой-то критерий, с помощью которого можно вычленить объективно существующие параметры, после чего их никак нельзя будет игнорировать.
Примеры скрытых параметров, которые присутствуют практически в каждой стратегии:

  • тайм-фрейм, если мы работаем по time-frame свечкам (если же используем другие виды свечек, то параметров может становиться и больше); 
  • показатели риск-менеджмента и мани-менеджмента, если вы ничего про это не слышали, то все равно вы его используете, просто хаотичный и не формализованный;
  • Если трейдер, чертит уровни, то у них приличное число жестких параметров, если конечно трейдер хочет быть уверен в свое стратегии, а не заниматься самообманом! Также и с треугольниками и фибоначи и всеми видами паттеров.

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

ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА
После осознания, того факта, что мы живем в океане неопределенности и даже не видим тех параметров, от которых мы бежим и пытаемся откреститься нужно выбрать стратегию поведения.
На мой взгляд лучше научиться работать с проблемой, чем ее игнорировать. Сегодня мы разберём один из способов определения, какой параметр на самом деле влияет на результат, какие параметры максимизируют нам прибыль и какие диапазоны параметров для нас предпочтительнее.

ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА
(Ближе к практике)
Первое что нам понадобится — это формализованная стратегия, которая генерирует эквити.
ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА
(Делается в WealthLab/TsLab)

Нам понадобится:

  • универсальный показатель успешности стратегии, с помощью которого можно сравнивать стратегии между собой (на выбор читателя);
  • бесплатная программа RapidMiner либо язык R и среда для работы с ним (также БЕСПЛАТНО).

Способность генерировать таблицы стабильности(HeatMap), о которых я писал в одной из статей.
ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА
Проводим оптимизацию стратегии:

  • желательно чтобы окно оптимизации включало большое количество различных фаз рынка;
  • желательно проводить полный перебор, если слишком накладно, то очень подробную генетику или SWARM >=70% результатов.

 ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА
Далее, нам нужно отсечь параметры, которые меньше всего влияют на результат, зафиксировать эти параметры в максимально устойчивой и одновременно прибыльной области. Таким образом, мы исключаем эмоции и домыслы по поводу параметров и получаем цифры, которым точно можно доверять.

Как я писал ранее, для таблиц стабильности нудны данные оптимизации стратегии на 2-х параметрах, возможен и 3-ий параметр, с небольшим разбросом 3-10 значений. В этом случае мы сможем построить несколько таблиц стабильности и выбрать одну из них, например по среднему значению всего полотна.
ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА
Наиболее действенное решение для определения степени воздействия предикторов на результат — это использовать специальные алгоритмы для dataMining и машинного обучения. Сегодня мы разберём один из самых известных и эффективных — это Random Forest (Интересные ссылки по теме, под Вашим лайком).

Итак, RandomForest и подобные алгоритмы помогут нам определить ЗНАЧИМОСТЬ (Importence) того или иного параметра стратегии.
ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА
RapidMiner — написан на C#- он значительно быстрее R и имеет больше параметров для настройки, но при наших объемах данных (в примере миллион прогонов) майнер «падает» при работе больше чем 60-ти деревьев. К плюсам можно отнести, что он загружает все ядра процессора и не нужно учиться программировать!

Загружаем данные
ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА
ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА
Данные должны выглядеть следующим образом:
ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА
Находим в поиске RandomForest (либо другой алгоритм):
ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА
Пример дерева решений
ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА
Основная наша задача выявить степень влияния каждого из параметров на результат, для этого воспользуемся функцией
Weight by Importence.
ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА
(Интересные ссылки по теме внизу статьи)

Анализируем результат
ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА
ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА

ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА
R загружает только 13% процессора. Для тех, кто не торопится — это удобно, можно параллельно выполнять какие-то другие задачи. Также, есть возможность обучать и 1000 деревьев, что было протестировано, но ждать нужно дня 3 (на нашем объеме данных), как я уже упоминал выше Rapid Miner может работать некорректно при использовании всего лишь 70-ти деревьев.

Загружаем данные
ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА
ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА
Отделим независимые параметры от зависимых и запустим Random Forest
ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА
Получим результат
ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА
Плюсом R является еще и то, что Excel просто не может обработать столько строчек, как в нашем примере. Как правило, данные нужно подготовить, и здесь нас выручает R.
Таким образом, удобно использовать R для создания датасета, но быстрее провести анализ в RapidMiner, их можно использовать в связке.
ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА
(рис. — Ошибка Excel, в случае большого количество данных для анализа)
ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА
Особенностью Random Forest в Rapid Miner является то, что здесь множество  настроек от которых зависит результат:
ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА
Имеется подробная справка по каждому из пунктов.

Параметры следует подбирать под задачу, поверхностный анализ выявит только самые очевидные зависимости
ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА
(это гифка, смотрим тут, напишите комент, как ставить гифки please)
Так как Rapid Miner работает очень быстро, мы можем подобрать настройки, таким образом, чтобы добиться требуемой глубины.
ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА
В результате того, что деревья у нас случайные, а их количество невелико, можно сделать несколько прогонов для уверенности и посмотреть консолидированные показатели!
ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА
Таким образом, выявили, какие параметры имеют большую значимость, и можем определить устойчивую положительную область каждого параметра, сначала разберём менее важные!

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

ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА
Следующий параметр имеет уже 6 возможных вариантов. Смотрим гистограмму средних значений и видим нормальное распределение — это хорошо, так как, рынок в часто меняется, но стратегия не начнет сливать слишком сильно и резко.
ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА
Далее остается 3 параметра.

Из 3-его параметра можно взять 10 значений и построить таблицу стабильности(HeatMap) с каждым из параметров. Либо как я показывал выше, построить гистограмму по средним значениям основной метрики и с лучшим из них построить таблицу стабильности.
ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА
Таблица стабильности стратегии (HeatMap)
ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА
ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА

Итак, сегодня мы

  • научились проводить исследования с помощью алгоритмов для DATAMINING, на примере RandomForest(деревьев решений) 2-мя различными БЕСПЛАТНЫМИ способами (Rapid Miner и RStudio);
  • Обозначили то, что параметры не равнозначны. Имеют различную прогностическую способность и соответственно разное влияние на результат;
  • Выяснили, как уменьшать количество параметров таким способом, чтобы максимизировать устойчивость  положительных результатов стратегии;
  • Научились выявлять самые устойчивые параметры стратегии с помощью таблиц стабильности.

ДАТАМАЙНИНГ(Rapid Miner & R) УМЕНЬШАЕМ ПАРАМЕТРЫ РОБОТА

(от этого зависит то, как часто я буду выдавать новый материал!)

Сообщество единомышленников  <<ЗДЕСЬ>>
(вступающим подарок много полезного)


Видео инструкция для начинающих в RapidMiner

Видео инструкция по RandomForest
Почему RF один из ведущих алгоритмов Machine Learning
RapidMiner Расширяем функционал с помощью R!!!

Про RandomForest в R читаем здесь

Оставьте комментарий

Войти