Processus de sélection des ETF et points clés essentiels

  1. Acquisition des données de base et filtrage initial

Obtention de la liste ETF : via get_all_securities([‘etf’]) pour récupérer tous les ETF du marché, en sélectionnant ceux créés avant le 1er janvier 2013 (start_date < 2013-01-01), afin d’assurer une donnée historique suffisante.
Exclusion des ETF à faible liquidité : suppression manuelle des ETF dont la moyenne de volume de transactions est trop faible (par exemple, 159003.XSHE ETF “招商快线”, 159005.XSHE ETF “汇添富快钱”, etc., dont la moyenne de volume ≤ 2,92 kw).

  1. Données quotidiennes des ETF et calcul des rendements

Période de données : récupération des prix de clôture des 240 derniers jours de négociation jusqu’à la date actuelle (today).
Traitement des rendements : calcul du rendement quotidien (pchg = close.pct_change()), formant une matrice de rendements ETF (prices, lignes = jours de négociation, colonnes = codes ETF).

  1. Clustering K-Means pour éliminer les doublons (basé sur la similarité de tendance)

Objectif du clustering : regrouper les ETF ayant des tendances similaires pour réduire la duplication des sous-jacents.
Paramètres : nombre de clusters n_clusters=30 (pour éviter que des ETF peu similaires soient regroupés par erreur en trop peu de clusters), en utilisant l’algorithme KMeans avec un seed aléatoire random_state=42.
Filtrage au sein des clusters : conserver dans chaque cluster l’ETF créé le plus tôt, pour les raisons suivantes :

  • Création précoce → généralement volume plus élevé (meilleure liquidité) ;
  • Création précoce → plus de données historiques (favorise l’entraînement des modèles).
  1. Évaluation de la qualité du clustering par le coefficient de silhouette

Calcul du coefficient de silhouette : 0,4511880967361387 (niveau moyen, indiquant une cohésion interne et une séparation inter-clusters acceptables, mais nécessitant une optimisation supplémentaire).

  1. Filtrage secondaire par coefficient de corrélation (pour réduire davantage la corrélation)

Matrice de corrélation : calcul du coefficient de corrélation des rendements ETF (corr = prices[df.code].corr()).
Traitement des paires fortement corrélées : sélection des paires d’ETF avec un coefficient > 0,85, en ne conservant que celui créé le plus tôt dans chaque paire, et en éliminant l’autre (par exemple, suppression de 159922.XSHE, 512100.XSHG, etc.).

  1. Optionnel : filtrage des ETF créés plus tard pour améliorer la qualité des données

Seuil : éliminer les ETF créés après 2020 (par exemple, 513060.XSHG “Hengsheng Healthcare”, 515790.XSHG “Photovoltaic ETF”, etc.), afin de garantir une base de données plus riche en historique (utile pour l’entraînement des modèles).

  1. Remarques et recommandations complémentaires

Traitement spécifique des ETF d’obligations d’État : si utilisés pour l’entraînement, il faut exclure 511010.XSHE “Obligation d’État” — dont la tendance est presque linéaire (similaire à Yu’e Bao), avec une volatilité très faible, ce qui perturberait l’apprentissage du modèle sur les caractéristiques de fluctuation, et n’a pas d’intérêt prédictif.
Filtrage des ETF en déclin : le résultat peut inclure des ETF en baisse à long terme (par exemple, ETF pharmaceutique, ETF immobilier). La décision de les exclure dépend de l’objectif stratégique :

  • Si l’on vise une rentabilité stable, il faut les éliminer ;
  • Si la stratégie fonctionne bien même avec des ETF en baisse, cela indique une robustesse élevée, mais il faut rester prudent quant au “futur fonction” : on ne peut prévoir si ces ETF en baisse vont inverser leur tendance.
    Validation visuelle : tracer les graphiques des ETF restants (par exemple, prix de clôture depuis 2017) pour vérifier manuellement si la corrélation et la distribution correspondent aux attentes (faible corrélation, distribution raisonnable).
    Résumé de la logique de filtrage finale :
    Par un processus en quatre étapes — “filtrage initial → regroupement par clustering pour éliminer les doublons → filtrage secondaire par coefficient de corrélation → (optionnel) filtrage par date de création” — on obtient un pool d’ETF à forte liquidité, à faible corrélation de tendance, avec une donnée historique riche. L’objectif principal est de fournir une base diversifiée et de haute qualité pour la stratégie ou le modèle.
Voir l'original
Cette page peut inclure du contenu de tiers fourni à des fins d'information uniquement. Gate ne garantit ni l'exactitude ni la validité de ces contenus, n’endosse pas les opinions exprimées, et ne fournit aucun conseil financier ou professionnel à travers ces informations. Voir la section Avertissement pour plus de détails.
  • Récompense
  • Commentaire
  • Reposter
  • Partager
Commentaire
Ajouter un commentaire
Ajouter un commentaire
Aucun commentaire
  • Épingler