Машинное обучение в трейдинге: теория, модели, практика и алготорговля - страница 3678

Vladimir Perervenko #:

Спасибо, почитаю.

Ссылки работают только после их обрезания:

https://www.mql5.com/ru/articles/4227

https://www.mql5.com/ru/articles/4228

https://www.mql5.com/ru/articles/4722

[Удален]
Когда будем в дубайске хедж фонд регистрировать?
Maxim Dmitrievsky #:
Когда будем в дубайске хедж фонд регистрировать?

Имхо, начинать надо с труЪ МО-платформы для трейдинга. Потом добавить труЪ МО-форум по трейдингу и дополнить созданием тематической криптовалюты.

Если вдруг взлетит, то добавление хедж фонда будет уже опциональным, а если с него начинать, то можно сразу нарваться на паршивые новости (которые явно грядут) и всю оставшуюся жизнь прятаться от инвесторов)

Бегло просмотрел Ваши статьи: как всегда высший профессионализм.

Но бегло, так как пытался увидеть важный для себя момент.

Сам испробовал разные варианты объединения, не на таком уровне как у Вас, тем не менее. Кроме объединения предсказаний пробовал еще массу чего.

Если взять готовый файл и делить его на куски, то я получал просто замечательные результаты: ошибку классификации менее 10% и точность свыше 90% - нет проблем.

НО.

Если прогнать так как на реале - пошагово, то все мои упражнения имеют одинаково унылый результат: ошибка классификации около 50% и профит-фактор около 1. Можно поупражняться и добиться 40%.

Поэтому оценка любых торговых систем ТОЛЬКО в тестере, можно написать некое подобие тестера в R, но обязательно - новый бар - предсказываем и этот новый бар ни в каком вдие не входил в предыдущие упражнения по подгонке и оченки моделей.  И так каждый шаг.

Если обучать весь пароход по приходу нового бара, то можно получить профит-фактор около 1.5 (ошибка классификации ниже 40%).


На сегодня я не вижу опровержения: ВСЕ МО ПРЕДНАЗНАЧЕНО ТОЛЬКО  для анализа и прогноз невозможен.

Буду признателен, ели Вы опровергнете это утверждение, выложив баланс,полученный пошаговым прогоном.  

[Удален]
Aleksey Nikolayev #:

Имхо, начинать надо с труЪ МО-платформы для трейдинга. Потом добавить труЪ МО-форум по трейдингу и дополнить созданием тематической криптовалюты.

Если вдруг взлетит, то добавление хедж фонда будет уже опциональным, а если с него начинать, то можно сразу нарваться на паршивые новости (которые явно грядут) и всю оставшуюся жизнь прятаться от инвесторов)

Если новости окажутся слишком паршивыми, то прятаться будет уже не от кого :)
Maxim Dmitrievsky #:
Если новости окажутся слишком паршивыми, то прятаться будет уже не от кого :)
А при достаточной их паршивости - также некому и негде)
Но подходящая для МО-трейдинга платформа не помешала бы. С кастомными событиями и нормальной синхронизацией событий на истории.
Aleksey Nikolayev #:

Чисто теоретический вопрос. Задумался по поводу приложения идей ансамблирования из МО к набору ТС.

Проще всего, наверно, бэггинг - просто портфель из независимых ТС. Общая позиция определяется как суммарная или средняя от позиций отдельных ТС.

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

Непонятно с бустингом. Возможно, что-то вроде последовательности ТС, каждая из которых улучшает работу портфеля из предыдущих ТС (уменьшает просадку и тд)

Ответ от Дипсика:

Применение бустинга к ансамблю торговых систем (ТС) требует адаптации его ключевых принципов — последовательного улучшения с акцентом на коррекцию ошибок предыдущих моделей. Вот основные идеи и подходы:


1. Базовые принципы бустинга в контексте ТС

  • Последовательная коррекция: Каждая новая ТС фокусируется на "слабых местах" ансамбля (например, убыточных сделках, просадках, избыточном риске).

  • Динамическое взвешивание: Вклад каждой ТС в общую позицию зависит от её текущей эффективности (аналог весов в градиентном бустинге).

  • Адаптация к остаточным ошибкам: Последующие ТС обучаются на данных, где предыдущие системы показали низкую результативность.


2. Конкретные реализации

a) Коррекция просадок

  • Пример:

    • ТС-1 генерирует базовые сигналы (например, трендовая стратегия).

    • ТС-2 анализирует периоды просадок ТС-1 и активирует хеджирующие позиции (например, контртрендовые сделки) в моменты высокой волатильности.

    • ТС-3 оптимизирует размер позиции, уменьшая риск в зонах, где ТС-1 и ТС-2 конфликтуют.

b) Мета-управление рисками

  • Каждая последующая ТС вводит дополнительные правила:

    • Динамический стоп-лосс на уровне ансамбля.

    • Корректировка размера лота в зависимости от "доверия" к предыдущим ТС (например, уменьшение позиции при расхождении сигналов).

c) Градиентный бустинг для торговых стратегий

  • Формализация задачи как минимизации "функции потерь" портфеля:

    • Цель: Каждая новая ТС уменьшает совокупную просадку или повышает Sharpe Ratio.

    • Метод: Обучение ТС на исторических данных с акцентом на периоды, где текущий ансамбль показал худшие результаты (аналог остатков в регрессии).


3. Пример архитектуры

  1. Базовый уровень:

    • Ансамбль из независимых ТС (бэггинг).

    • Общая позиция = средневзвешенная сигналов.

  2. Бустирующий слой:

    • ТС-A: Анализирует убыточные сделки базового ансамбля и генерирует противоположные сигналы для их частичной компенсации.

    • ТС-B: Оптимизирует распределение капитала между ТС, увеличивая вес систем с лучшей近期 эффективностью (скользящее окно).

  3. Мета-стратегия:

    • Использует ML-модель (например, градиентный бустинг) для прогноза оптимального сочетания сигналов всех ТС на основе текущих рыночных условий.


4. Преимущества и риски

  • Плюсы:

    • Снижение просадок за счет компенсации слабых мест отдельных ТС.

    • Адаптивность к меняющимся рыночным условиям.

  • Риски:

    • Переобучение на исторических данных (особенно при частой перестройке весов).

    • Усложнение инфраструктуры и рост транзакционных издержек.

    • Возможная интерференция сигналов (например, конфликт трендовых и контртрендовых стратегий).


5. Практические шаги для внедрения

  1. Определите "функцию потерь" для ансамбля (например, максимальная просадка, volatility).

  2. Реализуйте механизм последовательного добавления ТС, каждая из которых минимизирует эту функцию.

  3. Введите динамическое взвешивание сигналов (например, на основе скользящего Sharpe Ratio).

  4. Тестируйте на длительной истории с учетом разных рыночных режимов (тренд, флэт, шоковые события).


Ключевая мысль

Бустинг в трейдинге — это не просто "последовательность ТС", а система обратной связи, где каждая новая стратегия целенаправленно улучшает метрики ансамбля, фокусируясь на его текущих слабостях. Это требует глубокой интеграции между компонентами и строгого контроля за переобучением.

Историю почти идеально запомнить можно и одним деревом. Что-то про успешность на новых данных ни слова.
У меня та же ситуация, как у СанСаныча.
Идеально заучивать и не надо, надо закономерности находить, обобщение. Но как получить обобщение, а не просто недообучение?
Forester #:
Историю почти идеально запомнить можно и одним деревом. Что-то про успешность на новых данных ни слова.
У меня та же ситуация, как у СанСаныча.
Идеально заучивать и не надо, надо закономерности находить, обобщение. Но как получить обобщение, а не просто недообучение?

Не первый раз пытаюсь поднять этот вопрос: все прекрасно на этапе обучения и рандомный результат при пошаговом прогоне.

А это говорит о том, что не имеет смысла любые ухищрения на этапе обучения - достаточно чего-то примитивного.

А если вникнуть, то рандомный результата на пошаговом прогоне - это означает, что те паттерны, который нашло МО на истории НЕ существуют в будущем. И обсуждать на стационарность паттернов.