Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 540

 
Dr. Trader:

Встретилось понятное для меня описание LSTM нейрона, написал небольшой код что бы его протестировать. Статья - http://datareview.info/article/znakomstvo-s-arhitekturoy-lstm-setey/

В коде берётся 100 бар eurusd m5, считаются приросты по барам, lstm нейрон обучается предсказывать следующий прирост опираясь на последний известный.
Обучение сделал без сложных аналитических уравнений, веса нейрона подгоняются на дискретной lbfgs оптимизации, так хуже но для простенького теста подойдёт.

Оценка предсказания (R2) получилась в итоге чуть больше ноля, что очень мало, но всё же лучше случайного угадывания. Учитывая что lstm нейрон берёт не какие-то индикаторы или массив приростов, а всего лишь одно единственное значение из которого прогнозирует следующее, и так повторяется для каждого бара, и вообще всё очень просто - результат получился лучше чем я ожидал. Но если брать тысячи бар то оценка R2 получается < 0, плохо. И похоже что на форексе на новых данных результат такой модели очень ухудшается, нужно изобретать какие-то велосипеды с кроссвалидацией, в таком простом виде как сейчас профита не будет.

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



Судя по картинке предсказывает предыдущий бар. Или я что-то не понимаю?

 
Maxim Dmitrievsky:

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

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

Не знаю как он модель строит. У меня модель учится на 100 эпохах 1-3 минуты.

PS. Причем сходимость модели можно останавливать на эпохе 20-40, то есть еще сократить можно время обучения.
 
Кому интересно, держу репозиторий с проектом на гитхаб.
Давно его не обновлял, так что код там старый, но принцип сбора, обработки, и сохранения прогноза, а также примеры моделей рекурентных сетей там есть.
 
Maxim Dmitrievsky:

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

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

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


СанСаныч Фоменко:

Судя по картинке предсказывает предыдущий бар. Или я что-то не понимаю?

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


Aleksey Terentev:
Кому интересно, держу репозиторий с проектом на гитхаб.
Давно его не обновлял, так что код там старый, но принцип сбора, обработки, и сохранения прогноза, а также примеры моделей рекурентных сетей там есть.
Спасибо, попробую запустить. Перед этим пытался разобраться с mxnet, но их примеры были для работы с текстами а не временными рядами, так что далеко не продвинулся.
 
Dr. Trader:

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


он тоже так думал, судя по статьям

 

ни у кого нет либы нормальной на cpp с линейной регрессией? что бы можно было feature importance чекать.. или дискриминантный анализ.. или леса.. что-нибудь что можно портировать :) алглиб слишком простой

лучше конечно регрессия+леса

 
Maxim Dmitrievsky:

 алглиб слишком простой

и простой плохо и сложный плохо...

Вы один из тех немногих моих учеников которому кое что мешает, как плохому танцору.

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

 
Vasily Perepelkin:

и простой плохо и сложный плохо...

Вы один из тех немногих моих учеников которому кое что мешает, как плохому танцору.

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


ты как навязчивая челочка которой 5 раз сказали "нет" а она все равно пишет тебе вконтактик и смс очки

 
Maxim Dmitrievsky:

ни у кого нет либы нормальной на cpp с линейной регрессией? что бы можно было feature importance чекать.. или дискриминантный анализ.. или леса.. что-нибудь что можно портировать :) алглиб слишком простой

лучше конечно регрессия+леса

https://github.com/Artelnics/OpenNN - простая для изучения библиотека. Но нет многих современных методик. Регрессия имеется, а вот лесов нет.
https://github.com/Microsoft/CNTK - Мультитул. Не изучал. Как вариант использования длл.
https://github.com/BVLC/caffe - Также достаточно мощная, для варианта с длл.
 
Vasily Perepelkin:

и простой плохо и сложный плохо...

Вы один из тех немногих моих учеников которому кое что мешает, как плохому танцору.

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


Учитель, хватит флудить. Или ты по спаму и флуду учитель?

Причина обращения: