Pythonで銘柄一覧を取得してみる

調査
スポンサーリンク

Pythonで東証が公開している「東証上場銘柄一覧」から銘柄一覧を取得してみました!

(調査日:2023年3月13日)

【調査時の環境】
・requests 2.28.2
・pandas 1.5.3

 

目次

 


 

Pythonライブラリをインストール

コマンド実行
$ pip install requests pandas

 

 

サンプルコード

JPX_stocklist.py
import requests, datetime, os
import pandas as pd

url = "https://www.jpx.co.jp/markets/statistics-equities/misc/tvdivq0000001vg2-att/data_j.xls"
fn = "/code/list/{0}_JPX_data.xls".format(datetime.datetime.now().strftime('%Y-%m'))

if not os.path.isfile(fn):
    r = requests.get(url)
    with open(fn, 'wb') as output:
        output.write(r.content)

stocklist = pd.read_excel(fn)
print(stocklist)

 

 

実行結果

実行結果
            日付   コード                                   銘柄名       市場・商品区分 33業種コード  33業種区分 17業種コード  17業種区分 規模コード           規模区分
0     20230228  1301                                    極洋    プライム(内国株式)      50  水産・農林業       1     食品      7  TOPIX Small 2
1     20230228  1305                         ダイワ上場投信-トピックス       ETF・ETN       -       -       -       -     -              -
2     20230228  1306               NEXT FUNDS TOPIX連動型上場投信       ETF・ETN       -       -       -       -     -              -
3     20230228  1308                     上場インデックスファンドTOPIX       ETF・ETN       -       -       -       -     -              -
4     20230228  1309  NEXT FUNDS ChinaAMC・中国株式・上証50連動型上場投信       ETF・ETN       -       -       -       -     -              -
...        ...   ...                                   ...           ...     ...     ...     ...     ...   ...            ...
4239  20230228  9993                                  ヤマザワ  スタンダード(内国株式)    6100     小売業      14     小売      7  TOPIX Small 2
4240  20230228  9994                                   やまや  スタンダード(内国株式)    6100     小売業      14     小売      7  TOPIX Small 2
4241  20230228  9995                                 グローセル    プライム(内国株式)    6050     卸売業      13  商社・卸売      7  TOPIX Small 2
4242  20230228  9996                                 サトー商会  スタンダード(内国株式)    6050     卸売業      13  商社・卸売      -              -
4243  20230228  9997                                  ベルーナ    プライム(内国株式)    6100     小売業      14     小売      6  TOPIX Small 1

[4244 rows x 10 columns]

 

市場・商品区分は何があるか?

stocklist["市場・商品区分"].drop_duplicates()

実行結果
0                              プライム(内国株式)
1                                 ETF・ETN
36                           スタンダード(内国株式)
57                             グロース(内国株式)
68                             PRO Market
243                            プライム(外国株式)
823     REIT・ベンチャーファンド・カントリーファンド・インフラファンド
1908                         スタンダード(外国株式)
2685                           グロース(外国株式)
3596                                 出資証券
Name: 市場・商品区分, dtype: object

 

市場区分ごとの銘柄数は?

for market in stocklist["市場・商品区分"].drop_duplicates(): print("Market:{0}, Num:{1}".format(market, len(stocklist[stocklist["市場・商品区分"] == market])))

実行結果
Market:プライム(内国株式), Num:1835
Market:ETF・ETN, Num:310
Market:スタンダード(内国株式), Num:1445
Market:グロース(内国株式), Num:512
Market:PRO Market, Num:69
Market:プライム(外国株式), Num:1
Market:REIT・ベンチャーファンド・カントリーファンド・インフラファンド, Num:65
Market:スタンダード(外国株式), Num:2
Market:グロース(外国株式), Num:3
Market:出資証券, Num:2

プライム(内国株式)は1835銘柄ある。

 

 

以上!

コメント

タイトルとURLをコピーしました