🕌
J-Quantとペアトレと戯れる #3
今回やったこと
J-Quantとペアトレと戯れる #2 では、東証が決めた業種と言うクラスタを利用して、その中の銘柄ペアで、特に価格系列の差分に定常性がありそうなものを探していた。
今回は、値動きが似たような銘柄群をクラスタリングで抜き出してみて、様子を見てみることにする。
やりかた
tslearnというPythonパッケージには、時系列の波形を類似度でクラスタリングする機能があるので、それを使うだけ。
- クラスタ数は30
- 東証プライムの銘柄から、分散が大きい上位20%を取り除いたものをクラスタ化対象とした。銘柄数は1,445銘柄となった
- Dynamic Time Warp法とユークリッド距離のどちらかを時系列同士の距離を計算する際に利用する
- クラスタ化をする前処理として、tslearnの機能を使って時系列を分散1、平均0に正規化する。こうすると、振幅は無視して波形のみに着目したクラスタ化が行われる
結果
- 見た感じ似た値動きをしている銘柄がグループ化された。
- このグループ化にそもそも意味があるのかはわからない。銘柄間の関係を解釈しようとすると、それぞれの銘柄の事業を記憶して、関連性を発見する作業をしなければいけないと思う
- たとえその解釈ができたとしても、これからも似たような値動きが維持されるのかは予測できない
- クラスタリングにかかった時間はDTW法を使うとGoogle Colabフリー版で57分55秒、ユークリッド距離を使う場合は数秒だった
DTW法を使ったクラスタリング結果
ユークリッド距離を使ったクラスタリング結果
Discussion