Все статьиИнвестиции

От классификации к ранжированию: CatBoost, YetiRank и поиск оптимальной сложности модели

10 ноября 2026

Ежедневный результат

Финансовый результат портфеля за день: −0,14%.

Бенчмарк SBMX: −0,73%.

Относительный результат: +0,59 п.п.

Время фиксации: 19:53 МСК.

Текущая аллокация

IMOEXF — 5,29%.

GMKN — 5,29%.

SBER — 5,29%.

SOL — 5,29%.

XRP — 5,29%.

OZON — 5,29%.

GAZP — 5,29%.

Из портфеля выбыли LKOH и DOMRF. Их заменили SOL и XRP.

Общий размер позиций сокращён риск-оверлеем.

Новый эксперимент: переход к ранжированию

Следующий этап разработки — переход от классификации к модели ранжирования относительной силы инструментов (Relative Strength, RS).

Модель должна оценивать относительную привлекательность инструментов внутри общего пула.

Для этого выбран CatBoostRegressor.

Почему CatBoost

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

Основная причина — контроль сложности модели.

При слабом сигнале избыточная гибкость повышает вероятность подгонки под шум. Поэтому на первом этапе предпочтительнее ограничить сложность и проверить, насколько устойчивое ранжирование можно получить без чрезмерного увеличения ёмкости модели.

Основная конфигурация:

  • CatBoostRegressor;
  • глубина дерева — 3;
  • до 1500 итераций;
  • expanding window;
  • Purge — 20 дней;
  • процентильное ранжирование относительных признаков.

Постановка таргета

Основной таргет — ранг по Relative Strength.

Регрессионная постановка сохраняет непрерывность информации на полном пуле инструментов.

Дополнительно проверяется YetiRank — специализированный алгоритм обучения ранжированию. Это позволяет оценить, даёт ли непосредственная оптимизация релевантности преимущество перед регрессионным приближением.

Также используется ансамбль из пяти моделей с разными seed. Цель — проверить зависимость результатов от конкретного случайного запуска.

Первые результаты — IS

Все приведённые ниже метрики получены на IS-выборке в рамках walk-forward экспериментов. Они не являются OOS-результатами.

CatBoostRegressor:

  • IC: +0,0720;
  • NDCG@10: 0,483;
  • TOP10 mean RS: +0,0154.

CatBoostRegressor, ансамбль из пяти seed:

  • IC: +0,0739;
  • NDCG@10: 0,484;
  • TOP10 mean RS: +0,0150.

YetiRank:

  • IC: +0,0719;
  • NDCG@10: 0,500;
  • TOP10 mean RS: +0,0155.

Ансамбль из пяти seed немного улучшил агрегированный IC, но практически не изменил NDCG.

YetiRank показал лучший NDCG@10, однако преимущество оказалось недостаточным, чтобы признать его лучшей моделью по совокупности результатов.

При этом NDCG@10 остаётся слабым у всех трёх конфигураций.

Grid Search — IS

Следующим этапом стала настройка гиперпараметров.

Лучшая конфигурация:

  • depth = 4;
  • l2_leaf_reg = 100;
  • random_strength = 3;
  • learning_rate = 0,03.

Полученный IC на IS: +0,0763.

На этой конфигурации дополнительно проверен YetiRank без ансамбля seed.

Результаты IS:

  • Mean IC: +0,0698;
  • NDCG@10: 0,500;
  • TOP10 mean RS: +0,0147;
  • Hit Rate: 69,1%.

Увеличение сложности не принесло ожидаемого улучшения. По IC результат оказался хуже базовой конфигурации.

Зафиксирована деградация качества, интерпретируемая как переобучение.

Поиск оптимального числа итераций — IS

После grid search вернулись к регрессионной постановке.

Первоначальный план предполагал проверку 1500 итераций с шагом 100 на шести фолдах. Вычислительная стоимость оказалась слишком высокой, поэтому диапазон сократили до 1000.

Результаты IS:

  • Mean IC: +0,0759;
  • NDCG@10: 0,486;
  • TOP10 mean RS: +0,0164;
  • Hit Rate: 73,3%;
  • Median best_iter: 300.

Наиболее интересный результат — динамика качества по числу итераций.

Модель достигает лучшей области достаточно рано. После приблизительно 500 итераций начинается деградация.

Медианное оптимальное количество итераций по фолдам — 300.

Таким образом, увеличение продолжительности обучения не улучшает модель. Напротив, оно постепенно ухудшает качество ранжирования.

Промежуточные выводы — IS

  1. Регрессионная постановка пока выглядит предпочтительнее YetiRank.
  2. Ансамбль seed немного повышает IC, но практически не меняет NDCG.
  3. Увеличение глубины деревьев не обеспечило улучшения.
  4. Лучшая область обучения — 200–300 итераций.
  5. После 500 итераций наблюдается деградация.
  6. NDCG@10 остаётся слабым местом модели.

Особенно важно последнее обстоятельство.

Модель способна демонстрировать достаточно высокий агрегированный IC, но качество отбора верхней части ранжирования пока требует отдельного внимания.

Корреляция по всему пулу и способность находить лучших кандидатов — не одно и то же.

Следующий этап

Основная конфигурация возвращается к CatBoostRegressor.

Рабочая область параметров:

  • глубина — 3;
  • оптимальное количество итераций — около 300;
  • expanding window;
  • Purge — 20 дней.

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

Все представленные результаты являются IS. OOS-валидация и проверка на живой дистанции ещё не проводились.

Эксперимент продолжается.

Источник:
Нет комментариев. Ваш будет первым!
Загрузка...