LoginSignup
6
5

More than 3 years have passed since last update.

有価証券報告書をpythonで取得してみる(R→Python)

Last updated at Posted at 2019-07-07

はじめに

僕のIT経歴の大半は金融業種です。ずーっと課題だよなぁって思ってたのが「プライベートの成果物がない」ということでした。あたりまえにNDA(秘密保持契約)を結ぶからね、持ち帰ることができないし、俺のソースです!って言うこともできない。大変だよね、家に帰ってからもプログラム作るなんてさ。で、それでも最近やっぱり動かないとって思って、何を作ろうかってずーっと考えてて思いつかなくてってのの繰り返しで、よしできることからやろう!ってことで、公開されてる企業の金融データを取り扱うところから始めてみようって思っていろいろたぐってたら、有価証券報告書を取得するみたいのがあって、あー有報なら取り扱ったことあるぞって思ったんだけどなんかRで書いてあって、で、よく見たらなんか垂れ幕下がってて「そのままのコピペでは動かない筈です。改変箇所は考えてください」とか書いてあるんです。もうね、チッキショー:muscle::fire:って小梅太夫みたいに叫んで変な気起こしたわけです(いいカンフル剤って意味で)。

参考

RでXBRLデータを取得してみた
投資するための財務分析step1「財務情報XBRLを取得する」
ElementTreeやlxmlで名前空間を含むXMLの要素を取得する
有報キャッチャーAPIについて

この本を買おうとした

いつもの僕なら即ポチってるんだけど、ここでも変な気を起こして、本を見て眼の前のソースができあがるなら、このソースを「翻訳」したほうが経験値的にもお金のかからなさ的にも合理的だよなって思った。Rを読む力、Pythonに変換する力、得られたものは思っていた以上に大きかったな。いわゆる教科書的な本を読みながらお行儀の良いプログラムを作るよりも、誰かが作り捨てた(?)プログラムを翻訳することで得られる経験値はすごく味がある。
image.png

ソース

あらかじめ市場ファイルをmasterフォルダにCSVで保存してください

https://www.jpx.co.jp/markets/statistics-equities/misc/01.html
以下のような情報が書いてある。「コード」を使ってダウンロードをかけるわけだ

日付 コード 銘柄名 市場・商品区分 33業種コード 33業種区分 17業種コード 17業種区分 規模コード 規模区分
20190628 1305 ダイワ上場投信-トピックス ETF・ETN - - - - - -
20190628 1400 ルーデン・ホールディングス JASDAQ(グロース・内国株) 2050 建設業 3 建設・資材 - -
20190628 4875 メディシノバ・インク JASDAQ(スタンダード・外国株) 3250 医薬品 5 医薬品 - -
20190628 1432 動力 PRO Market 2050 建設業 3 建設・資材 - -
20190628 2971 エスコンジャパンリート投資法人 REIT・ベンチャーファンド・カントリーファンド・インフラファンド - - - - - -
20190628 6697 テックポイント・インク JDR マザーズ(外国株) 3650 電気機器 9 電機・精密 - -
20190628 1401 エムビーエス マザーズ(内国株) 2050 建設業 3 建設・資材 - -
20190628 1773 ワイ・ティー・エル・コーポレーション・バーハッド 市場第一部(外国株) 2050 建設業 3 建設・資材 - -
20190628 1301 極洋 市場第一部(内国株) 50 水産・農林業 1 食品 7 TOPIX Small 2
20190628 9399 ビート・ホールディングス・リミテッド 市場第二部(外国株) 5250 情報・通信業 10 情報通信・サービスその他 - -
20190628 1434 JESCOホールディングス 市場第二部(内国株) 2050 建設業 3 建設・資材 - -
20190628 8301 日本銀行 出資証券 出資証券 - - - - - -

金融庁がいつのまにかナイスな動きをしてた

EDINET、データを加工しやすく 金融庁 2019/4/3 20:00 日本経済新聞 電子版

そのうちこっちのAPI使うカタチになおしたいね!
金融庁 EDINET-API(本家)

次のステップ

生xbrlの状態から帳票まで持っていけるかな?
取得データからデータマートを作ろうとしてみた

6
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
5