Использование Нейронных сетей в трейдинге. - страница 2

 
ошибка всегда всречаемая - это невключение "уровневого"и "объёмовго"(объемы на фьючрес) измерения
 
Neutron писал(а) >> скармливать в качестве входных данных уже препарированный временной ряд, т.е. не каждый бар, а вероятные ключевые точки

Вообще, временные ряды, в частности финансовые, не рекомендуется прерывать - теряется информация.....

 
StatBars писал(а) >>

Сигмоидальная функция сама по себе разве не выравнивает распределение... Моё мнение при предобработке важнее решить проблему стационарности данных.

Вот кстати формулу которую Вы привели, у меня получается W=420, d=14, сл-но P>50400 - не кажется ли Вам что немного большеватая выборка получается?

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

Что касается "большеватости" выборки, то тут возможен компрмис. Например, можно, при меньшей длине имеющихся исторических данных, посоветывать ранний останов обучения, это позволит избежать эффекта переобучения, но классифицирующие способности НС при таком способе обучения, будут в любом случае уступать НС обученной на достаточно бОльшой истории.

По-моему опыту(небольшому) и статьям число примеров в выборке не зависит так как Вы предлагаете...

А по-моему опыту - противоречия нет - всё согласно теории.

LeoV писал(а) >>

Вообще, временные ряды, в частности финансовые, не рекомендуется прерывать - теряется информация.....

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

 
Neutron писал(а) >> Из-за сложности обучения НС, мы всегда вынуждены искать компромис между сложностью архитектуры и вычислительной мощностью. С наличием предельной сложности используемой нами архитектуры мы, естественно, имеем ограничение на предельную размерность входа НС, как следствие, на вход мы можем подать вектор не длинее некоторого (сотня другая максимум) и приходится выбирать между потерей данных и охватом истории. Порой, важно, побольше охватить и за разумное время осмыслить охваченное (в терминах ИИ).

Гнаться за сложностью архитектуры нейросети нет смысла, так как 10-15 нейронов легко и непренуждённо выучат историю из 1500-2000 баров, а то и больше. Но чем лучше они выучат историю, тем хуже будут работать в будущем - наступает эффект перетренировки. Гораздо эффективнее и продуктивнее подобрать "правильные" входы, которые будут давать правильную информацию НС о движении инструмента.

 

Леонид, да нет проблемы с переобучением НС - она от непонимания сущности происходящего внутри этого ящика с красивым названием и тремя гвоздями внутри. Не бери обучающую выборку короче минимальной и не придётся решать методом тыка - что лучше, что хуже!

Насчёт "правильных" входов я согласен с тобой на 100% в этом залог успеха - всё, что можно решить за НС-ку - нужно решить самостоятельно. Ей нужно оставить, то, что решение не имеет или оно неоправдано сложно. Например, не имеет вобще смысла подавать на вход Зиг-Заг. Поведение НС в этом случае очевидно - она выучит то, что лежит на поверхности - знакопеременность плеч ЗЗ, и толку от таких входных данных - ноль.

 
Neutron писал(а) >>

Леонид, да нет проблемы с переобучением НС - она от непонимания сущности происходящего внутри этого ящика с красивым названием и тремя гвоздями внутри. Не бери обучающую выборку короче минимальной и не придётся решать методом тыка что лучше, что хуже!

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

 

Всё правильно. Прямо в точку!

Реально, если решать задачу в лоб, то получается, что оптимальная длина выборки есть: P>(W^2)/d, а с учётом нестационарности процессов на рынке, получается оптимум в районе

P=(4-8)*(W^2)/d . Это то, о чём ты говоришь.

 
Neutron писал(а) >>

Примерно так получается: до преобразования, после, Картинки не с одной и тойже выборки, но тем не менее проделывал это много раз эффект тот же...

 

Вижу, что ровно стало.

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

Ну, или ещё в чем-нибудь прокол при анализе.

 
Neutron писал(а) >>

Вижу, что ровно стало.

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

Ну, или ещё в чем-нибудь прокол при анализе.

На рисунках не нормализованные данные и к тому же с разных данных, я просто пример привёл того что делал(как это выглядит в результате)

А вот скрипт, можете с помощью него и посмотреть что получается на выходе(только к входным данным чур не придираться этот скрипт делал просто для примера...)

//Тип 0 - линейная нормализация, 1 - нелинейная

Файлы:
Причина обращения: