CloseToAlgoTrading
CloseToAlgoTrading личный блог
09 марта 2021, 12:54

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

Буквально на днях, в комментариях я выразил обеспокойство тем, что если брать ценовой ряд как фичу, то нужно наши входные данные (ценовой ряд) привести к одному виду, а это на мой взгляд довольно сложно. Простой пример это волатильность, если она изменяется, то наша сеть начнет выдавать больше ошибок. 
Эти размышления, заставили меня вернуться к основам, и посмотреть сможет ли сеть выучить простейшие математические функции. Конечно, с линейной функцией проблем не возникло, а вот с нелинейными как и ожидалось мы получили массу проблем. Так как сети неплохо работают внутри того диапазона на котором они обучались, и с грохотом проваливаются вне этого диапазона. 

Вот простой пример предсказания функции синуса. y = sin(x)

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

На самом деле, мне кажется это довольно большая проблема в целом. 

Сварганил небольшое видео с несколькими различными эксперементами, кому интересно можно посмотреть. Код как обычно на гитхабе, ссылка в описании к видео. *Есть русские субтитры %)




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

37 Комментариев
  • ves2010
    09 марта 2021, 12:59
    нс должна распознавать а не предсказывать
  • drow
    09 марта 2021, 13:16
    Распознать или предсказать, значит фактически понять суть процесса или явления, когда нейросетки это смогут сделать, проект хомо сапиенс можно закрывать. Мне кажется народ из-за наличия дешевых вычислительных мощностей вконец обленился.
  • Сергей Андреев
    09 марта 2021, 13:18
    Ну, на вход можно подавать дофига всего. К примеру, вместо данных по цене можно подавать данные с индикаторов, у которых довольно ограниченный диапазон изначально. Хотя, грамотно спроектированная сеть сама может построить любой индикатор внутри себя. Можно падавать данные по изменению цены, а не саму цену.
  • svgr
    09 марта 2021, 13:21
    Так ты скажи ей: «си-инус», она коэффициенты лишь подберёт и ОК.

Активные форумы
Что сейчас обсуждают

Старый дизайн
Старый
дизайн