Блог им. 3Qu

"Простые" нейросети в трейдинге.

    • 19 ноября 2023, 19:09
    • |
    • 3Qu
  • Еще
Болею, простуда, температуры почти нет — думаю, что в адеквате.) Чем-то серьезным заниматься явно не хочется, а писать посты на СЛ легко и приятно.
Последнее время на СЛ стало много постов об искусственном интеллекте (ИИ) и нейросетям (НС). Про ИИ я ничего не знаю, от слова совсем — мне это не по погонам, а в НС простой структуры что-то понимаю. Даже прочитал одну книгу — читал аж 3 месяца. А что вы хотите, почти 1000 страниц, сплошная математика, описаны перцептроны, SVM, машины Больцмана, рекуррентные, сверточные НС и пр. «простой» структуры. «Простой», в смысле без наворотов и вывертов. Сама такая «простая» НС может содержать хоть бесконечное число элементов. Саму книгу рекомендовать не буду — оч много математики и, чтобы разобраться, нужно как минимум 3-4 курса ВУЗа.
Но что написано в книге — «НС, как правило не применяется самостоятельно и хорошо решает узкоспециализированные конкретные задачи в составе сложных систем». © Цитирую по памяти.
Т.е., в дополнение к НС, нам еще нужно неплохо разбираться в смежных областях для построения системы, а также уметь выделить и сформулировать задачу для самой НС в составе системы и подготовить для НС данные. М… да, нехило так получается. Никому не рекомендую таким заниматься.) Мне можно, мне это интересно.)
А давайте, все же, попробуем что-то конкретное на НС для трейдинга, скажем, прогнозирование котировок фьючерса на 5 минут вперед, благо у меня имеется рояль в кустах некий задел из моих же старых топиков о НС.
Сначала попробуем решить задачу прогнозирования котировок напрямую, непосредственно НС. Для этого возьмем перцептрон с 15 входами и одним выходом, около 100 нейронов. На вход будем подавать нормированную последовательность Close 1м свечей, на выходе у нас будет прогноз.
Некоторые для подачи на входы НС ищут какие-то предикторы (по сути, индикаторы) — этого нам не надо, 1-2 дополнительных слоя и НС при обучении самостоятельно построит необходимые ей предикторы (индикаторы), при условии, разумеется, что поставленная НС задача имеет решение.
Итак, делаем, обучаем, получаем результат.
"Простые" нейросети в трейдинге.
По х — прогнозируемое значение на 5 минут, по у — реальное значение.
Ну, да, ежу понятно, что ни фига эта наша НС не прогнозирует. Решение для такой задачи похоже отсутствует. Ну, да, нас предупреждали, что — «НС, как правило не применяется самостоятельно и хорошо решает узкоспециализированные конкретные задачи в составе сложных систем». ©"
Хорошо, последуем советам классиков и попробуем применить для прогнозирования котировок на 5 минут вперед этот же перцептрон, но в составе системы. На вход НС будем подавать те же 15 котировок Close свечей 1м, с выхода будем брать прогноз, с тем отличием, что этим процессом будет управлять система.
Обучаем, получаем результат.
"Простые" нейросети в трейдинге.
Опаньки, вот вам и прогноз на 5 минут вперед. В составе системы это уже работает
по х — прогноз на 5 минут, по у — реальное значение. по x,y — нормированные значения приращений котировок за 5 минут.
Технология, естественно, не раскрывается, know how, однако. Топик написан исключительно с целью показать, что даже простые решения с НС могут реально работать с рыночными временными рядами.
Сразу отвечу на вопрос, использовалось ли это в реальных ТС — Нет, не использовалось и в обозримом будущем не планируется.

ЗЫ Как обычно в моих топиках, комментарии модерируются автором. Пишите по делу и не задавайте глупых вопросов.)
★2
30 комментариев
А с линейной регрессией где сравнение? Сравните НС с оптимальной линейной регрессией в той же задаче.
avatar
А. Г., мне это не надо. Я никому ничего не доказываю.)
avatar
3Qu, это надо, если Вы хотите понять, что делаете.

А ещё есть второй вопрос: второй график получен на том, что сеть не видела в процессе обучения или это график, включающий данные, на которых она оптимизировалась? 

И третий: отличается ли дисперсия этого прогноза от дисперсии прогноза нуль в изменении цены?
avatar
А. Г., безусловно на свежих данных.
avatar
3Qu, а дисперсия?
avatar
В составе системы это уже работает
То же самое покажет вариант «система без НС»)
avatar
Поправляйтесь. Пейте витамин C в шипучих таблетках если начинаете заболевать. Сразу спасает и не болееш.
avatar
не понял, а система без НС работает или нет
avatar
SergeyJu, эт каким образом? А кто тогда прогнозировать будет? Кроме НС больше, вроде, некому.))
avatar
Вполне адекватная статья для больного человека.
 Пардон, болеющего.

Результаты нереалистичные, 99% вероятность ошибки.

 

Предположим мы берем предикты (ось Х) только от 5 и более. По Графику видно, что там дофига точек в этот отрезок попадает, и на графике невооруженным глазом видно, что все эти точки больше 0. Т.е. мы на репрезентативной (большой) выборке получим winrate 100% — не, так не бывает). 

avatar
Replikant_mih, стало быть, бывает.) Откуда НС м.б. известна котировка на t+5. Система и НС видят только выборки от t=-14 до t = 0.
avatar
3Qu, Я не знаю, ошибка может вылезти из миллиона разных мест, я ни код ни архитектуру в глаза не видел).
avatar
Replikant_mih, 
я ни код ни архитектуру в глаза не видел).
Это не обязательно. На вход НС подается нормированные последовательности от t=-14 до t=0. Выход НС и нормированные значения t=+5 идут на график. Проще не бывает. Ошибаться просто негде.)
avatar
Replikant_mih, 
PS Если вы знакомы с Питон делается просто.
Есть одномерный массив Close — C за N месяцев.
Тогда входные последовательности НС будут Cin = C[i-14:i+1], На выходе НС имеем Сpredict[i]. Выход для контроля +5 минут — Creal = C[i+5].
avatar
Сколько параметров подавать на вход, глубина этих данных, какие именно параметры, какая сеть, количество слоев, когда и как останавливать обучение, когда понять, что пора переобучаться..., да в каждом пункте еще  множество подпунктов. Можно потонуть в этой массе данных, что делает весь процесс и саму сеть крайне не надежным инструментом. Простая скользяшка вызывает больше доверия, чем этот чертов ящик.
Лучший ученик В..., собственно, обученная НС представляет собой не более, чем более сложную WМА — совокупность сумматоров с коэффициентами. Ну, да, с элементами нелинейности. Не понимаю, чего беспокоится.)
avatar
3Qu, сколько времени, вы занимались тестированием нейросетей в приложении к трейдингу?
Лучший ученик В..., наверное года 2 или 3, с перерывами.
avatar
3Qu, странно, как-то.
У вас есть кот?
Мультитрендовый, есть, кошка.)
avatar
3Qu, предлагаю сделать следующее, торговать по кошке и проверить на сколько она верно предсказывает рынок. Например ставить какие двоичные задачи, типо будет расти тот контракт или другой, точнее купить тот или другой и придумать некоторое действие, например, если она будет начинать идти с левой ноги то покупать левый, если с правой то правый контракт и потом проверить на сколько поведение ног кошки соответствует предсказанию биржи) Или же можно торговать по электронным часам. Выбираете так же два актива, в произвольный момент смотрите на часы в телефоне если минуты четные то левое, если нечетные то правое и посмотреть на сколько такой метод эффективен)
Мультитрендовый, на СЛ уже есть товарищ, который вполне успешно выбирает активы для инвестиций через случайные числа. Вполне успешно, кстати. И кощку не надо терроризировать.)
avatar
3Qu, так на неё просто смотреть надо, это не заденет её, она же итак ходит как бы наверно же… это к тому что скорее результаты получатся как в эксперементе… в среднем…
Мультитрендовый, не, ну это вы сами экспериментируйте, со своей кошкой. А я как-нибудь, старыми проверенными методами.
avatar
3Qu, у меня нету кошки же… и я же не эксперементирую особо, тупо зарабатываю да и всё
Мультитрендовый, кто экспериментирует, тот и выбирает, как и с чем ему экспериментировать.))
Кошку можно и завести.)
avatar

теги блога 3Qu

....все тэги



UPDONW
Новый дизайн