Что подать на вход нейросети? Ваши идеи... - страница 67

 
1.Вы не нормализуете датасет  значения так, чтобы они по структуре были подобны дальнейшим входам 2.Даже если у вас это получится это будет белый шум и никакая нейросеть не будет правильно работать.3.только сеть на подобии GPT  с тысячами нейронов и архитектур ,заточенных исключительно под торговлю,сможет более менее давать самый точный прогноз и адаптировать саму себя к белому шуму.А это уже отдельный сервер с огромными мощностями.
 
Точна
 
Forester #:

...



Машинное обучение и нейронные сети - Введение в выбор функций. Обсудим концепцию уменьшения размерности. Рассмотрим, как выбираем исходные признаки из набора данных.
Машинное обучение и нейронные сети - Введение в выбор функций. Обсудим концепцию уменьшения размерности. Рассмотрим, как выбираем исходные признаки из набора данных.
  • 2023.06.12
  • MetaQuotes
  • www.mql5.com
Снижение размерности направлено на уменьшение количества признаков в наборе данных. Методы извлечения и выбора признаков помогают уменьшить размерность данных. уменьшение размерности можно разделить на две подзадачи выбор признаков и извлечение признаков
 
Продолжаю творческие эксперименты. 

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

Каждый слепок – как некий огромный паттерн, который условно проецируется в будущее

 
Я вижу в этой теме много опытных программистов, на которых я равняюсь, поэтому я не хочу наступать никому на пятки.

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

На самом деле превзойти линейную регрессию, по моему мнению, очень впечатляюще (при условии, что вы не перемешиваете обучающие и тестовые наборы случайным образом).

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

Я обычно думаю, что существует либо

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

Я буду рад, если мне докажут, что я ошибаюсь. На самом деле я надеюсь, что ошибаюсь, и истинное решение гораздо проще.
 

Поскольку все НС умеют распознавать только котиков, опухоли и играть в доту, распознать торговую стратегию они не в состоянии, ведь данное задание - не для тупых сетей. 

В результате "обобщение" превращается в "усреднение", когда результат НС - это разного вида подгонки с разными извращениями. 

Поверни котика вверх ногами - он всё тот же котик. 
Поверни график цены вверх ногами - и у нас уже не BUY, а SELL. 



В итоге остаюсь при своём: если уж подгонять - так подгонять конкретно. 

1. Либо Q-таблица, где каждому историческому паттерну присваивается бай или сел на основе статистики

2. Либо входное (или выходное число НС) фильтруем по всему диапазону: какие-то места - сигнал к открытию, какие-то - игнор. 



Второй вариант - самая лёгкая реализация замены MLP: вместо десятков и сотен оптимизируемых параметров весов можно оптимизировать диапазон рабочего числа. 

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




 

Последние наблюдения:


Есть два типа входных данных:

1) Временная последовательность — однородные входные данные в хронологическом порядке: цены, показания индикаторов, паттерны.

2) Разнородные — единичные, но самые свежие показания разных инструментов: индикаторов, паттернов. 


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

Второй вариант — лучший. 


Первый вариант никак не поддаётся дресировке. Казалось бы больше графика — больше информации — лучше результаты. 
Но на практике всё с точностью наоборот. 

Далее — моё гипотетическое обоснование этому явлению:

У цены есть закономерность. Объективная, техническая — это волатильность. Да, именно она нам позволяет с уверенностью предположить, что из 10 случаев, в 10 как минимум цена не достигнет 0-вого значения. В 10 случаев из 10 цена по евро не пройдёт 5000 пунктов за 5-минутный бар. Форс-мажор чуть-чуть испортит абсолютную картину. 
Но элемент случайности всё же есть: в этой самой волатильности есть диапазоны свободного блуждания цены. И, цена в течение бара находится в этом среднем диапазоне. 

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

Так вот, а что, если сместиться на 1 бар назад? Какое предположение будет верным? Да, действительно: цена через 1 бар будет иметь уже 4-кратный свечной возможный диапазон. 

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


И вот это явление, мне кажется и влияет на откровенно говёные результаты НС: невомножность прогнозирования из прошлого накладывается на общую результативность — она ухудшается. 
Это подтверждается правилом практики: чем больше входов - тем хуже. 
Также это можно проверить: подать на вход пару свежих входов отдельно и 10 предыдущих — тоже отдельно. Результаты у первой будут в разы стабильней. 
Самые свежие входы "гнобятся" устаревшими в общем котле входов, где чаще всего показывают переобучение и абсолютнейший рандом на форварде. 

Вы можете парировать: так никто не подаёт только прошлые, они в общем котле составляют целлостность паттерна. И рассматривать входящий массив следует, как самостоятельный паттерн. 

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



Но вот второй вариант — это красота. Эта красота мало того, что имеет главное свойство предикта — свежесть данных, но и потенциально может реализовать работоспособность хронологии и паттернов: 

— всю хронологию графика можно реализовать одним числом и сделать одним входом

Например: отношение текущей цены к последним N свечам. 

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

 
Рыбу свежую тоже есть вкуснее 
 
Ivan Butko #:


Например: отношение текущей цены к последним N свечам

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

А как вы раньше делали? Абсолютные значения цен подавали на обучение? Типа 1.14241,1.14248.

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

Я на дельтах обучал всегда. Результат все тот же...

 
Forester #:

А как вы раньше делали? Абсолютные значения цен подавали на обучение? Типа 1.14241,1.14248.

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

Я на дельтах обучал всегда. Результат все тот же...

Всё делал

И голые цены и преобразованные, и угол между ценами