NYSE、NASDAQ、AMEXの構成銘柄の取得方法(Google スプレッドシート編)

アメリカの株式市場であるNYSE、NASDAQ、AMEX の構成銘柄の取得方法について説明したいと思います。今回はGoogleスプレッドシートを利用して取得する方法です。

スポンサーリンク

ソース

構成銘柄のソースはNASDAQの以下から取得します。以下はCSVファイルでExcelで開けるなど、とても扱いやすいデータ形式です。ソースは他にもいくつかありそうですが、ここが取得しやすいです。

含まれているデータ

カラム名説明
Symbleシンボルが表示されます。
Name社名が表示されます。
LastSale前日の終値が表示されます。
MarketCap株式時価総額が表示されます。
IPOyear上場した年が表示されます。
Sectorセクター名が表示されます。
industryインダストリーが表示されます。なぜかここだけ、大文字で始まってません(-’’-)
Summary Quote当該シンボルのNASDAQのページのURLが表示されます。

NYSE、NASDAQ、AMEXの構成銘柄を個々に取得する方法

NYSE、NASDAQ、AMEXの構成銘柄を個々に取得する場合は以下の数式をセルに入力します。

そうすると以下のような感じで取得することができます。

NYSE、NASDAQ、AMEXの構成銘柄を取得したイメージ(googleスプレッドシート)

NYSE

=IMPORTDATA("https://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=nyse&render=download")

NASDAQ

=IMPORTDATA("https://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=nasdaq&render=download")

AMEX

=IMPORTDATA("https://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=amex&render=download")

NYSE、NASDAQ、AMEXの構成銘柄を1つの表の形で取得する場合

NYSE、NASDAQ、AMEXの構成銘柄をGoogle スプレッドシートの個々のシートに列挙するのはのではなく、1シートにすべて列挙したい場合は以下のようにセルに入力します。ちょっと長いですが(^^ゞ

={IMPORTDATA("http://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=nyse&render=download");FILTER(INDEX(IMPORTDATA("http://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=nasdaq&render=download"),,),INDEX(IMPORTDATA("http://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=nasdaq&render=download"),,1)<>"Symbol");FILTER(INDEX(IMPORTDATA("http://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=amex&render=download"),,),INDEX(IMPORTDATA("http://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=amex&render=download"),,1)<>"Symbol")}

ただし、わたしは以下の理由からこれだけの情報はいらないと思っています。

  • NASDAQへのページのURLが不要なこと
  • 前日の終値はGoogleスプレッドシートではgooglefinance関数で取得できるため不要であること
  • 時価総額も単位にM、Bが使われており、簡単に利用できる形ではないこと
  • セクター名もほしいGICSの分類でないこと

セクター名が情報提供元によって違うことに関しては以下を見てください。

Google SpreadsheetからGICSのセクター名の取得方法(おまけでGoogle Finance、Yahoo! Finaceからの取得もあります)
アメリカ株をGoogle スプレッドシートで管理したり、分析したりしていると、どうしてもある銘柄のセクター名を取得したいということがあります。そこで、アメリカ株の銘柄のセクター名をGoogle スプレッドシートで取得する方法をご紹介しま

上記の理由からほしいのは以下の3つの情報だけです。

  • ティッカーシンボル
  • 会社名
  • 市場(NYSEかNASDAQかAMEXか)

必要な情報(ティッカーシンボルと社名)を抽出し、どの市場か分かるようにした計算式

上述したティッカーシンボルと会社名はNASDAQから提供されているデータで簡単に取得できます。

しかし、市場(NYSEかNASDAQかAMEXか)はダウンロードしたデータに市場のカラムがないため、「NYSE、NASDAQ、AMEXの構成銘柄を個々に取得する方法」で記載した方法では取得できません。

なので、わたしは以下のように取得しています。

={QUERY(IMPORTDATA("https://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=nyse&render=download"),"SELECT Col1,Col2,'NYSE' OFFSET 1 label Col1 'Symbol',Col2 'Company Name','NYSE' 'Exchange'" ,0);
QUERY(IMPORTDATA("https://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=nasdaq&render=download"),"SELECT Col1,Col2,'NASDAQ' OFFSET 1 label 'NASDAQ' ''" ,0);
QUERY(IMPORTDATA("https://www.nasdaq.com/screening/companies-by-name.aspx?letter=0&exchange=amex&render=download"),"SELECT Col1,Col2,'AMEX' OFFSET 1 label 'AMEX' ''" ,0)}

詳細は分かりにくいと思うのでコピペでお願いします。

アメ株市場の構成銘柄の取得方法でした。

参考にしていただければと思います。

 

他にGoogleスプレッドシートを活用したデータ取得は以下のページでまとめています。

情報収集効率化
わたしがアメリカ株投資をするときに様々な情報をウェブサイトから収集しています。見たい情報が一か所のウェブサイトに集まっている訳ではありません。そこで、わたしは情報収集を効率化しています。情報収集効率化をどのようにしているかまとめていきた

コメント