Процесс отбора ETF и основные моменты, на которые следует обратить внимание

  • I. Получение базовых данных и предварительная фильтрация

Получение списка ETF: через get_all_securities([‘etf’]) получить все ETF на рынке, отфильтровать те, которые были созданы до 1 января 2013 года (start_date < 2013-01-01), чтобы обеспечить достаточную историческую информацию.
Исключение ETF с низкой ликвидностью: вручную исключить определённые ETF с низким средним объёмом торгов (например, 159003.XSHE招商快线ETF, 159005.XSHE汇添富快钱ETF и др.), средний объём торгов ≤ 2.92kW.

  • II. Ежедневные данные по ETF и расчет доходности

Диапазон данных: получить цены закрытия за последние 240 торговых дней до текущей даты (today).
Обработка доходности: вычислить дневную доходность (pchg = close.pct_change()), сформировать матрицу доходностей ETF (prices, строки — торговые дни, столбцы — коды ETF).

  • III. Кластеризация методом K-средних для устранения дублирования (на основе сходства трендов)

Цель кластеризации: объединить ETF с похожими трендами в один кластер, чтобы уменьшить количество дублирующих активов.
Настройки параметров: число кластеров n_clusters=30 (чтобы избежать слишком малого числа кластеров, что может привести к объединению несхожих ETF), алгоритм KMeans, случайное зерно random_state=42.
Отбор внутри кластера: оставить только ETF с самой ранней датой основания, потому что:
— раннее основание обычно связано с большим объёмом торгов (лучше ликвидность);
— раннее основание означает больше исторических данных (что полезно для обучения модели).

  • IV. Оценка эффективности кластеризации с помощью коэффициента силуэта

Вычисление коэффициента силуэта: примерно 0.4512 (средний уровень, указывает на умеренную плотность кластеров и их разделение, требует дальнейшей оптимизации).

  • V. Вторичная фильтрация по коэффициенту корреляции (для дальнейшего снижения корреляции)

Матрица корреляции: расчет корреляционной матрицы доходностей ETF (corr = prices[df.code].corr()).
Обработка высоко коррелированных пар: оставить только те пары ETF, у которых коэффициент корреляции > 0.85, и из каждой пары оставить только ETF с более ранним основанием, остальные исключить (например, исключить 159922.XSHE, 512100.XSHG и др.).

  • VI. Опционально: фильтрация ETF с поздним основанием (для повышения качества данных)

Установка порога: исключить ETF, созданные после 2020 года (например, 513060.XSHG恒生医疗, 515790.XSHG光伏ETF и др.), чтобы оставить только те, у которых более богатая историческая база данных (подходит для обучения моделей).

  • VII. Важные замечания и дополнительные рекомендации

Особая обработка государственных облигационных ETF: при использовании для обучения модели необходимо исключить 511010.XSHE国债ETF — его тренд почти линейный (похож на баланс-офер), очень малые колебания, что мешает модели учиться на волатильных признаках, и предсказание для него не требуется.
Отбор ETF с падением: в итоговом списке могут оказаться ETF с долгосрочным снижением (например, ETF по медицине, недвижимости), их исключение зависит от целей стратегии:
— для стабильной доходности их можно исключить;
— если стратегия показывает хорошие результаты даже с ETF, снижающимися в цене, это может свидетельствовать о высокой устойчивости стратегии (однако нужно учитывать риск «функции будущего», предсказать, изменится ли тренд у падающих ETF, невозможно).
Визуальная проверка: построить графики оставшихся ETF (например, цены закрытия с 2017 года), вручную проверить, соответствуют ли корреляции ожидаемым (низкая корреляция и разумное распределение).
Общая логика финальной фильтрации:
через «начальную фильтрацию → кластеризацию для устранения дублирования → вторичную фильтрацию по корреляции → (опционально) фильтрацию по дате основания» получить пул ETF с хорошей ликвидностью, низкой корреляцией трендов и богатой историей, что обеспечивает разнообразие и высокое качество базовых активов для стратегии или модели.

Посмотреть Оригинал
На этой странице может содержаться сторонний контент, который предоставляется исключительно в информационных целях (не в качестве заявлений/гарантий) и не должен рассматриваться как поддержка взглядов компании Gate или как финансовый или профессиональный совет. Подробности смотрите в разделе «Отказ от ответственности» .
  • Награда
  • комментарий
  • Репост
  • Поделиться
комментарий
Добавить комментарий
Добавить комментарий
Нет комментариев
  • Закрепить