米国企業のCIKコードリストを取得する方法です。
CIK(シーアイケー、セントラルインデックスキー)コードは、米国証券取引委員会(SEC)のエドガー(EDGAR)で、企業の開示情報を検索するときに使います。
Pythonなどで決算分析をする時には、『CIKコード』と『Tickerシンボル(ティッカーコード)』の対応リストも必要になりました。その作り方も紹介します。
CIKコードリストはEDGARにある
1番簡単な方法です。あまり用途はないかもしれませんが、過去のすべてのCIKコードを見てみたい場合におすすめの方法です。
CIKコードの一覧は、海外企業の一覧にもなります。海外の上場企業の社名は、たいてい載っていると思います。
米国証券取引委員会のサイトに『企業名』と『CIKコード』の全リスト(cik-lookup-data.txt)がありますので、それを取得するのが簡単です。
ファイルサイズに注意です。
歴史的に蓄積された全てのCIKコードが入っていますので、72万行もある巨大なテキストファイルになっています。ファイルサイズは約13MBでした。(2019年3月時点)
CIKコードリストの取得方法
CIKコードリストは、以下のページで取得(ダウンロード)できます。
まず、『Accessing EDGAR Data』のページを開きます。
「米国証券取引委員会 トップページ」→「FILINGS」→「Filings & Forms」→「Accessing EDGAR Data」
Accessing EDGAR Data
https://www.sec.gov/edgar/searchedgar/accessing-edgar-data.htm
このページにある、以下の『Current list of all CIKs matched with entity name』というリンクを保存します。これが、CIKコードの一覧(cik-lookup-data.txt)になります。
『Current list of all CIKs matched with entity name』
読み込み方法
CIKコードリストを、『Excel(エクセル)』や『LibreOffice Calc(リブレオフィス カルク)』で読み込む方法を紹介します。
コードリストの仕様ですが、コロン『:』区切りのテキストファイルになっています。
たぶんですが、英語圏ではカンマ『,』を区切り文字として使うのが難しいので、そういう仕様になっているのでしょう。
エンコーディングは不明ですが、とりあえず『UTF-8』で大丈夫でした。
上手く読み込めたら、『.xlsx形式』や『.ods形式』で保存しておくと便利です。
Excelで読み込む手順
『外部データ取り込み』機能を使います。
空のExcelを起動します。
メニューの『外部データ取り込み』にある『テキストファイル』を押して、CIKコードのテキストファイル(cik-lookup-data.txt)を開きます。
以下の設定をして『次へ(N) >』
- 『カンマやタブなどの区切り文字によってフィールドごとに区切られたデータ(D)』
- 『65001 : Unicode (UTF-8)』
以下の設定をして『次へ(N) >』
- 『その他(O):』だけにチェックして『半角のコロン(:)』を入力
以下の設定をして『完了(F)』
- 下のデータのプレビューで『1列目』をクリック⇒上で『文字列(T)』を選択
- 下のデータのプレビューで『2列目』をクリック⇒上で『文字列(T)』を選択
小さい『データの取り込み』画面は、そのまま『OK』(変更不要)。
- 読み込みが始まって、完了までに数分かかります。
これで読み込みが完了しましたが、最後に『クエリの定義を保存する(Q)』のチェックを外さねばなりません。
メニューの『データ』⇒『プロパティ』を開きます。
『クエリの定義を保存する(Q)』のチェックを外します。このとき確認ダイアログが出ますので、OKボタンを押して、プロパティの方もOKボタンを押して完了です。
外部データの取り込みのグレーアウトがなくなりました。
あとは『名前を付けて保存(A)』で『.xlsx形式』などで保存すれば完了です。
LibreOffice Calcで読み込む手順
LibreOffice Calcで『CIKコードのテキストファイル(cik-lookup-data.txt)』を開きます。
以下の設定をして、OKボタンを押します。
- 文字エンコーディング:Unicode (UTF-8)
- 区切りのオプション:その他(R)だけにチェックしてコロン(:)を入力
- 下のデータのプレビューで『1列目』をクリック⇒上で『テキスト』を選択
- 下のデータのプレビューで『2列目』をクリック⇒上で『テキスト』を選択
読み込み完了までに数分かかります。
これで読み込み完了です。
あとは『名前を付けて保存(A)』で『.ods形式』などで保存すれば完了です。
CIKとTickerの対応リスト
『CIKコード』と『ティッカーシンボル(ティッカーコード)』の対応リストは、どうやって取得するのか?
その概要と解説記事へのリンクです。
簡単に用意するなら、英語圏の株式情報サイトなどで、対応リストのCSVなどを取得するのが簡単だと思います。
もし、1次情報源にこだわるなら、EDGARで公開されているデータから対応リストを作ることになります。その概要です。
対応リストの作り方
私が知っている方法(実践した方法)は以下の通りです。
- EDGAR Index Files(エドガー インデックス ファイルス)のディレクトリから、XBRLのインデックスファイル(xbrl.idx)をすべて取得して、1つに連結する。
- XBRLのインデックスファイルの中にある『CIKコード』を使って、XBRLデータを取得。
- XBRLデータの中にあるスキーマファイル(.xsd)から、『Tickerシンボル』にあたる文字列を取得。
これでCIKとTickerのリストが完成しました。
簡単に書きましたが、実際にはPython(パイソン)などで『xbrl.idx』を連結するプログラムを書いたり、『.xsd』を読み込むプログラムを書いたりする必要があります。
なので、ちょっと開発に時間がかかりましたね。
以下の記事に具体的な解説を書きました。
- XBRLの取得方法【EDGAR】
『インデックスファイル(xbrl.idx)』の取得方法と連結方法を解説しています。 - EDGAR XBRLの名前空間とティッカーシンボル。スキーマファイルからティッカーを調べるに至った過程
スキーマファイル(.xsd)から『Tickerシンボル』を取得する方法を解説しています。