ETFスクリーニングプロセスとコア要点まとめ

robot
概要作成中
  • 一、基本データ取得と初期フィルタリング

ETFリストの取得:get_all_securities([‘etf’])を使用して全市場のETFを取得し、2013年1月1日以前に設立されたもの(start_date < 2023-01-01)を選定し、十分な過去データを確保します。
流動性の低いETFを除外:取引高の平均値が低い特定のETF(例:159003.XSHE招商快线ETF、159005.XSHE汇添富快钱ETFなど、平均取引高≤2.92kw)を手動で除外します。

  • 二、ETFの日足データとリターン率の計算 データ範囲:当日(today)前の240取引日の終値データを取得します。
    リターン率処理:日次リターン(pchg = close.pct_change())を計算し、ETFリターンの行列(prices、行=取引日、列=ETFコード)を作成します。

  • 三、K-Meansクラスタリングによる重複排除(動きの類似性に基づく) クラスタリング目的:動きが似ているETFを一つのクラスタにまとめ、重複を減らす。
    パラメータ設定:クラスタ数n_clusters=30(クラスタ数が少なすぎて類似しないETFが誤ってまとめられるのを防ぐため)、KMeansアルゴリズムを使用し、random_state=42を設定。
    クラスタ内の選別:各クラスタで最も早く設立されたETFを残す。理由は以下の通り:

  • 早期設立→取引高が大きく流動性が高い傾向がある。
  • 早期設立→過去データが豊富でモデル訓練に有利。
  • 四、輪郭係数によるクラスタリング効果の評価 クラスタリングの輪郭係数を計算:0.4511880967361387(中程度の水準、クラスタ内の密集度とクラスタ間の分離度は一定の良さを示すが、さらなる最適化の余地あり)。

  • 五、相関係数の二次フィルタリング(関連性のさらなる低減) 相関係数行列の計算:ETFリターンの相関係数行列(corr = prices[df.code].corr())を算出。
    高い相関のETFペアの処理:相関係数>0.85のETFペアを抽出し、各ペアで設立が早いETFのみを残し、他を除外(例:159922.XSHE、512100.XSHGなど)。

  • 六、オプション:設立が遅いETFの除外(データ品質向上) 閾値設定:2020年以降に設立されたETF(例:513060.XSHG恒生医療、515790.XSHG太陽光発電ETFなど)を除外し、残るETFの過去データを充実させる(モデル訓練用途に適する)。

  • 七、注意点と補足 国債ETFの特別処理:モデル訓練に使用する場合、511010.XSHE国債ETFは除外推奨。理由は、直線的な動き(余额宝に類似)で変動が極めて小さく、モデルの波動特性学習を妨げるため。
    下落傾向のETFの取扱い:長期的に下落しているETF(例:医薬品ETF、不動産ETF)も結果に含まれる可能性がある。除外の判断は戦略の目的次第:

  • 安定したリターンを追求するなら除外。
  • 下落ETFを含んでも戦略が良好に機能する場合、戦略の堅牢性が高い可能性もある(ただし、「未来予測」リスクに注意し、下落反転の可能性は予測できない)。
    可視化による検証:残ったETFのチャート(例:2017年以降の終値)を描画し、相関や分布が期待通りか手動で確認。

最終的な選別の流れ:
「初期フィルタリング→クラスタリングによる重複排除→相関係数の二次フィルタリング→(必要に応じて)設立時期による除外」の4段階を経て、流動性が高く動きの低相関、過去データが豊富なETF群を抽出。これにより、多様で高品質な基準銘柄群を戦略やモデルに提供します。

原文表示
このページには第三者のコンテンツが含まれている場合があり、情報提供のみを目的としております(表明・保証をするものではありません)。Gateによる見解の支持や、金融・専門的な助言とみなされるべきものではありません。詳細については免責事項をご覧ください。
  • 報酬
  • コメント
  • リポスト
  • 共有
コメント
コメントを追加
コメントを追加
コメントなし
  • ピン