見出し画像

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)

画像1

  10-K(年次報告書)表示

get_edgar('ZM',"10-K",20191001)

画像2

■  8-K(臨時報告書)表示 ⭐ガイダンスの結果はこっち

表示結果を guidance,やoutlookなどの単語で検索するとガイダンスが見つかります。

get_edgar('ZM',"8-K",20201001)

画像3

■  S-1(売出目論見書)表示   (重いので注意)

get_edgar('ZM','S-1',20171001)

画像4

はい、こんな感じで簡単に取れていきます。

英語があああああという方は(自分もですが)
chromeの翻訳で日本語にするといいかもしれません。

最後までお読みいただき、ありがとうございました!。

最後までお読みいただき、ありがとうございます!。
記事が面白かったという方は「♡」「フォロー」よろしくお願いします!。


おすすめ記事:





edgarを読んで、尚且つ以下を読んだらさらに勝率あがるよね:


読んでる皆さんと自分がもっと稼げるように、全額惜しみなく勉強代とさせていただきます!。