Разметка данных для нейросетей. Ваши идеи... - страница 3

 
Пришла в голову такая идея. 
Покажется банальной, но я не видел, чтобы её реализовывали. 

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

У ручных трейдеров я подсмотрел, что они используют метод обнаружения разворотных моментов. Они так и называют его "Разворотный момент" (РМ). 
РМ - это группа небольшого количества свечей с экстремумом посередине, после которых происходит реакция цены типа импульса. 
И строят они эти разворотные моменты по своим каким-то правилам.

Казалось бы - это же фрактал.
Но от фрактала их отличают положение на графике: не любое место, а возле определённых уровней, которые в свою очередь являются частью какой-то глобальной конструкции. 
И второе отличие: динамическое количество свечей слева и справа от экстремума. Не строго 1, или 2, или 5 по бокам, а разное количество с обеих сторон. 

Конструкция (контекст) нас не то, чтобы сейчас не интересует, просто её мы можем частично формализовать, в результате чего можем использовать обычные фракталы и "отфильтровать" их.


Берём обычные фракталы (назовём их базовыми), но с увеличенным количеством свечей слева и справа. 
Делим их на годные и негодные. 
Деление производим следующим образом: 
1) Общее деление: выбираем фракталы старшего ТФ или просто текущего ТФ, но с кратно увеличенным количеством свечей слева и справа (старшие фракталы), и помечаем базовые фракталы, которые совпадают со старшими, как годные. 
Все отальные фракталы текущего ТФ либо помечаем, как негодные, либо вообще не трогаем. 


2) Дополнительное деление: те фракталы, которые имеют слишком большие последние свечки справа, не позволяющие выставить маленький стоп (за экстремум) - помечаются как негодные. Это чтобы находить выгодные РМ с хорошим потенциалом риск-реварда.

 

Такое деление с одной стороны симулирует контекст, с другой позволяет использовать фракталы.


Теперь обучение. 

В идеале использовать метод кластеризации, в которой можно обучать с динамическим количеством свечей слева и справа. Тогда не понадобится дополнительное деление, ведь гипотетически метод сам отфильтрует те РМ, которые не подходят, и подходят, даже если их фракталы состоят из пары свечей. 
 
Может точки Д'Марка приладить? 
 
Ivan Butko #:
Теперь обучение. 

В идеале использовать метод кластеризации, в которой можно обучать с динамическим количеством свечей слева и справа.
Вот прямо сейчас для получения предсказания, откуда свечи справа надо брать?


В целом смотрю на разметку и вижу зигзаг с большим шагом.

 
Aleksei Kuznetsov #:
Вот прямо сейчас для получения предсказания, откуда свечи справа надо брать?


В целом смотрю на разметку и вижу зигзаг с большим шагом.

Все свечи исторические. 

Даже в режиме онлайн с обученной моделью берутся текущие N свечей. И, если модель сигналит "разворотный момент", то дальше уже в зависимости от задач:

1) Либо это сигнал к тому, что цена развернулась и пошла в протиовположную сторону на длительное время, по мнению модели
2) Либо это предварительный сигнал, после которого вступает в работу другая ТС, но в конкретную сторону
3) Либо это сигнал к открытию, согласно порогам модели

В первом случае - это дополнительный интрумент анализа, составная часть системы принятия решений (если ТС аналитическая). 


UPD

Смысл был в том, чтобы выбрать какие именно свечные формации размечать "так", а какие "сяк". 
 
Ivan Butko #:
Все свечи исторические. 

Даже в режиме онлайн с обученной моделью берутся текущие N свечей.

Если при предсказании не справа и при обучении тоже справа ничего не брать - то алгоритм рабочий.

 
Ivan Butko #:

Смысл был в том, чтобы выбрать какие именно свечные формации размечать "так", а какие "сяк". 
Не знаю как с фракталами, а с зигзагом начиная с появления нового колена каждый максимум может быть последним, а их могут быть сотни по мере движения цены в том же направлении. Ну тут задача МО решить, близок разворот или нет.
 
Aleksei Kuznetsov #:

Если при предсказании не справа и при обучении тоже справа ничего не брать - то алгоритм рабочий.

Я может некорректно выразился. 

Вот есть датасет. В нём собственно входной сет и целевая. Такой, классический стандартный кейс. Для обучения с учителем.
И вот эти входные сеты - они все одинакового размера. 

Другой датасет, без целевых. Для кластеризации. У него тоже все входные сеты одинакового размера, насколько мне известно. 

Но что, если на графике существуют ситуации, когда не нужно анализировать 10 свечей? Например, если "рабочий" паттерн состоит из 3 последних (самых свежих закрытых) свечей. А модель продолжает анализировать 10 свечей. И вот эти "7 предыдущих" свечей руинят (загрязняют, зашумляют) входной сигнал. 

Я про такую гипотетическую ситуацию в МО, которая является существующей практикой торговли у действующих трейдеров: у них в арсенале множество свечей и они могут дать предпочтение паттерну из 1 свечи, 2-3-4-5-10 и тд свечам. 

Я просто не знаю, как на языке машин это всё выглядит, существует ли метод, который бы "выкидывал" из датасета какие-то входы, чтобы была подобная симуляция анализа. 


В принципе, в основной идее достаточно просто разделения на "колпаки", которые являются экстремумными свечами, после которых идут направленные движения. 

Почему я акцентировал внимание на фрактальности (по Биллу В.)? 

Потому что для разворота нужны стартовые свечки в обратном направлении (как у ручных трейдеров), а если просто подавать последние N свечей прямо перед самым разворотом (тик в тик), то такое выглядит как нечто неестественное. Этакая "подгонка" и "переобучение" на этапе подготовки. 

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


UPD

ЗигЗаг, Демарк

Да, главное - выделить те, после которых цена попёрла. А остальные "приглушить" в модели, либо не трогать. 

И ноги ЗигЗага как раз состоят из разного количества свечей (как это реализовать? как в таком случае готовить входной сет для обучения?). 
 
Ivan Butko #:
Я может некорректно выразился. 

Вот есть датасет. В нём собственно входной сет и целевая. Такой, классический стандартный кейс. Для обучения с учителем.
И вот эти входные сеты - они все одинакового размера. 

Другой датасет, без целевых. Для кластеризации. У него тоже все входные сеты одинакового размера, насколько мне известно. 

Но что, если на графике существуют ситуации, когда не нужно анализировать 10 свечей? Например, если "рабочий" паттерн состоит из 3 последних (самых свежих закрытых) свечей. А модель продолжает анализировать 10 свечей. И вот эти "7 предыдущих" свечей руинят (загрязняют, зашумляют) входной сигнал. 

Я про такую гипотетическую ситуацию в МО, которая является существующей практикой торговли у действующих трейдеров: у них в арсенале множество свечей и они могут дать предпочтение паттерну из 1 свечи, 2-3-4-5-10 и тд свечам. 

Я просто не знаю, как на языке машин это всё выглядит, существует ли метод, который бы "выкидывал" из датасета какие-то входы, чтобы была подобная симуляция анализа. 


В принципе, в основной идее достаточно просто разделения на "колпаки", которые являются экстремумными свечами, после которых идут направленные движения. 

Почему я акцентировал внимание на фрактальности (по Биллу В.)? 

Потому что для разворота нужны стартовые свечки в обратном направлении (как у ручных трейдеров), а если просто подавать последние N свечей прямо перед самым разворотом (тик в тик), то такое выглядит как нечто неестественное. Этакая "подгонка" и "переобучение" на этапе подготовки. 

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


UPD

ЗигЗаг, Демарк

Да, главное - выделить те, после которых цена попёрла. А остальные "приглушить" в модели, либо не трогать. 

И ноги ЗигЗага как раз состоят из разного количества свечей (как это реализовать? как в таком случае готовить входной сет для обучения?). 

Представляю 2 варианта (по ЗигЗагу но у вас то же самое по сути):

1) на каждом новом обновлении экстремума по ходу тренда предсказывать будет ли разворот - тут можно попасть и в экстремум (иногда, случайно). Чтобы не тестировать каждый тик/свеечу делаю это с шагом (сетка, но не для набора лотности, а для снижения вычислительной нагрузки)

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

И то и другое можно считать базовыми разметками, которые потом можно фильтровать.

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

Но всё некогда... постоянно отвлекаюсь на что-то другое - на лопаты, а не на копание.
Вот закончил очередную лопату, пора начинать что-то исследовать.

 
Может брать все ноги (минимум 1000 предыдущих, и все их "рисовать в прследней точке излома, и пусть выбирает среднее(условно) куда пойдет, вверх или вниз 
 
Aleksander #:
Может брать все ноги (минимум 1000 предыдущих,

До 10 анализировал, но и то многовато. Плюс дольше обучение. 3-5 наверное достаточно.  Но это смотря какое МО, настройки и т.п. Может и в 1000 есть толк.

Aleksander #:
  и пусть выбирает среднее(условно) куда пойдет, вверх или вниз 

Среднее обычно = 0. Алексей Николаев кажется исследовал этот момент. Так что простое рисование/усреднение - слабоватый инструмент. Надежда на МО, но и  с ним сложно...