K_DM Book
用語集
対象者 標準
対象者別の入口 →

対象者の設定はこのブラウザの中にだけ保存されます。

言語 JA

その他

05.4

その他

まとめ
この章は、日本の公的な開示データを Python で取り込み、取り込んだ数値から配分を決めるまでを扱います。EDINET API では documents.json で書類一覧を取り、docID を指定して type=2 の PDF、type=5 の CSV、type=1 の XBRL をダウンロードし、「要素 ID × コンテキスト ID」で EPS や 1 株配当を抜き出します。取り出した本文を OpenAI の API に渡して決算コメントを要約させるページもあります。J-Quants API では /listed/info の銘柄一覧から業種・規模の分布を描き、/fins/statements の決算短信で塗料会社 5 社の EPS を決算期ごとに比べます。最後に pypfopt で投資信託 5 本の期待リターンと共分散から効率的フロンティアを描き、max_sharpe() の配分を求めます。

直感 #

金融データ分析の出発点は「信頼できるデータソースから自動で取る」ことです。EDINET は金融庁、J-Quants は日本取引所グループが提供しているので、銘柄コードや科目名が公式の定義どおりに揃っており、サイトを手でコピーするより正確で再現可能です。どちらも「認証キーを環境変数に置く → 一覧を取る → ID で本体を取る → DataFrame にして絞る」という同じ型です。1 つ覚えればもう 1 つはすぐ使えます。取ったデータの使い道として、pypfopt の効率的フロンティアで「どの配分がリスクに対して最もリターンが高いか」を計算するところまでを 1 つの流れとして載せています。

詳細な解説 #

学べること #

  • EDINET API: documents.json での書類検索、documents/{docID} の type による PDF・CSV・XBRL の取得、edinet_xbrl による要素 ID とコンテキスト ID での値の抽出
  • 決算文書の要約: XBRL の TextBlock からタグを除き、OpenAI の chat.completions に渡して要約・質問・数値の読み取りをさせる
  • J-Quants API: リフレッシュトークンから idToken を取り、/listed/info で 17 業種・規模区分の分布、/fins/statements で複数企業の EPS を比較する
  • ポートフォリオ最適化: pypfopt の mean_historical_return と sample_cov から EfficientFrontier.max_sharpe() で配分を求め、CLA で効率的フロンティアを描く

進め方 #

まず EDINET で書類一覧から docID を探して PDF を保存する 3 段階を体験し、EDINET② で CSV と XBRL から EPS や配当の数値を取り出します。次に J-Quants API で日本株全体の銘柄一覧と決算短信を扱い、業種や会社を替えて同じ比較ができることを確かめます。最後に 投資信託 で、価格の表から効率的フロンティアと最大シャープの配分を計算する手順に進んでください。