こんにちは,藤野です.
普段はこちらで投資やプログラミングに関する記事を書いています.
今回は,「株価チャートの形が似ている銘柄をスクリーニングする方法」について説明します.
動機
形が似ている銘柄をスクリーニングするメリットとして,
・形が同じような銘柄は避け,分散投資に役立てる
・形が同じような銘柄を買い,ひとつの個別銘柄の不調を補う
・形が同じような銘柄の共通点を分析することで投資に役立てる
などがあります.
例えば,コロナショックで大暴落した銘柄の株価推移と似ている銘柄スクリーニングすることで,どんなセクターで暴落が起きたのかを分析することができます.
「形が似ている」の定量化
形の似ているチャートを抽出するには,「形が似ている」を定量化しなければなりません.
方法は色々あると思いますが,今回は株価チャートのスケールを0~1に正規化した後,MAEで比較する方法で行います.
この部分については,以下の記事で説明しています.
形が似ている銘柄をスクリーニングする
Pythonコードおよびその説明は以下の記事で説明しています.
この記事にあるコードを実行すると,例えばUAL(ユナイテッド・エアライン・ホールディングス)のチャートと似ている銘柄をスクリーニングすると,以下のような結果が得られます.
MAE(類似度)
銘柄
ALK 0.117049
BA 0.0786378
BXP 0.11543
CCL 0.142564
CNP 0.119631
COP 0.129644
DAL 0.0879942
XOM 0.120234
FRT 0.0716615
HST 0.137468
L 0.138638
MTB 0.143658
NCLH 0.0890963
OMC 0.125869
OKE 0.101436
PSX 0.139819
REG 0.0967346
RCL 0.109596
SPG 0.0745186
USB 0.14598
UAL 0
VNO 0.0915754
WFC 0.140196
このうち,例えば形が似ていると判定されたWFC(ウェルズ・ファーゴ)とUALを比較すると,以下のようになります.
どちらもコロナショックで大きく下落した銘柄ですね.
形が似た銘柄をスクリーニングするソースコードは以下
データベースにキャッシュしてスクリーニングを高速化する方法は以下