Google SpreadsheetからGICSのセクター名の取得方法(おまけでGoogle Finance、Yahoo! Finaceからの取得もあります)

2017年8月9日情報源

アメリカ株をGoogle スプレッドシートで管理したり、分析したりしていると、どうしてもある銘柄のセクター名を取得したいということがあります。

そこで、アメリカ株の銘柄のセクター名をGoogle スプレッドシートで取得する方法をご紹介します。

セクターとは?

セクターとは投資においては一般的に業種のことを指します。

例えば、建設業、製造業といった感じですね。

日本市場においては業種というと東京証券取引所が発表する10の大分類と33の中分類に分けられていますし、アメリカ市場においてもNASDAQがNYSE、NASDAQ、AMEX市場のセクターの情報を発表しています。

セクターの難しい点

このセクターですが、少し厄介なところがあります。それは何かというと、「情報を提供している会社によってセクターの分け方がバラバラである」という点です。

NASDAQが発表しているセクター情報、証券会社が出しているセクター情報、Morningstar、Google Finance、Yahoo! Financeなどのサイトが出しているセクター情報など、バラバラなんです。

アメリカ株の日本人投資家であれば、誰でも知っているスリーエムという会社(MMM)ですが、NASDAQが発表しているセクターではヘルスケア、Morningstar、Google Financeでは資本財、Yahoo! Financeでは消費財といった具合にかなり違うのです。

セクター名が違うと何が問題?

それの何が問題かというと、ポートフォリオを組むときにある程度セクターの比率を決めることが多いと思い
ます。その比率がどの会社が出しているセクター情報を拠り所にするかで、買う銘柄は一緒でもセクター比率が変わってしまうのです。

つまりはポートフォリオを管理する際にはどこか1つのセクター情報を拠り所にして管理した方がいいということです。

GICSとは?

では、どこが発表しているセクター名を採用すればよいかというと、これはもう決め問題です。

わたしが投資をする際に参考にしたシーゲル教授の著書「株式投資の未来~永続する会社が本当の利益をもたらす」ではGICSというセクターの分類を採用しています。

そのため、上記の本の考えをベースにしてアメリカ株投資をする人にとってみれば、できればGICSベースで管理したいと思うのは必然です。

GICSとは世界産業分類基準(Global Industry Classification Standard)のことで、セクターごとに企業を分類しています。スタンダード・アンド・プアーズ(S&P)モルガン・スタンレー(MSCI)が共同で作成したものです。

GICSのセクター一覧

GICSのセクター分類以下の11種類です。

セクター名(英語) セクター名(日本語)
Energy エネルギー
Materials 素材
Industrials 資本財
Consumer Discretionary 一般消費財
Consumer Staples 生活必需品
Health Care ヘルスケア
Financials 金融
Information Technology 情報技術
Telecommunication Services 電気通信
Utilities 公益事業
Real Estate 不動産

GICSでの分類で情報を提供しているサイトはどこか

実は世界産業分類基準と言いつつ、その分類に基づいて情報を提供しているところはあまりありません。わたしが知っている限りではGICSでの分類で情報を提供しているサイトは以下になります。

もし、他に知っている等ありましたら、教えていただけるとありがたいです。

Google SpreadSheetで銘柄のGICSのセクター名を取得する方法(英語)

Google SpreadSheetでは上記のサイト情報を利用して取得します。

セルに以下の数式の【Symbol】のところに、セクター情報を知りたい銘柄を入れることで取得できます。

=IMPORTXML("https://eresearch.fidelity.com/eresearch/evaluate/snapshot.jhtml?symbols=【Symbol】","//*[@id='companyProfile']/div[4]/span/a")

例えば、コカ・コーラ(KO)のセクター情報を取得したい場合は以下のように入力します。

=IMPORTXML("https://eresearch.fidelity.com/eresearch/evaluate/snapshot.jhtml?symbols=KO","//*[@id='companyProfile']/div[4]/span/a")

Google SpreadSheetで銘柄のGICSのセクター名を取得する方法(日本語簡易版)

上記は上表の左側の列の英語表記での取得になります。

やはり日本語で取得したいという人もいるかと思います。

日本語で簡単に取得するためには以下の方法で得られます。以下はGoogle翻訳を利用しています。
=googletranslate(IMPORTXML("https://eresearch.fidelity.com/eresearch/evaluate/snapshot.jhtml?symbols=【Symbol】","//*[@id='companyProfile']/div[4]/span/a"),"en","ja")

そうすると以下のようになります。

セクター名(英語) セクター名(日本語) セクター名(Google翻訳利用時)
Energy エネルギー エネルギー
Materials 素材 材料
Industrials 資本財 資本財
Consumer Discretionary 一般消費財 一般消費財
Consumer Staples 生活必需品 生活必需品
Health Care ヘルスケア 健康管理
Financials 金融 財務
Information Technology 情報技術 情報技術
Telecommunication Services 電気通信 電気通信サービス
Utilities 公益事業 ユーティリティ
Real Estate 不動産 不動産

Materials、Health Care、Utilitiesあたりがちょっと期待値と違う感じで表示されてしまいます。

Google SpreadSheetで銘柄のGICSのセクター名を取得する方法(日本語正しい版)

少し面倒ですが、セクター名(日本語)を意のままに操る方法をご説明します。つまりは、英語を好きな日本語に置換して、表示する方法です。

まず、Google SpreadSheetから以下のメニューをクリックします。
Google SpreadSheetからスクリプトエディタを起動

そうすると以下の画面が表示されます。
スクリプトエディタ画面

上図の赤枠のコードをすべて削除して、以下を英語のセクター名を日本語にするためのコードをコピペします。

function getSector(ticker) {
  var url_sector = "https://eresearch.fidelity.com/eresearch/goto/evaluate/snapshot.jhtml?type=o-NavBar&symbols=";
  var url;
  if (ticker.indexOf('.') != -1) {
    ticker = ticker.replace(".","%2F");
  }
  url = url_sector + ticker;

  var text = UrlFetchApp.fetch(url,{ muteHttpExceptions:true }).getContentText();
  var sector = "None";
  var myRegexp = /<h3>Sector.*<\/h3>.*>.*>(.*)<\/a>/i;
  var match = myRegexp.exec(text);
  if (match) {
    sector = match[1];
  }
  switch (sector){
    case "Energy":
      sector = "エネルギー";
      break;
    case "Materials":
      sector = "素材";
      break;
    case "Industrials":
      sector = "資本財";
      break;
    case "Consumer Discretionary":
      sector = "一般消費財";
      break;
    case "Consumer Staples":
      sector = "生活必需品";
      break;
    case "Health Care":
      sector = "ヘルスケア";
      break;
    case "Financials":
      sector = "金融";
      break;
    case "Information Technology":
      sector = "情報技術";
      break;
    case "Telecommunication Services":
      sector = "電気通信";
      break;
    case "Utilities":
      sector = "公益事業";
      break;
    case "Real Estate":
      sector = "不動産";
      break;
  }  
  return sector;
}

その後、メニューの[ファイル]-[保存]をクリックします。

上記まで完了したら、スプレッドシートで以下のような感じで日本名のセクター名を取得することができます。

GICSの日本語のセクター名を取得したイメージ

おまけ:他のサイトのセクター名を取得する方法

Morningstarからセクター名を取得する方法

=IMPORTXML("http://quotes.morningstar.com/stockq/c-company-profile?&amp;t=【Symbol】","//div[@class='gr_row3'][1]//div[@class='gr_colm1']/span[@class='gr_text7']")

Google Financeからセクター名を取得する方法

=IMPORTXML("https://www.google.com/finance?q=【Symbol】","//*[@id='sector']")

なお、Google SpreadSheetで各種情報を取得する方法は以下で公開しています。

Posted by てく