Блог им. karat39

Вопрос к компетентным смартлабовцам в нейронках

Привет коллеги.

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

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

Если да, с чего посоветуете начать? Питон? Что тогда советуете подключить?

Заранее спасибо за компетентные ответы.
★4
26 комментариев
На странице Финам TradeAPI есть ссылка на робота с чем-то таким с недавнего хакатона. Робот ищет паттерны на свечках. Автор вроде объясняет процесс обучения.
На мой взгляд — абсолютно бессмысленная затея, как и весь теханализ.
avatar
Мне кажется это бессмысленно. Для обучения нужны размеченные данные — много, то есть от сотен тысяч примеров. Если вы как-то можете разметить такой объем данных, то видимо у вас уже есть алгоритм определения патерна и нейронам вам не нужны
avatar
Три свечи получится. Конечно питон применим её будет. Ну из библиотек для начала — pandas, а далее — как у вас полет мысли пойдёт. Можно по разному обрабатывать данные. Но про это наверное, изучать питон подробнее вам нужно
Евгений Пискунов, ну пандас понятно, наборы данных хранить, я уже не такой ноль в питоне ) а вот чего дальше читать не понятно, прям глаза разбежались
avatar
E Lоgunоv, прикольно, первая же ссылка по этой теме — как это внедрить в мт5 ) спасибо
avatar

Под нейронками ты же имеешь в виду в целом нейросети, а не современные эти конкретные генеративные модели?

Если обучаться — самое простое — на табличных данных. Паттерны графические это посложнее. Свечные комбинации, к слову, можно разложить в табличные данные тоже.

Если нет опыта с ML в целом, то нужно понять, какие процессы в рамках обучения модели есть — ну там очистка данных, определения target, разделение на train/test, обучение, валидация, что-то такое. ChatGPT лучше меня подскажет)).

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

 

Дальше уже будет понятней, что не понятно и т.д. Дальше можно расширяться в сторону видов моделей (нейросети тоже разные бывают, в т.ч. в зависимости от типа задач), разные типы задач и т.д.

 

Вообще, не все это осознали, с ChatGPT намного легче врываться в сложные темы.

А-ля: а скажи ка мне — я вот хочу за 3 дня вникнуть в тему нейросетей, а покажи мне списки тем, которые изучить, а под каждую ёмкую статейке, а под каждую понятный примерчик. А-нука придумай тестовое задание мне под каждую тему. Ну и т.д. — красота по-моему!

 

Как пример тестовой задачи, берем четыре свечи, close minus open последней — таргет (что предиктим), а из первых 3-х свечей придумываем признаки, т.е. раскатываем 3 свечи в набор полей. Дальше пишем скрипт, который проходится с окном 4 по свечным данным и раскатывает их в признаковое описание и таргет, ну и дальше обучаемся и смотрим, как на незнакомых данных модель способна предиктить.

avatar
Replikant_mih, Кстати, даже под такое моё описание (ТЗ) «пример тестовой задачи» современные генеративные нейросети способны код написал).
avatar
Replikant_mih, это прикольноая идея, я сам не догадался спросить у chatgpt )
avatar
Я не знаток всех современных архитектур нейросетей, но частный случай архитектуры — многослойный перцептрон — это просто самообучащийся алгоритм построения нелинейной регрессии.

Насколько «хороша» нелинейная регрессия с медленноменяющейся функцией (особенность любого самообучающегося алгоритма) для решения поставленной задачи — это зависит от того, что в реальности стоит за данными. В конце концов надо помнить, что через любые n точек на плоскости, можно провести функцию от одного переменного степени нелинейности меньше, либо равной n. Только толку от такого точного(!) решения практически никакого.
avatar
Как там выше один человек написал, обучить то можно и думаю будет искать, но тебе нужны обучающие данные. Т.е. вручную отобранные паттерны, которые ты сможешь указать как искомое. Но думаю можно схитрить и не сделать синтетические данные. Тупа насоздавать  можешь патеттренов написав пару строк кода. Если конечно не важна предыдущая последовательстность свечей. 
Но если сможешь описать алгоритм для создания таких паттерном, то и сетка не нужно, можно алгоритмом искать.
E Lоgunоv, сетки сильно далеко ушли с того времени? Акромя послойного обучения?
avatar
Научить нейросеть находить известный паттерн не трудно. Но тут и нейросеть особо не нужна: простенькая программа в несколько строк, проверяющая выполнение условий типа больше/меньше будет работать не хуже.
Другое дело, когда ты уверен, что паттерн(ы) есть, но не знаешь, какие они.
avatar

У меня есть один реализованный проект на нейронках. Реализованный в плане только расчетов, в торговле не применяю.
Суть проекта в том, что есть данные по профилям точки минимальных выплат по опционам на конец сессии с 2015 года. Также есть данные на фьючерс (брал только хай, лоу и клоуз), на конец сессии. На основе всех этих данный обучаю модель чтобы предсказывала хай, лоу и клоуз фьючерса для текущего профиля точки минимальных выплат.
Для обучения использовал Keras. Вот моя архитектура сети: pastebin.com/tB9dtz3B

Была идея использовать нейронку для предсказания вероятности каким будет следующий бар (на понижение, на повышение), причем фичи можно придумывать разные, добавлять убирать комбинировать такие как: саму последовательность баров, кодирование баров по Лиховидову, нормализованный объем, расположение кластера максимального объема, час торговли и др. Для реализации не хватило знаний (появились конкурирующие идеи).

Алексей Манин, получается?
скрывать не буду, конечная цель замысла и есть именно обработка опционных уровней )
avatar
Андрей К, у меня пока не получается. Думаю надо ещё некоторые статистические изыскания провести. Всё как-то не быстро )
Ну а у вас, с вашими знаниями, опытом и командой, думаю всё получиться.
Алексей Манин, да я в личных целях ) чисто для развития
avatar
Развиваю свой проект самообучающихся алгоритмов
Почитать идеи можно тут

habr.com/ru/users/TradeSpeculator/posts/
vk.link/tradespeculator

Пробую по всякому пытаясь в разумные ресурсы вложиться (временные, машинные, денежные)
Андрей К, на mql5.com люди много разного по теме показывают в разделе статьи.
avatar
tashik, ага, спс. Я там тож погуглил уже, перечитал часть. Но чет сложновато для моего уровня. Мне тут наводку дали верную в комментах, вроде составил картину мира, даже код набросал. А то что было не ясно, так я у chagpt спросил )
avatar

Андрей К, я тупо на курсы пошла на классические типа Открытого курса по машинному обучению и stepik.org/course/135002/syllabus (в процессе), код правда у меня тоже кое-какой родился после mql5.com, но хочется объемнее влезть. Прикольно будет поэкспериментировать и с chatgpt. 

На курсере есть курс прямо про ML в трейдинге и финансах (инглиш онли вроде) www.coursera.org/learn/machine-learning-trading-finance и потом www.coursera.org/learn/trading-strategies-reinforcement-learning Их еще не смотрела, только ссылки сохраняла себе

avatar
tashik, эта гадина отвечает на любые мои уточняющие вопросы по нейронке, которые не получается найти на первых 3-5 листах поисковика. И если надо, код приложит. 
avatar
tashik,

Заранее извиняюсь за любопытство, но очень хочется спросить про курс Stepik. Есть ли польза собственно от курса? Ведь можно и по книжкам научиться. Тем более что программа какая-то скучная и устаревшая на первый взгляд. Про трансформеры ни слова.
У меня складывается ощущение что передовая наука в этом вопросе сделала мощный рывок и удалилась в голубую даль, недоступную пониманию простого человека с высшим образованием. И пытаться догнать — напрасная трата времени и сил. Что не исключает большой практической пользы от этого дела.
Конвейер просматривается такой:
Элита науки конструирует и обучает модель (говорят OpenAI просаживает на эти дела $0.5 млрд в год)
Модель «утекает» в «свободный доступ».
Энтузиасты, приближенные к элите, урезают и утрамбовывают модель до состояния, когда она влезает в память бытового GPU, и сопровождает модель простенькими инструкциями по использованию.В результате простой смертный на своей видеокарточке имеет возможность дообучить модель на своих данных по своим потребностям, отфайнтюнить ее до потери сознания,
направляющих промптов настрогать и т.п.
По крайней мере с разными версиями GPT такая картинка получается.
И, соответственно, скиллы нужны для этого соответствующие.
PS. Правда практика последних лет показывает, что что-либо полезное для алготрейдинга вряд ли утечет…
avatar
Synthetic, польза — она дело такое, довольно индивидуальное. Как начальное бесплатное введение вполне ничего. Я еще недостаточно глубоко погрузилась в тему, поэтому пока мне трудно судить. По книжкам можно — но мне интерактивные задания нравятся и не хватает этого. Коллабчики готовые опять же. Ну и воду  отжали вроде. 
avatar
Запоминание не то для чего используются нейронки. Для них это считается плохо (!!!) Потому что реальность изменчива и многообразна, больше любой памяти по определению. Потому нейронки создаются для обобщения и классификации. Это конечно не все функции, по так понятно. Из каких-то звуков сложить слово, из картинки сложить слово. Из набора слов выжать смысл (тоже может быть набор слов, но короче и яснее) или определить стихи это или проза или рецепт оладий.
avatar
Если цель найти паттерн из трёх свечей, то будет работать. Если цель успешно торговать, то не будет работать.

НС классификации вообще очень хорошо работают в трейдинге, но с подтверждающими сигналами не-НС.
avatar

теги блога Андрей К

....все тэги



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