見出し画像

東京証券取引所プライム市場上場企業一覧のDictファイルを作成してみた

背景

Pythonからimport可能な日経225銘柄のDictファイルは以前作成した。
では、東京証券取引所プライム市場上場企業一覧(1643社)のDictファイルを作成してみよう。

内容

Dictファイルの中身の一部は下記のコードになっています。
ファイル名:JPXPrimeDict.py

ファイルの一部

# 日経プライム銘柄を持つ辞書

Prime_dict = {
    '187A.T': 'サムティホールディングス',
    '1301.T': '極洋',
    '1332.T': 'ニッスイ',
    '1333.T': 'マルハニチロ',
    '1375.T': '雪国まいたけ',
    '1377.T': 'サカタのタネ',
    '1379.T': 'ホクト',
    '1414.T': 'ショーボンドホールディングス',
    '1417.T': 'ミライト・ワン',

・・・・

    '9960.T': '東テク',
    '9962.T': 'ミスミグループ本社',
    '9974.T': 'ベルク',
    '9983.T': 'ファーストリテイリング',
    '9984.T': 'ソフトバンクグループ',
    '9987.T': 'スズケン',
    '9989.T': 'サンドラッグ',
    '9990.T': 'サックスバー ホールディングス',
    '9991.T': 'ジェコス',
    '9997.T': 'ベルーナ'
}

内容の検証結果

ファイルの行数=1648行

1852.T='淺沼組' OK
'2531.T'='宝ホールディングス' OK
'3167.T'='TOKAIホールディングス' OK
'7735.T'='SCREENホールディングス' OK
'9880.T'='イノテック' OK

以上、確認済み。

グラフ表示用Pythonスクリプト

プライム銘柄の中からランダムに5つの銘柄を選んで正規化株価のグラフをプロットすると同時に5銘柄間の相関係数をグラフ表示します。

Pythonスクリプトの一部

import yfinance as yf
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
import japanize_matplotlib
import JPXPrimeDict
import random

# Prime_dict からランダムに5つのティッカーシンボルを選択
ticker = random.sample(list(JPXPrimeDict.Prime_dict.keys()), 5)

(中略)

# 左側のグラフ(正規化されたデータをプロット)
for tick in ticker:
    axs[0].plot(data.index, data_normalized[JPXPrimeDict.Prime_dict[tick]], label=JPXPrimeDict.Prime_dict[tick])

axs[0].set_title('株価推移 (2020-2023)')
axs[0].set_xlabel('日付')
axs[0].set_ylabel('正規化価格')
axs[0].legend()
axs[0].grid(True)

# 右側のグラフ(相関行列のヒートマップ)
res = data_normalized.corr()
sns.heatmap(data=res, annot=True, ax=axs[1])
axs[1].set_title('株価の相関行列')

plt.show()

実行結果

実行するには、2つのファイルを同じフォルダに置き、
%python3 yf_graph.py

結果、
左が株価の推移、右が相関係数です。

ファイル

販売することにしました。300円です。
内容物:JPXPrimeDict.py と yf_graph.py の2ファイル。

(yf_graph.pyについてはあくまで最小限の動作確認用のPythonスクリプトです。)

ここから先は

46字 / 2ファイル

¥ 300

この記事が気に入ったらサポートをしてみませんか?