LoginSignup
0
1

More than 1 year has passed since last update.

【ADRリストを作りたい】 ~三部作 第二話~ 楽天&SBIのADR銘柄一覧の取得

Last updated at Posted at 2021-04-04
  • 忙しくてADR銘柄を比較してる時間がない,,
  • リストがあれば、すぐ選べるのに,,
  • 資金少ないし、失敗したくないなぁ,,



そんな方でも大丈夫です!
三部作のゴールは、時価総額順業種別指定額範囲で検索できる、ADR銘柄のリストの作り方がわかります。
第二話では早速ADRを取得していきます。


〜目次〜
1. 楽天証券から一覧を取得
  1-1. adr銘柄のcsvを取得から編集
  1-2. 重複する要素の抽出
2. sbi証券から一覧を取得
  2-1. adr銘柄のhtmlテーブルを取得から編集
  2-2. 重複する要素の抽出
3. 終わりに

1. 楽天証券から一覧を取得

楽天とSBIとでは、取扱っているADR銘柄が違います。
ですので先に、楽天で取扱のあるADRから取得していきましょう。

1-1. adr銘柄のcsvを取得から編集

# 楽天証券取扱のADR
dfrkt = pd.read_csv("/Users/nak@@@@@@oshinari/Downloads/result_us.csv")
RKT_ADR_df = dfrkt.rename(columns={"現地コード": "ADR_ティッカー"})

取得してきたデータに「現地コード」という列名があるはずですので、「ADR_ティッカー」に変更します。
第一話で作成した「ADR_ティッカー」と、列名を合わせる事で重複要素として結合できるようになります。
もちろん列名は「ADR_ティッカー」以外で、ご自身の分かり易いもので結構です。

出力結果
ADR_ティッカー 銘柄名(English) 銘柄名 市場 業種 取扱
0 ABB ABB LTD-ADR ABB NYSE 電機・電力・エネルギー ○
1 ABCM ABCAM PLC アブカム NASDAQ 医薬品(バイオテクノロジー) ○
... ... ... ... ... ... ...
242 ZEPP ZEPP HEALTH CORPORATION ゼップ・ヘルス NYSE コンピュータ関連 ○
243 ZTO ZTO EXPRESS (CAYMAN) INC. ZTOエクスプレス(ケイマン) NYSE 運輸 ○
244 rows × 6 columns


1-2. 重複する要素の抽出

# 米国株約6800から楽天ADR銘柄を抽出して、列に追加する
moto_RKT_ADR_df = pd.merge(moto_df, RKT_ADR_df, on="ADR_ティッカー", how="inner")

# .sort_values(by="順に並べたい列名")
moto_RKT_ADR_df_pic = moto_RKT_ADR_df[["ADR_ティッカー", "時価総額_ドル", "業種"]].sort_values(by="業種")

楽天のADR一覧には時価総額や取引値が記載されていません。
なのでYahooFinanceのデータフレームと結合させて時価総額や取引値を見れるようにします。

出力結果
ADR_ティッカー 時価総額_ドル 取引値 業種
129 SBS 4941776000 7.23(04/01 16:15) その他
166 PLL 1070827000 68.10(04/01 17:20) その他
... ... ... ... ...
107 KOF 9789903000 46.60(04/01 16:15) 食品・飲料
52 ABEV 42023780000 2.67(04/01 16:15) 食品・飲料


2. sbi証券から一覧を取得

楽天ではCSVでしたが、SBIではhtmlからデータを取得していきます。

2-1. adr銘柄のhtmlテーブルを取得から編集

# SBI証券取扱のADR
tables = pd.read_html("https://search.sbisec.co.jp/v2/popwin/info/stock/pop6040_usequity_list.html#usetf", flavor='bs4')

tables6 = tables[6]
tables7 = tables[7]
tables8 = tables[8]
tables9 = tables[9]
tables10 = tables[10]
tables11 = tables[11]
tables12 = tables[12]
tables13 = tables[13]
tables14 = tables[14]
tables15 = tables[15]
tables16 = tables[16]
tables17 = tables[17]
tables18 = tables[18]
tables19 = tables[19]

tablesdf = pd.concat([tables6, tables7, tables8, tables9, tables10, tables11, tables12, tables13, tables14, tables15, tables16, tables17, tables18, tables19])
SBI_ADR_df = tablesdf.rename(columns={"ティッカー": "ADR_ティッカー"})

取得してきたデータに「ティッカー」という列名があるはずですので「ADR_ティッカー」に変更します。
これも重複要素を結合する為です。

出力結果
ADR_ティッカー 銘柄(英語) 事業内容 市場
0 AMRN Amarin Corporation plcアマリン アイルランド籍のバイオ製薬会社 NASDAQ
1 AUTL Autolus Therapeutics plcアウトロス セラピューティクス イギリスのバイオ医薬品会社 NASDAQ
... ... ... ... ...
14 SAP SAP SEエス・エー・ピー e-ビジネスおよび企業経営ソフトウエアなどビジネスソフトウエアの開発SAP(SAP SE)を... NYSE
15 SQM Sociedad Quimica y Minera de Chile SAソシエダード キミ... 世界100カ国以上で商品を販売しているチリの大手化学メーカー。 NYSE
166 rows × 4 columns

2-2. 重複する要素の抽出

# 米国株約6500からSBIのADR銘柄を抽出して時価総額_ドルの列を追加する
moto_SBI_ADR_df = pd.merge(moto_df, SBI_ADR_df, on="ADR_ティッカー", how="inner")
moto_SBI_ADR_df_pic = moto_SBI_ADR_df[["ADR_ティッカー", "時価総額_ドル", "事業内容"]]

# sortするとタイプがなくなるのか下のmergeでエラーが出る
moto_SBI_ADR_df_pic_sort = moto_SBI_ADR_df_pic.sort_values(by="時価総額_ドル")

SBI証券のADR一覧にも時価総額や取引値が記載されていません。
楽天と同様YahooFinanceのデータフレームと結合させて、時価総額や取引値を見れるようにします。

出力結果
ADR_ティッカー 時価総額_ドル 取引値 事業内容
161 MOGU 9500000 2.00(04/01 16:15) 衣料品オンラインプラットフォームを運営している中国(ケイマン籍)の会社。
160 JFU 16198000 1.82(04/01 17:20) ケイマン諸島籍のITソリューションを提供している企業
... ... ... ... ...
1 TSM 596761765000 115.07(03/30 20:04) 台湾の半導体メーカー
0 BABA 608576500000 224.36(04/01 16:15) 中国(ケイマン籍)で電子商取引、オンライン金融およびインターネットコンテンツサービスを提供す...


3. 終わりに

次回、最終話では楽天とSBIのADR一覧を結合していきます。
最後まで読んで頂きありがとうございました。
まだまだ初学者ですので、もっと良い記述の方法があればご指摘お願い致します!

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1