Skip to content

Машинное обучение на финансовых данных: основы и XGBoost [Ru + En Sub]

Обзор основ машинного обучения на финансовых данных с применением XGBoost для анализа свечных графиков и объяснения механики моделей.

Ask about this video. Answers come from its transcript only — with the timestamp, so you can check them.

Generated from the transcript and can be wrong — check the timestamp.

Key Takeaways

  • Машинное обучение — это широкий класс методов, не ограниченный нейросетями.
  • XGBoost подходит для финансовых данных благодаря интерпретируемости и эффективности.
  • Правильная подготовка и разметка данных критична для обучения модели.
  • Разделение данных на обучение и тест предотвращает переобучение и завышенную точность.
  • Цель — изучить процесс обучения и прогнозирования, а не заработать на рынке.

What the video covers

  • Объяснение понятия машинного обучения и его места в искусственном интеллекте.
  • Различие между традиционными алгоритмами и методами машинного обучения.
  • Краткий обзор видов обучения: с учителем, без учителя и с подкреплением.
  • Выбор XGBoost как эффективного и интерпретируемого метода для финансовых данных.
  • Преимущества деревьев решений и ансамблей в работе с табличными данными.
  • Подготовка данных: сбор, разметка, создание признаков на основе свечей.
  • Важность разделения данных на обучающую и тестовую выборки для оценки модели.
  • Масштабирование признаков для корректной работы модели.
  • Пояснение принципа работы градиентного бустинга и ансамбля деревьев.
  • Цель видео — понять механику машинного обучения, а не создание торговой стратегии.

Answers

Questions about this video

Почему в видео выбирается именно XGBoost для анализа финансовых данных?

XGBoost выбран за его эффективность на табличных данных, интерпретируемость и способность создавать мощные ансамбли деревьев, что подходит для анализа свечных данных.

Что такое обучение с учителем и почему оно используется в этом примере?

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

Почему важно разделять данные на обучающую и тестовую выборки?

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

Full Transcript — Download SRT & Markdown

00:01
Speaker A
Сегодня мы разберём один важный момент: что такое машинное обучение на финансовых данных, как оно работает на практике и что именно делает алгоритм.
00:14
Speaker A
Чтобы не уходить в сложные термины, мы возьмём самый простой вариант — будем учиться предсказывать рынок только по свечам.
00:29
Speaker A
Пример кода, как обычно, в телеграм-канале. Здесь важно сразу сказать: это не рабочая торговая стратегия.
00:50
Speaker A
Мы не ставим цель заработать деньги на этих прогнозах. Наша задача — понять механику, как данные превращаются в признаки, как формируется цель и как модель постепенно
01:12
Speaker A
учится находить паттерны. Итак, начнём.
01:29
Speaker A
Всем привет! С вами снова Евгений! Когда мы говорим о машинном обучении, у многих сразу возникает ассоциация с нейросетями.
01:40
Speaker A
Но важно понимать: машинное обучение — это более широкое понятие. Это целая область методов, где компьютер учится находить закономерности в данных,
02:00
Speaker A
а не просто выполняет заранее прописанные правила. По сути градация примерно такая: искусственный интеллект → машинное обучение → глубокое обучение, один из разделов,
02:16
Speaker A
который использует объекты, называемые нейронными сетями. Т.е. нейронные сети — это подраздел машинного обучения, а машинное обучение в свою очередь — это подраздел искусственного интеллекта.
02:32
Speaker A
Во всяком случае именно такую градацию даёт Луис Серрано в книге «Грокаем машинное обучение», хотя есть и многие другие методы машинного обучения.
02:49
Speaker A
Если совсем грубо, традиционные алгоритмы — это когда мы вручную задаём правила: «если цена выросла на 10 пунктов — покупай,
03:07
Speaker A
если упала — продавай». Машинное обучение же работает иначе: мы показываем компьютеру данные и результат, а он сам пытается вывести правила, которые лучше всего объясняют эти данные.
03:24
Speaker A
Как я уже сказал, нейросети — это лишь один из инструментов машинного обучения. Причём далеко не всегда лучший. У них сильная сторона — способность распознавать сложные, нелинейные зависимости:
03:34
Speaker A
например, картинку с котиком или речь человека. Но у нейросетей есть и минусы — они требовательны
03:52
Speaker A
к объёмам данных, к ресурсам и не всегда прозрачны в том, как принимают решения.
04:13
Speaker A
Помимо нейросетей, есть и другие классы алгоритмов. Один из них — деревья решений и методы их комбинации.
04:30
Speaker A
Они куда проще и часто дают отличные результаты на табличных данных: то есть там, где у нас есть строки и столбцы, как в Excel. Для финансовых рядов — это как раз один из наиболее удобных вариантов.
04:37
Speaker A
По поводу ресурсов, если для деревьев решений нам достаточно средненького CPU, то для обучения нейронных сетей нужен добротный GPU,
04:57
Speaker A
который может быть не дешевым и достаточно сложным инструментом для понимания простого юзера.
05:09
Speaker A
Я говорю сейчас об обучении с нуля, но и тут есть выходы, например, использовать облачные сервисы вроде Google Colab или Kaggle или же применять предобученную модель, но даже так
05:32
Speaker A
ресурсы нужны значительные. Но сейчас не об этом. Теперь давайте коротко разберём, какие вообще есть виды обучения. Классически выделяют три:
05:48
Speaker A
• Обучение с учителем. Когда у нас есть входные данные и правильные ответы. Например: вот свечи, а вот что произошло через пять баров — цена выросла или упала.
06:05
Speaker A
• Обучение без учителя. Когда у нас нет правильных ответов, и алгоритм сам ищет кластеры, группы и структуры в данных.
06:21
Speaker A
• Обучение с подкреплением. Когда агент взаимодействует со средой, пробует действия, получает награды и постепенно учится стратегии.
06:39
Speaker A
В нашей задаче используется обучение с учителем. Мы берём исторические данные по свечам, отмечаем, что произошло дальше, и просим алгоритм найти закономерности.
06:56
Speaker A
И вот здесь мы подошли к выбору метода. Почему XGBoost?
07:16
Speaker A
XGBoost — это реализация так называемого градиентного бустинга над деревьями решений. Звучит страшно, но идея очень элегантная. Представьте:
07:36
Speaker A
у нас есть простое дерево решений. Оно делит данные на группы, отвечая на вопросы вида:
07:59
Speaker A
«цена закрытия выше открытия?», «объём больше среднего?». Такое дерево само по себе работает не идеально, но уже даёт приближённое решение. Мы можем построить много таких деревьев,
08:09
Speaker A
и каждое следующее дерево будет исправлять ошибки предыдущего. В итоге у нас получается ансамбль — целая «команда» деревьев, где каждое вносит свою лепту. Так и рождается мощная модель,
08:28
Speaker A
которая часто работает лучше, чем нейросети на структурированных данных.
08:45
Speaker A
XGBoost — это не чёрный ящик. В отличие от нейросетей, мы можем интерпретировать важность признаков, понять, какие факторы реально влияют на прогноз. Например, алгоритм может показать:
09:08
Speaker A
сильнее всего на результат влияют не сами цены открытия и закрытия,
09:30
Speaker A
а соотношение между телом свечи и её тенью, или, скажем, объём торгов в конкретный момент.
09:46
Speaker A
Почему именно этот метод мы выбрали для эксперимента со свечами?
10:07
Speaker A
Потому что нам нужно не «угадывать рынок», а на простом и прозрачном примере показать, как работает машинное обучение. Взять голые свечи — это минимальная информация, и если
10:24
Speaker A
даже здесь алгоритм что-то находит, это уже хороший способ объяснить механику. Мы не стремимся
10:42
Speaker A
построить прибыльного робота, мы учимся понимать сам процесс: как формируется обучающая выборка,
11:04
Speaker A
как задаются параметры модели, что значит «переобучение» и как оценивается результат.
11:22
Speaker A
Таким образом, XGBoost в нашей задаче — это своего рода учебный микроскоп. Он
11:40
Speaker A
позволяет нам рассмотреть сам механизм машинного обучения: как модель учится,
12:04
Speaker A
как делает прогнозы и где ошибается. В прошлом видео я показывал, как использовать
12:15
Speaker A
ZeroMQ, чтобы связаться с МТ5, с помощью этой связки я выгрузил данные с 1 января 2020 года,
12:25
Speaker A
а дальше он продолжил подгружать новые свечи. Теперь у нас есть исторические данные — это
12:39
Speaker A
часовые свечи. Каждая свеча состоит из пяти основных параметров: открытие, максимум, минимум,
12:59
Speaker A
закрытие и объём. Эти данные мы загружаем в таблицу и приводим в порядок по времени.
13:19
Speaker A
Дальше мы должны задать целевую переменную — таргет. Ведь модель должна знать,
13:38
Speaker A
что именно предсказывать. В нашем случае мы берём очень простое правило: если в течение
14:01
Speaker A
следующих пяти баров цена выросла больше чем на десять пипсов, мы говорим, что это единица. Если
14:19
Speaker A
упала — это ноль. Всё. Мы вручную задали условие и получили готовый столбец с метками. Заметьте:
14:40
Speaker A
на этом этапе никакого машинного обучения ещё нет. Мы просто разметили данные,
15:02
Speaker A
чтобы модель знала, где у неё «правильный ответ». Теперь нужны признаки. На уровне свечей это могут
15:27
Speaker A
быть не только сами цены, но и производные. Например, тело свечи — разница между закрытием
15:38
Speaker A
и открытием. Диапазон свечи — максимум минус минимум. Верхняя и нижняя тень — это то,
16:02
Speaker A
что остаётся сверху и снизу после выделения тела. Получается набор числовых характеристик,
16:23
Speaker A
которые описывают форму каждой свечи. Эти признаки и станут входом для модели.
16:50
Speaker A
Следующий шаг — делим данные на обучение и тест. Это принципиально важно. Мы учим модель только
17:08
Speaker A
на прошлом, а проверяем — на будущем. Если не разделить данные, можно получить обманчиво высокую
17:31
Speaker A
точность, потому что модель просто увидит те же самые примеры ещё раз. А нам нужно, чтобы она
17:57
Speaker A
справлялась именно с новыми, неизвестными данными. Когда данные готовы, мы приводим их к единому
18:17
Speaker A
масштабу, потому что объёмы могут измеряться тысячами,
18:40
Speaker A
а тело свечи — всего лишь в десятых долях цены. Это называется масштабирование, и оно нужно для
19:00
Speaker A
того, чтобы все признаки имели сопоставимый вес. И вот тут начинается самое интересное — машинное
19:19
Speaker A
обучение. Мы создаём модель XGBoost. Это одна из самых популярных библиотек для
19:35
Speaker A
градиентного бустинга. Что такое бустинг? Представьте, что у нас есть много простых
19:51
Speaker A
деревьев решений. Каждое дерево само по себе не идеально, оно делает ошибки. Но
Topics:машинное обучениефинансовые данныеXGBoostдеревья решенийградиентный бустингсвечные графикиобучение с учителемфинансовый анализпризнакимодель прогнозирования

Get More with the SozAI App

Transcribe recordings, audio files, and YouTube videos — with AI summaries, speaker detection, and unlimited transcriptions.

Or transcribe another YouTube video here →