Обзор основ машинного обучения на финансовых данных с применением 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 как эффективного и интерпретируемого метода для финансовых данных.
- Преимущества деревьев решений и ансамблей в работе с табличными данными.
- Подготовка данных: сбор, разметка, создание признаков на основе свечей.
- Важность разделения данных на обучающую и тестовую выборки для оценки модели.
- Масштабирование признаков для корректной работы модели.
- Пояснение принципа работы градиентного бустинга и ансамбля деревьев.
- Цель видео — понять механику машинного обучения, а не создание торговой стратегии.
Chapters
- 00:00Введение в машинное обучение на финансовых данных
- 00:50Цели и задачи видео
- 01:40Понятие машинного обучения и его градация
- 03:20Обзор методов машинного обучения и нейросетей
- 04:40Деревья решений и их преимущества
- 05:50Виды обучения: с учителем, без учителя, с подкреплением
- 07:20Применение обучения с учителем в нашей задаче
- 08:40Объяснение работы XGBoost и градиентного бустинга
- 12:20Подготовка данных: сбор, разметка и признаки
- 17:00Разделение данных и масштабирование
Full Transcript — Download SRT & Markdown
Speaker A
Сегодня мы разберём один важный момент: что такое машинное обучение на финансовых данных, как оно работает на практике и что именно делает алгоритм.
Speaker A
Чтобы не уходить в сложные термины, мы возьмём самый простой вариант — будем учиться предсказывать рынок только по свечам.
Speaker A
Пример кода, как обычно, в телеграм-канале. Здесь важно сразу сказать: это не рабочая торговая стратегия.
Speaker A
Мы не ставим цель заработать деньги на этих прогнозах. Наша задача — понять механику, как данные превращаются в признаки, как формируется цель и как модель постепенно
Speaker A
учится находить паттерны. Итак, начнём.
Speaker A
Всем привет! С вами снова Евгений! Когда мы говорим о машинном обучении, у многих сразу возникает ассоциация с нейросетями.
Speaker A
Но важно понимать: машинное обучение — это более широкое понятие. Это целая область методов, где компьютер учится находить закономерности в данных,
Speaker A
а не просто выполняет заранее прописанные правила. По сути градация примерно такая: искусственный интеллект → машинное обучение → глубокое обучение, один из разделов,
Speaker A
который использует объекты, называемые нейронными сетями. Т.е. нейронные сети — это подраздел машинного обучения, а машинное обучение в свою очередь — это подраздел искусственного интеллекта.
Speaker A
Во всяком случае именно такую градацию даёт Луис Серрано в книге «Грокаем машинное обучение», хотя есть и многие другие методы машинного обучения.
Speaker A
Если совсем грубо, традиционные алгоритмы — это когда мы вручную задаём правила: «если цена выросла на 10 пунктов — покупай,
Speaker A
если упала — продавай». Машинное обучение же работает иначе: мы показываем компьютеру данные и результат, а он сам пытается вывести правила, которые лучше всего объясняют эти данные.
Speaker A
Как я уже сказал, нейросети — это лишь один из инструментов машинного обучения. Причём далеко не всегда лучший. У них сильная сторона — способность распознавать сложные, нелинейные зависимости:
Speaker A
например, картинку с котиком или речь человека. Но у нейросетей есть и минусы — они требовательны
Speaker A
к объёмам данных, к ресурсам и не всегда прозрачны в том, как принимают решения.
Speaker A
Помимо нейросетей, есть и другие классы алгоритмов. Один из них — деревья решений и методы их комбинации.
Speaker A
Они куда проще и часто дают отличные результаты на табличных данных: то есть там, где у нас есть строки и столбцы, как в Excel. Для финансовых рядов — это как раз один из наиболее удобных вариантов.
Speaker A
По поводу ресурсов, если для деревьев решений нам достаточно средненького CPU, то для обучения нейронных сетей нужен добротный GPU,
Speaker A
который может быть не дешевым и достаточно сложным инструментом для понимания простого юзера.
Speaker A
Я говорю сейчас об обучении с нуля, но и тут есть выходы, например, использовать облачные сервисы вроде Google Colab или Kaggle или же применять предобученную модель, но даже так
Speaker A
ресурсы нужны значительные. Но сейчас не об этом. Теперь давайте коротко разберём, какие вообще есть виды обучения. Классически выделяют три:
Speaker A
• Обучение с учителем. Когда у нас есть входные данные и правильные ответы. Например: вот свечи, а вот что произошло через пять баров — цена выросла или упала.
Speaker A
• Обучение без учителя. Когда у нас нет правильных ответов, и алгоритм сам ищет кластеры, группы и структуры в данных.
Speaker A
• Обучение с подкреплением. Когда агент взаимодействует со средой, пробует действия, получает награды и постепенно учится стратегии.
Speaker A
В нашей задаче используется обучение с учителем. Мы берём исторические данные по свечам, отмечаем, что произошло дальше, и просим алгоритм найти закономерности.
Speaker A
И вот здесь мы подошли к выбору метода. Почему XGBoost?
Speaker A
XGBoost — это реализация так называемого градиентного бустинга над деревьями решений. Звучит страшно, но идея очень элегантная. Представьте:
Speaker A
у нас есть простое дерево решений. Оно делит данные на группы, отвечая на вопросы вида:
Speaker A
«цена закрытия выше открытия?», «объём больше среднего?». Такое дерево само по себе работает не идеально, но уже даёт приближённое решение. Мы можем построить много таких деревьев,
Speaker A
и каждое следующее дерево будет исправлять ошибки предыдущего. В итоге у нас получается ансамбль — целая «команда» деревьев, где каждое вносит свою лепту. Так и рождается мощная модель,
Speaker A
которая часто работает лучше, чем нейросети на структурированных данных.
Speaker A
XGBoost — это не чёрный ящик. В отличие от нейросетей, мы можем интерпретировать важность признаков, понять, какие факторы реально влияют на прогноз. Например, алгоритм может показать:
Speaker A
сильнее всего на результат влияют не сами цены открытия и закрытия,
Speaker A
а соотношение между телом свечи и её тенью, или, скажем, объём торгов в конкретный момент.
Speaker A
Почему именно этот метод мы выбрали для эксперимента со свечами?
Speaker A
Потому что нам нужно не «угадывать рынок», а на простом и прозрачном примере показать, как работает машинное обучение. Взять голые свечи — это минимальная информация, и если
Speaker A
даже здесь алгоритм что-то находит, это уже хороший способ объяснить механику. Мы не стремимся
Speaker A
построить прибыльного робота, мы учимся понимать сам процесс: как формируется обучающая выборка,
Speaker A
как задаются параметры модели, что значит «переобучение» и как оценивается результат.
Speaker A
Таким образом, XGBoost в нашей задаче — это своего рода учебный микроскоп. Он
Speaker A
позволяет нам рассмотреть сам механизм машинного обучения: как модель учится,
Speaker A
как делает прогнозы и где ошибается. В прошлом видео я показывал, как использовать
Speaker A
ZeroMQ, чтобы связаться с МТ5, с помощью этой связки я выгрузил данные с 1 января 2020 года,
Speaker A
а дальше он продолжил подгружать новые свечи. Теперь у нас есть исторические данные — это
Speaker A
часовые свечи. Каждая свеча состоит из пяти основных параметров: открытие, максимум, минимум,
Speaker A
закрытие и объём. Эти данные мы загружаем в таблицу и приводим в порядок по времени.
Speaker A
Дальше мы должны задать целевую переменную — таргет. Ведь модель должна знать,
Speaker A
что именно предсказывать. В нашем случае мы берём очень простое правило: если в течение
Speaker A
следующих пяти баров цена выросла больше чем на десять пипсов, мы говорим, что это единица. Если
Speaker A
упала — это ноль. Всё. Мы вручную задали условие и получили готовый столбец с метками. Заметьте:
Speaker A
на этом этапе никакого машинного обучения ещё нет. Мы просто разметили данные,
Speaker A
чтобы модель знала, где у неё «правильный ответ». Теперь нужны признаки. На уровне свечей это могут
Speaker A
быть не только сами цены, но и производные. Например, тело свечи — разница между закрытием
Speaker A
и открытием. Диапазон свечи — максимум минус минимум. Верхняя и нижняя тень — это то,
Speaker A
что остаётся сверху и снизу после выделения тела. Получается набор числовых характеристик,
Speaker A
которые описывают форму каждой свечи. Эти признаки и станут входом для модели.
Speaker A
Следующий шаг — делим данные на обучение и тест. Это принципиально важно. Мы учим модель только
Speaker A
на прошлом, а проверяем — на будущем. Если не разделить данные, можно получить обманчиво высокую
Speaker A
точность, потому что модель просто увидит те же самые примеры ещё раз. А нам нужно, чтобы она
Speaker A
справлялась именно с новыми, неизвестными данными. Когда данные готовы, мы приводим их к единому
Speaker A
масштабу, потому что объёмы могут измеряться тысячами,
Speaker A
а тело свечи — всего лишь в десятых долях цены. Это называется масштабирование, и оно нужно для
Speaker A
того, чтобы все признаки имели сопоставимый вес. И вот тут начинается самое интересное — машинное
Speaker A
обучение. Мы создаём модель XGBoost. Это одна из самых популярных библиотек для
Speaker A
градиентного бустинга. Что такое бустинг? Представьте, что у нас есть много простых
Speaker A
деревьев решений. Каждое дерево само по себе не идеально, оно делает ошибки. Но
Topics:машинное обучениефинансовые данныеXGBoostдеревья решенийградиентный бустингсвечные графикиобучение с учителемфинансовый анализпризнакимодель прогнозирования











