ИСПОЛЬЗУЕМ ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ (нейронные сети) ДЛЯ ПРЕДСКАЗАНИЯ ЦЕНЫ АКЦИЙ!
Вставка
- Опубліковано 15 чер 2024
- 🔥 Индивидуальная программа по обучению data science под вашу цель с моей менторской поддержкой до результата:
ershov.io/dsprogram?...
Тут я рассказываю почему я создал эту программу, для кого она подходит и в чем ее преимущества:
• Video
🔥 Telegram: t.me/ershovds
ИСПОЛЬЗУЕМ ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ (нейронные сети) ДЛЯ
ПРЕДСКАЗАНИЯ ЦЕНЫ АКЦИЙ!
В этому видео я покажу как предсказать цену на акции компании Apple используя
искусственный интеллект (нейронные сети). А именное RNN (LSTM блок).
Ссылки из видео
Датасет: www.kaggle.com/borismarjanovi...
Код: colab.research.google.com/dri...
Контакты:
Instagram: / ershovio
Twitter: / ershovio
Facebook: / ershovio
#ershovds
Таймкоды:
0:00 Введение
1:00 Обзор датасета с Kaggle
2:09 Анализ данных используя Pandas
8:16 Создание датасета для временного ряда
14:33 Обучение RNN модели используя Tensorflow
искусственный интеллект,нейронные сети,ии,нейросети,alexander ershov,александр
ершов
Важно понимать что смысл этого видео не доказать, что с помощью этого алгоритма можно заработать, а показать, как работать с временными рядами используя нейронные сети (RNN).
Поэтому:
1. Не нужно пытаться использовать это для реальной торговли, в реальности цена актива зависит от многих параметров, а не только от предыдущей цены.
2. Не нужно предъявлять претензии к видео с точки зрения качества алгоритма для трейдинга / инвестирования, как я уже сказал, цель видео - научиться работать с временными рядами, а не заработать с помощь этого алгоритма. Можно было бы для этого взять другую задачу на временной ряд - например предсказание погоды.
Про второй пункт. «Научиться работать с временными рядами» ? Чел, ты же делаешь shuffle, а это самая грубая ошибка, когда работаешь с данными включающие время. После шафла ты как бы заглядываешь в будущее. Кто хочет реально научиться МЛу чекайте ods, а ты чел просто молча удали видос.
Shuffle делается внутри train и test отдельно, смотри видео внимательнее, там нету лика данных.
@@konakona2456 наглый двоечник! что еще за "данные включающие время"? :)
@@AlexanderErshov Кажись он не про это. Он к тому, что ты вот когда делал фичи и лейблы из времянного ряда, ты за лейбл принял будущее значение и делаешь придикт по будущему, которого в реальности нет. Интересно, а можно ли сделать лейбл перед фичами и что это даст? хмм
@@ClosiusBeg Так по лэйблу и не делается предикт, а вычисляется ошибка в обучении с учителем. А что касается shuffle, то это перемешивание батчей, а не позиций внутри батча. Так как использовалась stateless lstm, то последовательность батчей не имеет значения - на каждой итерации состояние сбрасывается.
Наконец-то не занудный контент по дата сайенсу)
Вангую, этот канал в скором времени взлетит до небес
Удачи автору!
Какую ещё тему я хочу?... БЕЗ ПОНЯТИЯ! Я вообще как в тумане в этой теме. Твои эти практические примеры очень классно придают форму всем абстрактным знаниям, которыми обычно пестрит интернет. Лайк, подписка и буду смотреть любые примеры, которые ты посчитаешь, что они похожи на реальные. Спасибо огромное за твой труд!
Как вовремя! Прямо сейчас разбираю эту тему, и тут видос вышел)
совет: подавайте на вход разные данные, и период исторических данных 80-100, ну и сетка несколько сложнее должна быть, чтобы обработать вход
Спасибо за видео. Успехов в развитии канала.
Круто, было бы интересно увидеть видео про компьютерное зрение👀 - какоенибудь yolo без трансферного обучения, а с нуля, с определением всех ошибок, датасетов, моделей и т.д.🤔
Спасибо! Топовый контент!
Лайк и благодарность за практические руководства!
Видос прикольный, пару моментов подчеркнул для себя, но осталось ощущение неполноты видео, нет еще пару команд для просмотра результата предсказания, хотелось бы увидеть концовку. а так еще буду ждать видео про CNN, классификация изображения и еще крутая тема по созданию Генератора и Дискриминатора.
У меня на работе стоит задача, люди играют в теннис и нужно обучить модель, чтобы она определяла счет игры. Хотелось бы увидеть проект по cv
Спасибо за видео!
Чел, можно видосики только такого формата! Успех тебе!!
Спасибо за видео,хотелось бы, (обучение с подкреплением ) reinforcement learning q learning , Спасибо
Добрый день. Отличное видео, спасибо за контент. С практической точки зрения, более ценно если бы модель предсказывала флуктуации цены, когда прирост цены сменяется убыванием. Гипотетически это можно сделать проанализировав корреляцию торговых объемов и цены закрытия.
Скажите, такого рода задача принципиально отличается от того, что показано в видео?
круто. очень мало видео о том как применять дата сайнс на практике!
Дааа, это то что надо! Крутое видео, прям тогда, когда оно мне понадобилось.
Только я не совсем понял, а как теперь использовать эту модель. Я так понимаю мы как-то должны передать ей диапазон дат и получить цену акции на эти даты. А можно этой модели передать не только даты, но и, например, ещё цену акции при открытии продажи, чтобы получить рассчитанную стоимость для закрытия?
Каналу - развития! Хочется ещё подобных видео с примерами разных задач и также с примерами настройки моделей.
данная модель принимает n предыдущих цен (где n - windows size) и возвращает n + 1 цену. Даты передавать не нужно.
Можно обучить модели, которые будут выдавать цену закрытия.
@@AlexanderErshov Подозреваю, вопрос был в том, где посмотреть предсказанную цену. Сколько долларов стоит акция 5 мая 2025 года например.
Александр, привет. Если есть возможность, сними пожалуйста видео про практические методы максимизации. Про scipy optimize или что-то подобное. Т.к. задачи этого типа очень востребованные (распределение рабочих ресурсов по предприятию и т.д.), а нормального видео про эту тему я не находил.
Давай что-нибудь со сверточными нейронными сетями, например классификатор изображений
чел, жду еще подобных видео, как только заработаю на этом денег я тебе задоначу! как же все понятнее стало намного, ты класный
а если проиграешь то что?))) спросишь за негодный контент)))
@@nataliaermakova7222 проиграю?...
@@Woodreack ага
Александр, здравствуй. Ты очень крутой специалист! Спасибо больше за твой канал! Скажи пожалуйста какой ВУЗ ты заканчивал ? И по какой специализации ?
СПбГУ, специальность связана с программированием
@@AlexanderErshov спасибо большое !)
Давай видео про сегментацию сверточныя нейросетей!
Очень конечно интересно, но где результат тестовых предсказаний?
Ждем следующее видео из ванной комнаты))) шутка. Контент топ!
просто топ канал.... просто топ канал
Крутяк крутяк крутяк
Интересная тема для табличных данных - Tabnet от Яндекса. Это не совсем нейронка, но при грамотном использовании может дать результат даже лучше, чем стандартные деревянные
не слышал про такую, можешь скинуть ссылку?
Несбалансированных классы в временных рядах.
Задача:
Есть бинарная разметка временного ряда . Например цена и точки где была поставка товара. Необходимо используя временное окно в 20 точек (например 1 точка - 5 минут), предсказать точки где стоило бы довезти товар. Несбалансирование 0.5%
Последняя колонка openint это открытый интерес, это ценные данные, обычно они платные.
Было бы здорово про computer vision
Предлагаю сделать распознавание предметов по фото, деталей одежды например. Недавно была такая задача, было бы интересно разобрать)
Здравствуйте. Очень интересная данная тема. В данный момент учусь на 1 курсе, планирую поступить в этом либо следующем году в computer science center. Что можете сказать о нем ?
хорошее место, можете от них посмотреть курсы на stepik что бы оценить
А можно этот же датасет на алгоритмах Sarima, arima и других алгоритмах?
Как в итоге использовать predict? Можно код?
Так какая цена будет? :) Получается, что на этих данных цена непредсказуема?
Некоторые моменты вызывали боль в моей тонкой душевной организации
1) Ценовые ряды - не стационарные временные ряды
1.1) Не стоит использовать "масштабирование" построенное по всему временному ряду, поскольку последующие данные могут выходить за пределы и все масштабирование сломается. Вместо этого нужно строить обучение по приращениям, самое оптимальное - посчитать разницу логарифмов между текущим и предыдущим значениями
2) Разбивать, по-хорошему, надо на три блока - обучение, валидация и тест. Блоки обучения и валидации гоняются по нескольким эпохам, а тестовые данные используются для финальной проверки модели. Валидационный блок, по сути, тоже влияет на обучение
клево)
Расскажи что-то про матан в DS
А можно эту тему как помощь в ставках на спорт использовать для вангования?
как помощь - наверное да, но в реальности исход спортивных событий зависит от многих факторов, не только от прошлого проигрыша / выигрыша
Попробуй использовать
DataGen = TimeseriesGenerator(xTest, yTest,
length=300, sampling_rate=1,
batch_size=len(xTest))
Благодарю за видео, но не могли бы вы добавить в описание версии пакетов библиотек. Новичок. Стоит локально анаконда на ноуте. Запуск примера кода завершается ошибкой (не может подружить нумпай массив с керасом. Советы гугла пока не увенчались успехом. Хочу сверится с версиями пакетов, чтобы понять, проблема в них или в чем то еще :)
Запустите код в colab, импортируйте библиотеки (самый первый блок).
А после него вызовите название библиотеки (как вы ее импортировали).___version___
Например для pandas это "pd.__version__" и вам напечатается версия библиотеки.
Или просто можно работать в colab, тогда проблем с импортом будет)
@@AlexanderErshov Благодарю, да, проблема была в версиях пакетов. Сутки ушли на настройку окружения( не скажу, что впустую потратил время, но настораживает, что со старта столько проблем)
Подскажи для чего шафл при создании датасета ты ведь сам внале говорил что может быть лик или это имеелось ввиду чтоб тест-датасет был хронолргически после трейна а в пределах каждого датасете уже можно перемешивать
Сначала идет разделение на train / test хронологически по времени, а уже внутри них делается shuffle. Так что лика данных не будет.
вообще колаб ссылку писать в комментарии не плохо бы было =)
Привет. А почему в конце не было результата? Вот допустим предсказание от нейронки на 2017 год и вот, что было реально. Или я чтото упустил?
Я метрики показал. Или ты имеешь ввиду графики реальной цены и предсказанной?
@@AlexanderErshov да, реальной и предсказанной. для конечной визуализации так скажем)
а так, спасибо за ролик, было интересно)
@@user-kd9qt6bq8y да потому, что на этом графике стало бы ясно, что нейросеть тупо предсказывает будущее текущим значением. То есть никакой нейросеть для этого не надо строить) а ошибка на валидации больше из-за того, что автор даже не удосужился прологарифмировать входные данные)
Все это круто конечно, вот тут нужно такая функция, тут такая. А вот почему такая функция нужна, и именно такая, с такими параметрами и т.п, эту инфу откуда брать книги читать, медитировать, гадать или че, не догоняю. Или это приходит со временем, с практикой, но опять же не просто же догадаться, что нужна нормализация, или нужен вот такие слои и т.п Вот я сейчас смотрю и реально психую, что больше половины не понятно.
Это видео - разбор практической задачи для тех, кто уже знает базовые вещи.
Можешь посмотреть мою менторскую программу в описании, где я помогаю с обучением, либо изучай базу самостоятельно.
А где же само предсказание цены акции? Не получилось?
Давай нейронку которая хакнет сеть биткоин, без обдолбанных расчетов хэшей, с го получилось без пересчетов
Где взять датасет с английскими предложениями, разделёнными по 12 типам времен?
в интернете
поищи на kaggle или google datasets
Ну а где конец? Зачем вот это в конце "делать я этого не буду" и т.д.?. Ну доделайте же, покажите как получилось по итогу, какая точность, как использовать потом предсказание. А то часть сделали, а то ради чего всё делалось идет лесом
Все неплохо, но есть одно но - предсказать цену акций невозможно )
+не совсем понял, где собственно написание какого-то кода, который отвечает за предсказание цены акций.
И последнее - может кто-то подсказать, когда я запускаю кусок history = compile_and_fit(lstm_model, train_ds, val_ds, num_epochs=500), выдаёт TypeError и пишет Missing required positional argument. Перепробовал разные варианты, кусок так и не заработал. Кто-то с таким сталкивался?
Самого предсказания не было, только метрики. Надо было графически показать факт и прогноз, было бы наглядно
Актуалочка, над этим думал, как инструмент трейдинга зайдет
Проверь на сколько отличается предсказание и реальность с учетом сдвига, возможно ты научил сеть предсказывать те же значения но со сдвигом, что видно из переобучения =)
А почему не Яху финанс?
Прикольно было б нейронная сеть для музыки чтоб он сам писал )
Просто я видел пару видосиков и не зашло 😂 хотя рабочая тема
есть такая openai.com/blog/jukebox/
Сделал алгоритм с акциями Теслы
Два дня подряд обучался (25000 поколений)
Уже начал думать какого брокера выбрать для торговли
Выдало, что должно расти
Проверяю - либо способ не работает, либо я тупой, либо акции невозможно предсказать...
А вообще для дейтрейдинга на стабильных рынках, когда работает чисто алгоритм биржи, на каких-нибудь нефтяных фьючерсах, может зайти (проверю)
Надо было изобразить на графике сравнение факт-предикт, но я знаю что было бы на этом графике - линия прогноза повторяла бы линию факта, но с опозданием на 1 тик свечи, то есть 1 день. Такой оракул, который после наступления события говорит - я так и знал!). Делов в том, что нельзя предсказывать цену по цене, может и можно, но дело гиблое)
шумов в цене слишком много, нужны менее сжатые данные
Да, я понимаю, что такая модель плохо подходит для реальной торговли. Но цель этого видео не доказать, что на ней можно заработаь, а показать как работать с временными рядами используя RNN. Просто я выбрал задачу предсказания цены, можно было взять другую - например погоду предсказывать.
@@AlexanderErshov Я понимаю, урок отличный, вопросов нет - техника исполнения корректная. Просто многие в комментах решили, что смогут заработать на трейдинге таким образом)
А других-то вариантов аппроксимировать случайное блуждание у LSTM и нет...
@@abenderbey написал в закрепленном комментарии об этом
Все расчеты основанны на прошлом. Надо в прогноз внести будущее. Тогда ты станешь миЛЛиардером. И я тоже. Так как я понимаю как заглянуть в будущее.....
Standard scaler будет изменять суть данных, дял этой задачи не подойдёт
кстати рил! "The idea behind StandardScaler is that it will transform your data such that its distribution will have a mean value 0 and standard deviation of 1"
так вот делает он это преобзазование относительно sd всего датасета. А датасет твой это сэмпл а не вся популяция (ген совокупность). А в подобном времянном ряду центральная предельная теорема то не работает (ну я так полагаю)... Поэтому другой сэмпл может иметь другое sd и скеллер херню сморозит... Кстати мб тут стационарность (индеграция ряда) поможет?
@@ClosiusBeg насколько я знаю здесь лучше всего подойдёт Z-Score
@@user-tj4ut8ox9r так z-score это и есть стандард скелер вроде?
@@ClosiusBeg standard scaler разве не мапит все числа от 0 до 1? В моем понимании з скор берет среднее число из ряда чисел и мапит все остальные под это среднее значение
В году торговых дней ведь не 365, а меньше намного. 200 вроде бы
Торговых - да, но там в колонке date обычные даты
Наш мозг - нейронка. Прогнозирование цены = цены (изменение цен) + факторы (человеческий, политический, мировые рынки, события) + нейронка с индивидуальной попыткой определить цену с указанием причины и отметанием ложных или ведущих к заблуждению. И то не факт, что будет точно или правильно. Слишком много факторов. Думайте сами. Иметь или не иметь. А лучше быть инсайдером в правильных учреждениях.
Грустно, что непосредственного предсказания так и не случилось, научить работать с нейронкой это конечно круто, но хотелось бы получить какой-то результат
В качестве результата я посчитал значение метрики. Или ты имеешь ввиду именно сравнить предсказанные и реальные значения цены?
@@AlexanderErshov Да, хотелось бы видеть результат работы, а то получается кликбейт какой-то, значение метрик посчитали, а дальше? Если цель видео показать как можно работать с нейронными сетями и временными рядами, то следует так и называть видео. В этом же случае было бы супер показать насколько модель хорошо справляется со своими задачами, чтобы человек, который посмотрел это видео смог применить эти знания на практике ) В общем ждём продолжение, потому что материал подаётся супер классно, спасибо за то, что ты делаешь!
@@kirilldikalin да, я понял, что уже несколько человек ожидало именно хороший алгоритм с точки зрения трейдинга / инвестирования и написал об этом в закрепленном комментарии
@@AlexanderErshov Нет нет, не важно насколько хорош алгоритм в предсказании цены, цель же была не бота трейдера писать. В теории вся работа должна быть разделена на несколько этапов (1. постановка задачи, 2. обучение тому как работать с временными рядами используя нейронные сети (RNN) и непосредственно 3. результат). Так вот как раз результата очень не хватает, я бы хотел применить то, что ты показал в видео на абсолютно других данных, но не знаю что делать дальше. Как мне получить искомые значения, после того как я получил хорошие значения метрики?
У модели есть метод predict, его надо вызвать чтобы получить результат предсказаний. Да можно было это сделать в конце, что-то не подумал(
Здравствуйте, Александр! Я практикующий трейдер. Давайте замутим проект. Создадим типа фонда, прибыль пополам. Я даю фичи, вы пишете код.
ну предсказания то не было самого
почему данные не качаются напрямую с yahoo? зачем эти сложности с файлами. уже какой видос про предсказание цен на просторах ютюба и везде файлы какие-то с данными
как по мне, нормально, лично я при обучении не хочу зависеть от интернета...
@@karlzinher4181 вообще то без интернета не будет никакого обучения 🤣
@@nataliaermakova7222 у меня не будет )) вы правы))) а у нейронки все будет окей :)
Так а где сам прогноз цены акции?) Ты же просто обучил модель, но по итогу так и не сделал прогноз
Регрессия здесь работать не будет, а вот классификация, я думаю, имеет шансы.
А причем тут регрессия вообще? У него RNN
@@ClosiusBeg я что-то попутал 😂😂 не посмотрел видео до конца, в начале он говорит, что-то о регрессии
@@ClosiusBeg ещё я имел ввиду, что предсказание значения цены невозможно
Нет учёта опыта Нокия, Моторолла.
Предсказание продаж.
Набегут ща высокочастотники
Все иетересно
Комментарий
+1
Ребят, предсказать что-то невозможно, хватит мусолить какую-то херь!
Уже ответил про это в другом комментарии, но повторю:
Цель этого видео не доказать, что с помощью такой ML модели можно заработать, а показать как можно работать с временными рядами используя RNN сети, просто для этого я выбрал задачу предсказания цены, можно было взять другую (например погоду предсказывать).
plt.figure(figsize=(14,7))
plt.plot(history.history['loss'],
label='Средняя абсолютная ошибка на обучающем наборе')
plt.plot(history.history['val_loss'],
label='Средняя абсолютная ошибка на проверочном наборе')
plt.ylabel('Средняя ошибка')
plt.legend()
plt.show()
Спасибо за видео !