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

 
Решил выделить отдельно тему от следующих:
Что подать на вход нейросети? Ваши идеи...
Что такое обучение?, поскольку разметка данных для обучения с учителем — это отдельная творческая ступень, в которой вариантов может быть такое же количество, как и вариантов входных данных, естественно — в контексте графика форекс. 

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

В общем, начало положу почти такое же, как и в ветке входных данных:
— цены закрытия
 разность цен закрытия N свечей подряд
 отношение цены закрытия ко всем OHLC всех N свечей подряд
— всё вышеперечисленное с промежутками N и N*k между свечами



Сейчас же в голову пришла следующая идея:

1) Устанавливаем субъективно строгую ожидаемую прибыль: ожидаемый ТП. Допустим, ТП = 200 п.

2) Начинаем уходить в будущее каждый бар и раздвигать Хай и Лоу в переменные макс и мин: если хай выше макс (по-умолчанию равен самой свежей цене закрытия рассматриваемого временного шага) - переписываем макс (макс = хай), и тоже самое с мин. С каждой новой итерацией в будущее на один бар проверяем Хай и Лоу, пока одна из переменных не разрастётся до размеров больше, или равному 200 пунктов. И, в зависимости от того, какая из переменных "дойдёт до финиша", в ту сторону и размечаем сет входных данных: если макс - то BUY, если min - то SELL.

3) Этот шаг и последующий — уже для темы "Что такое обучение", наверное: повторяем пп. 1 и 2, но уже с другой ожидаемой прибылью, столько раз, сколько желаем иметь ансамбль из нейросетей: допустим 3 нейросети, каждая из которых будет обучена на разметках 200 п., 400 п., и 600 п.

4) Соединяем три нейросети и устанавливаем порог (или правило): если три нейросети покажут BUY, то открываем позицию с ТП, который уже будем оптимизировать. Это для общего правила. А теперь для порога: если все три нейросети показывают > N порога (совокупного или каждая нейросеть по отдельности), то открываем позицию.

5) Подгонять разные входные данные под такой подход (эксперименты и опыты). 


Преимущества подхода а части разметки:
  1. Избавляемся от дурацкого фактора свечей, а именно их строгого конкретного периода, временного периода прогноза. То есть, в стандартном варианте "предсказываем следующую свечу" мы прогнозируем конкретное время (вангование или Ганнование), а цена вольна размеренно ходить по ренджам, дремать по ночам в азиатскую сессию и впринципе не хотеть ходить куда-то в конкретную свечу (в ожидании новостей). Поэтому предложенный подход к разметке — это уже на шаг ближе к структуре цены.
  2. Избавляемся от ещё одного неприятного фактора, но уже в многошаговой регрессии (многошагового пронозирования) — прогнозирование конкретного числа значений, которые также фантастично обязаны предсказывать именно N шагов, а не N+1 сейчас и N-2 в следующий раз. Предложенный же подход разметки позволяет цене разгуляться во времени, содержать динамичность, гибкость и позволяет цене самой решать, когда ей "добраться до тейк-профита". 

Что подать на вход нейросети? Ваши идеи... - Лучше разницу цены со средней и серединой диапазона. Убирайте постоянную составляющую.
Что подать на вход нейросети? Ваши идеи... - Лучше разницу цены со средней и серединой диапазона. Убирайте постоянную составляющую.
  • 2022.09.18
  • Ivan Butko
  • www.mql5.com
разность цен закрытия N свечей подряд со всех пар-союзников как со стороны евро. отношения теней свечей к их телам N свечей подряд. отношение цены закрытия ко всем OHLC всех N свечей подряд. все вышеперечисленное с промежутками N и N k между свечами
 
Ivan Butko:
...

1) Устанавливаем субъективно строгую ожидаемую прибыль: ожидаемый ТП. Допустим, ТП = 200 п.

2) Начинаем уходить в будущее каждый бар и раздвигать Хай и Лоу в переменные макс и мин: если хай выше макс (по-умолчанию равен самой свежей цене закрытия рассматриваемого временного шага) - переписываем макс (макс = хай), и тоже самое с мин. С каждой новой итерацией в будущее на один бар проверяем Хай и Лоу, пока одна из переменных не разрастётся до размеров больше, или равному 200 пунктов. И, в зависимости от того, какая из переменных "дойдёт до финиша", в ту сторону и размечаем сет входных данных: если макс - то BUY, если min - то SELL.

3) Этот шаг и последующий — уже для темы "Что такое обучение", наверное: повторяем пп. 1 и 2, но уже с другой ожидаемой прибылью, столько раз, сколько желаем иметь ансамбль из нейросетей: допустим 3 нейросети, каждая из которых будет обучена на разметках 200 п., 400 п., и 600 п.

4) Соединяем три нейросети и устанавливаем порог (или правило): если три нейросети покажут BUY, то открываем позицию с ТП, который уже будем оптимизировать. Это для общего правила. А теперь для порога: если все три нейросети показывают > N порога (совокупного или каждая нейросеть по отдельности), то открываем позицию.

5) Подгонять разные входные данные под такой подход (эксперименты и опыты).
Как пример — создание пересиживателя 

Немного другой тип обучения: сперва на разметке 600 п., затем ту же самую модель дообучил на разметке 200 п.

Обучаемый период 2012-2021




Бектест 2000-2012:





Форвард-тест 2021- по сегодняшний день:




Хороший потенциал для сеток с ИИ — как фильтр обхода нежелательных входов (из категории "повышем безопасность сеток")

Либо для ночного скальпинга: нечто подобно производить уже с другими размерами, с фильтрацией по времени и тд.
[Удален]  
Кровь из глаз пошла при попытке прочтения очередного научного шедевра
 
Maxim Dmitrievsky #:
Кровь из глаз пошла при попытке прочтения очередного научного шедевра

Сказал тип, который зачем-то тырит мои идеи 


[Удален]  
Ivan Butko #:

Сказал тип, который зачем-то тырит мои идеи 

Ты же знаешь, что реально твое?) то, что пока ещё в полете. Народная мудрость. 
 
Ivan Butko:

2) Начинаем уходить в будущее каждый бар и раздвигать Хай и Лоу в переменные макс и мин: если хай выше макс (по-умолчанию равен самой свежей цене закрытия рассматриваемого временного шага) - переписываем макс (макс = хай), и тоже самое с мин. С каждой новой итерацией в будущее на один бар проверяем Хай и Лоу, пока одна из переменных не разрастётся до размеров больше, или равному 200 пунктов. И, в зависимости от того, какая из переменных "дойдёт до финиша", в ту сторону и размечаем сет входных данных: если макс - то BUY, если min - то SELL.

Так и делаю много лет, с ТП и СЛ. У вас без СЛ, это эквивалентно огромному СЛ например 20000. Нужно очень много денег на балансе, чтобы секту отрытых не в ту сторону сделок держать с шагом 200. + свопы каждый день платить. Вы какой то кухне хотите 10000-100000 $ доверить? Уверены, что свои хотя бы выведете обратно?

3) Этот шаг и последующий — уже для темы "Что такое обучение", наверное: повторяем пп. 1 и 2, но уже с другой ожидаемой прибылью, столько раз, сколько желаем иметь ансамбль из нейросетей: допустим 3 нейросети, каждая из которых будет обучена на разметках 200 п., 400 п., и 600 п.

4) Соединяем три нейросети и устанавливаем порог (или правило): если три нейросети покажут BUY, то открываем позицию с ТП

Все будет определять разметка по 600. Думаю эквивалентно одной разметке с ТП=600, СЛ=200.

 
Forester #:

Так и делаю много лет, с ТП и СЛ. У вас без СЛ эквивалентно огромному СЛ например 20000. Нужно очень много денег на балансе, чтобы секту отрытых не в ту сторону сделок держать с шагом 200. + свопы каждый день платить.

То был пример работы с пересиживателем/сеткой, а по-дефолту - идея как раз оптимизировать TP/SL уже в тестере стратегий,у обученной модели

Модель как бы "слепая" и "глухая", но она "чувствует", грубо говоря, что вот где-то тут или там вероятность того, что сходит "много" - выше. А насколько: около N пунктов. И дальше уже в тестере оптимизируем.

Forester #:

Все будет определять разметка по 600. Думаю эквивалентно одной разметке с ТП=600, СЛ=200.

Мечта. Маленький стоп, огрмный тейк. Самое сложное задание обычно для моделей. 

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

 

Имхо, пришло время задуматься над переходом к обучению без учителя.

Вероятностное МО, например.

 
Aleksey Nikolayev #:

Имхо, пришло время задуматься над переходом к обучению без учителя.

Вероятностное МО, например.

Всё пытаюсь к нему прийти.
Чисто интуитивно кажется, что без учителя больше рыбы

[Удален]  
Aleksey Nikolayev #:

Имхо, пришло время задуматься над переходом к обучению без учителя.

Вероятностное МО, например.

Без учителя - без точности. Котировки и трейдинг любят точность :)

 
Maxim Dmitrievsky #:

Без учителя - без точности. Котировки и трейдинг любят точность :)

Никаких точностей на рынках нет и никогда не будет. Есть только приблизительности, случайные совпадения не в счет.