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

 
Перепробовал все архитектуры MLP и RNN 
До 5 слоёв, до 20 нейронов в слое. Больше - не позволяет оптимизатор МТ5

Результат любопытен: чем больше слоёв - тем хуже. Чем больше нейронов - тем хуже. 

Рекорд: 1 вход, 1 слой, 1 нейрон - оказался лучше всех. 

Не понимаю вообще. 

То есть, 1 входа достаточно, чтобы даже 1 нейрон, умножая лишь 1 вес на этот вход, поддерживал стабильную торговлю дольше всех. 

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

Видимо копать нужно в этом месте: локально в пределах маленькой, но уютной "кошачьей коробке"
 
Ivan Butko #:
Перепробовал все архитектуры MLP и RNN 
До 5 слоёв, до 20 нейронов в слое. Больше - не позволяет оптимизатор МТ5

Результат любопытен: чем больше слоёв - тем хуже. Чем больше нейронов - тем хуже. 

Рекорд: 1 вход, 1 слой, 1 нейрон - оказался лучше всех. 

Не понимаю вообще. 

То есть, 1 входа достаточно, чтобы даже 1 нейрон, умножая лишь 1 вес на этот вход, поддерживал стабильную торговлю дольше всех. 

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

Видимо копать нужно в этом месте: локально в пределах маленькой, но уютной "кошачьей коробке"

Главный фактор - количество переменных

 
Ivan Butko #

Не понимаю вообще. 

Bias-variance tradeoff, азы ML.
 
Maxim Dmitrievsky #:
Bias-variance tradeoff, азы ML.

Пробовал от противного: переобучал донельзя, почти пункт в пункт, чтобы на форварде сливала стабильно, а после чего переворачивал позиции. Да, слив прекратился, но превратился во флет из-за спреда огромного количества сделок. Один облом компенсирует другой. 

 
Ivan Butko #:

Пробовал от противного: переобучал донельзя, почти пункт в пункт, чтобы на форварде сливала стабильно, а после чего переворачивал позиции. Да, слив прекратился, но превратился во флет из-за спреда огромного количества сделок. Один облом компенсирует другой. 

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

То есть чтобы на тренировочных было достойно и на тестовых приемлемо. Компромисс. Если не нравится результат, тогда надо данные менять. И так по кругу, до морковкиного заговенья.
 
Попробуйте волатильность (индикатор std). На новых данных получше будет, потому что она всегда примерно одинаковая, в зависимости от времени. Будет только разница, если на новых данных при такой же волатильности рынок в среднем в другую сторону двигается. Тогда можно еще фильтр по времени добавить, чтобы найти когда одинаково.
 
Maxim Dmitrievsky #:
Попробуйте волатильность (индикатор std). На новых данных получше будет, потому что она всегда примерно одинаковая. Будет только разница, если на новых данных при такой же волатильности рынок в другую сторону двигается.

Благодарю за совет. 

Была идея в своих данных нормализовать их (обрубить хвост) до одного знака после запятой .0; 
Мол, создать стационарность, а то реагирует на эти мелкие числа и из-за них тупо запоминает "путь" цены как-будто

 
Ivan Butko #:

Благодарю за совет. 

Была идея в своих данных нормализовать их (обрубить хвост) до одного знака после запятой .0; 
Мол, создать стационарность, а то реагирует на эти мелкие числа и из-за них тупо запоминает "путь" цены как-будто

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

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

На вход можно подавать всё что угодно: 

время дня, день недели, можно и фазы луны и тд. и тп.

Нормальная сеть сама отсортирует нужные и ненужные данные.

Главное это чему учить!

Обучение с учителем здесь плохо подходит. Сети с обратным распространением ошибки просто бесполезны.