edgarからアメリカ株の決算情報サクッとゲットするよ!(by じっちゃまの教え)
『俺が会社に勤めている時、証券会社のレポート読んでる客なんて怖くもなんともない!』『怖いのは10-K,10-Qを読んでる客だ!!!!!』とじっちゃまが言っていた気がしたので、じっちゃまのコンテンツにお金払って買っている客(おいら)もすこしは怖い客になるべく、edgarから情報をゲットするようにしてみました!。
今回もjupyter note bookの利用を想定しています。
(jupyterとかpythonとかよく分からんよいう方はまずこっち)
1208更新でテキストで取得いているデータをHTMLで保存し直すようにしました。(テキストと同じ場所に最新ファイルのみHTMLが作成されます。)
■ まずはedgarのデータをゲットできるpackageをインストール
!pip install sec-edgar-downloader
■ 必要なものをimport
import pandas as pd
from IPython.display import display, HTML
from sec_edgar_downloader import Downloader
import glob
# 20201208更新 ⭐️これ追加。
from bs4 import BeautifulSoup
from bs4 import BeautifulSoup を追加しています。
■ edgarから決算を情報を取得して、html表示する関数
※ edgarから取得した各種決算データを格納するフォルダのパスを設定してください。
⭐️最新のtxtファイルをHTMLで出力するように修正しました!。
(txtファイルと同じ場所に入ります。)
#エドガーのデータを格納するためのファイルパスを設定
save_path = "/Users/XXXXXX/Desktop/edgar"
#取得したい会社のticker、決算資料名、いつからのデータを取得するかdateを引数とする
def get_edgar(ticker,file,after_date):
dl = Downloader(save_path)
#取得実行
file_count = dl.get(file, ticker ,after_date=after_date)
if file_count == 0:
print('取得ファイルなし')
return
#最新決算を取得(⭐️txtデータのみを取得、20201208更新)
#print(save_path + "/edgar/sec_edgar_filings/" + ticker +"/8-K/*.txt")
kessan_list = glob.glob(save_path + "/sec_edgar_filings/" + ticker +"/"+file+"/"+"*")
#ファイルをソート
kessan_list.sort()
#最新の決算情報を取得
ticker_file_path = kessan_list[-1]
#一旦開いてゴミを削除
#-----------------------------------------------------------
with open(ticker_file_path) as f:
txt = f.read()
if file == 'S-1':
txt = txt.split('XBRL INSTANCE DOCUMENT')[0]
txt = txt.split('XBRL TAXONOMY EXTENSION SCHEMA DOCUMENT')[0]
#txt = txt.split('@(" @("')[0]
txt = txt.split('EXCEL')[0]
#-----------------------------------------------------------
# HTMLで保存し直す 20201208更新 ⭐️これ追加。
#---------------------------------------------------
# txtから BeautifulSoup オブジェクトを作る
soup = BeautifulSoup(txt, 'html.parser')
#print(soup.prettify())
#HTMLを整形
soup_txt = soup.prettify()
#保存するファイル名作成
path_w = ticker_file_path + '.html'
#HTMLファイル出力
with open(path_w, mode='w') as f:
f.write(soup_txt)
#----------------------------------------------------
# HTMLを返す
return display(HTML(txt))
それじゃー取っていくよ!
■ 10-Q(四半期報告書)表示
取得したい会社のticker、決算資料名、いつからのデータを取得するかdate
を設定してください。
取得したファイルの中で最新のデータを一個表示します。
get_edgar('ZM',"10-Q",20201001)
■ 10-K(年次報告書)表示
get_edgar('ZM',"10-K",20191001)
■ 8-K(臨時報告書)表示 ⭐ガイダンスの結果はこっち
表示結果を guidance,やoutlookなどの単語で検索するとガイダンスが見つかります。
get_edgar('ZM',"8-K",20201001)
■ S-1(売出目論見書)表示 (重いので注意)
get_edgar('ZM','S-1',20171001)
はい、こんな感じで簡単に取れていきます。
英語があああああという方は(自分もですが)
chromeの翻訳で日本語にするといいかもしれません。
最後までお読みいただき、ありがとうございました!。
最後までお読みいただき、ありがとうございます!。
記事が面白かったという方は「♡」「フォロー」よろしくお願いします!。
おすすめ記事:
edgarを読んで、尚且つ以下を読んだらさらに勝率あがるよね:
いいなと思ったら応援しよう!
読んでる皆さんと自分がもっと稼げるように、全額惜しみなく勉強代とさせていただきます!。