【未取得】Pythonを使ってEDINET API v2に登録しよう

はじめに
Twitterを眺めているとAC6が発売され闘争を求める人達がワラワラとでてきました。 身近に見える人たちでも結構な人数買うぞというてるので人気です。
小さい頃、叔父さんから「PS2を買ったから、PSやるわ」と貰ったことがあります。 その時に入っていたソフトが、パチスロ、電車でGO2、アーマードコアだったわけです。 パチスロのゲームはパチンコを打つだけでなく、町中を散策して幾つかあるパチンコ屋をハシゴできるような作りになっていました。
アーマード・コアは友人と何度もクリアできないなぁとやっていた記憶があります。 貰った当時まだ低学年だったのでストーリーはあんまり覚えてないですが終始暗かったような気がします。
妻にアーマード・コア買うならゼルダ買えって言われちゃいましたが… 欲張りなので両方買うという選択肢を見せていこうかと思います!!!!!
俺は大人だ!!!!!!!!!
PS4版は品切れになっていんですね。PS5版はいつも在庫残ってる。 今Amazonで注文しても、土曜日には届かないのでSteam版でもいいですが…店頭で買えるか探してみようかしらね。
闘争を求めるが手元にないので、とりあえずプログラムでも書いて遊ぼうかと。
最近、本格的に株に手を出して現金資産の95%程度運用しています。 妻と2人の子供を養いながらなので完全に狂人なのは否めないですが今のところ調子は良さそうです。
株を探す時、もう少し機械的にスクリーニングできたらなという悩みもありここらで本腰入れて開発に着手していこうというわけです。 前回開発に着手した時は株について知識がなさすぎどのへんをパラメータにすればよいか微妙だったのですが 私の方針は、財務状況が健全だけど何故か暴落している株という指標で行きたいなと思っています。
いまだに、株価取得の課題はあるものの、財務状況は有価証券報告書を見ればわかるのでまずはそこをわかるようにしましょう。
EDINET とは
金融商品取引法に基づく、有価証券報告書などを開示書類に関する電子開示システムのことです。
上場企業というのは、年間の売上がいくらで利益がどれだけ出たかなどの情報を公開することが法律で求められています。 上場企業やその子会社にお勤めの会社員の方は、言われることがあるんじゃないかと思いますが
「どの業務に、何時間使ったのか正確に記録しろ」ってやつです。 リーダーとかが実際の業務時間でつけると完全に赤字にやって良くないから、何時間はこっちの業務に計上しておいてね っていうあれです。 ※普通は無いのかな…
度が過ぎると粉飾決算に繋がる話になり、社長交代があったりと大事になりますのでやめたほうがよいです。 あと、赤字の業務はちゃんと赤字で計上するなり、時間外が多いように正直に報告しないと上位層が動いてくれないですので 忙しい、人が足りない場合こそ報告して仕事量を調整したほうがいいんですよ…ほんとに頼みますよ…
話がそれてしまいましたが、EDINETはそういった決算情報など適宜あがる情報を取得するためのデータ情報基盤というわけです。
https://disclosure2.edinet-fsa.go.jp/WEEK0010.aspx
手順
- EDINETのAPIキーを取得します。
- 必要なライブラリをインストールします。
- APIを叩くための関数を定義します。
- 指定した株式の有価証券報告書を取得する関数を定義します。
基本的な手順はここにあります。
新たなEDINET APIに関するお知らせ(2023年8月21日(月曜)に提供開始します)
アカウントの作成
https://api.edinet-fsa.go.jp/api/auth/index.aspx?mode=1
ここからできます。
あと登録には、電話番号が必要となります。
電話番号入れるときには、080-XXXX-XXXXという番号の場合、 +81(Japan)を選ぶので、フォームのところには80-XXXX-XXXXと入れないとMessage届きません。 正しい気もしますが、分かりづらいので修正して欲しいところです。
注意書きはこうなってますね。
登録に成功したら、APIキーが発行できる画面になりますので取得して完了です。
なお、ブラウザによっては対応していないことがあります。
環境庁系のシステムだと、Operaは使えない事が多くて困りますね。 Edgeもだめじゃん。マジ?? Chromeもだめじゃんね。
EdgeのIE modeでもだめです。
全文
とりあえずお試しように書いたものを置いときます。 ちゃんと動くかは見れてないですが…APIキー取得できたらまたこの記事ごと修正して上げ直します。
import requests
# EDINETのAPIエンドポイント
BASE_URL = "https://api.edinet-fsa.go.jp/v1/"
# APIキーを設定します
API_KEY = "YOUR_API_KEY"
def get_document_list(code, document_type="2"):
"""
指定した株式の有価証券報告書のリストを取得する関数
"""
url = f"{BASE_URL}documents.json"
params = {
"type": document_type, # 有価証券報告書のタイプ
"date": "2023-08-25", # 任意の日付を設定
"count": 100, # 取得するドキュメントの数
"code": code, # 株式のコード
"accessKey": API_KEY
}
response = requests.get(url, params=params)
if response.status_code == 200:
return response.json()
else:
return None
def main():
# 例: 任意の株式コードを指定
code = "12345"
documents = get_document_list(code)
if documents:
for doc in documents["results"]:
print(doc["docID"], doc["docDescription"])
if __name__ == "__main__":
main()
まとめ
API取得すらままならない状況ですが、とりあえず新EDINETが公開されているので遊びたいですね。 今日はこんなところでしょうか。
以上