Submit Search
DataProcessingInBuffettCode-20190213
2 likes
1,372 views
Shu (shoe116)
バフェットコード(https://www.buffett-code.com/)における、データ処理の考え方をXBRLを例に話しました。
Data & Analytics
Read more
1 of 16
Download now
Download to read offline
1
2
Most read
3
4
Most read
5
6
7
8
Most read
9
10
11
12
13
14
15
16
More Related Content
PDF
스타트업은 데이터를 어떻게 바라봐야 할까? (개정판)
Yongho Ha
PPTX
AWSで作る分析基盤
Yu Otsubo
PDF
モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)
株式会社MonotaRO Tech Team
PDF
Dockerからcontainerdへの移行
Kohei Tokunaga
PDF
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Noritaka Sekiyama
PDF
最近のストリーム処理事情振り返り
Sotaro Kimura
PDF
Apache NiFi の紹介 #streamctjp
Yahoo!デベロッパーネットワーク
PDF
Kubernete Meetup Tokyo #18 - Kubebuilder/controller-runtime 入門
Preferred Networks
스타트업은 데이터를 어떻게 바라봐야 할까? (개정판)
Yongho Ha
AWSで作る分析基盤
Yu Otsubo
モノタロウの1900万商品を検索する Elasticsearch構築運用事例(2022-10-26 第50回Elasticsearch 勉強会発表資料)
株式会社MonotaRO Tech Team
Dockerからcontainerdへの移行
Kohei Tokunaga
Hadoop/Spark で Amazon S3 を徹底的に使いこなすワザ (Hadoop / Spark Conference Japan 2019)
Noritaka Sekiyama
最近のストリーム処理事情振り返り
Sotaro Kimura
Apache NiFi の紹介 #streamctjp
Yahoo!デベロッパーネットワーク
Kubernete Meetup Tokyo #18 - Kubebuilder/controller-runtime 入門
Preferred Networks
What's hot
(20)
PPTX
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)
NTT DATA Technology & Innovation
PDF
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
Satoshi Nagayasu
PPTX
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTT DATA Technology & Innovation
PPT
Cassandraのしくみ データの読み書き編
Yuki Morishita
PDF
待ち事象から考える、Sql server の改善ポイント
Masayuki Ozawa
PPTX
Amazon SageMakerでカスタムコンテナを使った学習
西岡 賢一郎
PPTX
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
NTT DATA Technology & Innovation
PDF
MLflow Model Serving
Databricks
PDF
[236] 카카오의데이터파이프라인 윤도영
NAVER D2
PDF
アプリを成長させるためのログ取りとログ解析に必要なこと
Takao Sumitomo
PDF
쿠키런 1년, 서버개발 분투기
Brian Hong
PDF
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
Hyojun Jeon
PDF
PHPでWebSocketを実装してみてわかったこと
ksimoji
PPTX
PFSなTLS通信を復号する
稔 小林
PDF
ChatGPT の現状理解と 2023年7月版 LLM情報アップデート
Satoshi Kume
PDF
[DI05] Azure Event Hubs と Azure Stream Analytics で、”今を処理”する
de:code 2017
PPTX
로그 기깔나게 잘 디자인하는 법
Jeongsang Baek
PDF
データ分析基盤について
Yuta Inamura
PDF
Apache Arrow - データ処理ツールの次世代プラットフォーム
Kouhei Sutou
PDF
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
Y Watanabe
大量のデータ処理や分析に使えるOSS Apache Spark入門(Open Source Conference 2021 Online/Kyoto 発表資料)
NTT DATA Technology & Innovation
データウェアハウスモデリング入門(ダイジェスト版)(事前公開版)
Satoshi Nagayasu
ポスト・ラムダアーキテクチャの切り札? Apache Hudi(NTTデータ テクノロジーカンファレンス 2020 発表資料)
NTT DATA Technology & Innovation
Cassandraのしくみ データの読み書き編
Yuki Morishita
待ち事象から考える、Sql server の改善ポイント
Masayuki Ozawa
Amazon SageMakerでカスタムコンテナを使った学習
西岡 賢一郎
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
NTT DATA Technology & Innovation
MLflow Model Serving
Databricks
[236] 카카오의데이터파이프라인 윤도영
NAVER D2
アプリを成長させるためのログ取りとログ解析に必要なこと
Takao Sumitomo
쿠키런 1년, 서버개발 분투기
Brian Hong
[NDC18] 야생의 땅 듀랑고의 데이터 엔지니어링 이야기: 로그 시스템 구축 경험 공유 (2부)
Hyojun Jeon
PHPでWebSocketを実装してみてわかったこと
ksimoji
PFSなTLS通信を復号する
稔 小林
ChatGPT の現状理解と 2023年7月版 LLM情報アップデート
Satoshi Kume
[DI05] Azure Event Hubs と Azure Stream Analytics で、”今を処理”する
de:code 2017
로그 기깔나게 잘 디자인하는 법
Jeongsang Baek
データ分析基盤について
Yuta Inamura
Apache Arrow - データ処理ツールの次世代プラットフォーム
Kouhei Sutou
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
Y Watanabe
Ad
More from Shu (shoe116)
(9)
PDF
GCPでStreamなデータパイプライン作った
Shu (shoe116)
PDF
オープンデータを利用した企業分析ツール"Buffett-Code"について
Shu (shoe116)
PDF
データ分析基盤の憂鬱と退屈
Shu (shoe116)
PDF
analists_rating_by_lda_hackday_201702
Shu (shoe116)
PPTX
データサイエンティストの憂鬱と退屈
Shu (shoe116)
PPTX
idoling_approval_desire
Shu (shoe116)
PPTX
tokyo_webmining_no51
Shu (shoe116)
PDF
Hadoop Ops & Fabric
Shu (shoe116)
PDF
エンジニアが日々何を考えているのか、ということ
Shu (shoe116)
GCPでStreamなデータパイプライン作った
Shu (shoe116)
オープンデータを利用した企業分析ツール"Buffett-Code"について
Shu (shoe116)
データ分析基盤の憂鬱と退屈
Shu (shoe116)
analists_rating_by_lda_hackday_201702
Shu (shoe116)
データサイエンティストの憂鬱と退屈
Shu (shoe116)
idoling_approval_desire
Shu (shoe116)
tokyo_webmining_no51
Shu (shoe116)
Hadoop Ops & Fabric
Shu (shoe116)
エンジニアが日々何を考えているのか、ということ
Shu (shoe116)
Ad
Recently uploaded
(10)
PDF
世界半導体用酸化ハフニウム市場のサプライチェーン解析:上流、下流、収益モデル分析2025-2031
2418867459
PDF
Qlik TECH TALK セミナー:What's New In Qlik ~ 2025年7月リリース最新機能のご紹介
QlikPresalesJapan
PDF
グローバルロープウェイ用スチールワイヤーロープ市場2025:主要企業のシェア、売上動向、競争戦略
yhresearch
PDF
【QYResearch】人形ロボット産業の市場構造と今後の発展方向に関する分析レポート
QY Research株式会社
PDF
商用ウェブカメラ市場:世界の産業現状、競合分析、シェア、規模、動向2025-2031年の予測
snow326214
PDF
限外ろ過膜調査レポート:市場規模、シェア、産業分析データ、最新動向2025-2031 YH Research
2418867459
PDF
細胞培養用バイオリアクターおよび発酵槽市場規模の成長見通し:2031年には2823百万米ドルに到達へ
yhresearch
PDF
【QYResearch】グローバル農業機械市場の動向分析と成長戦略に関する総合調査報告
QY Research株式会社
PDF
【QYResearch】グローバルコネクタ市場の動向と将来展望に関する詳細な分析報告
QY Research株式会社
PDF
XCMSを用いた質量分析データ処理_BioCAsia2021_yamamoto.pdf
h_yama2396
世界半導体用酸化ハフニウム市場のサプライチェーン解析:上流、下流、収益モデル分析2025-2031
2418867459
Qlik TECH TALK セミナー:What's New In Qlik ~ 2025年7月リリース最新機能のご紹介
QlikPresalesJapan
グローバルロープウェイ用スチールワイヤーロープ市場2025:主要企業のシェア、売上動向、競争戦略
yhresearch
【QYResearch】人形ロボット産業の市場構造と今後の発展方向に関する分析レポート
QY Research株式会社
商用ウェブカメラ市場:世界の産業現状、競合分析、シェア、規模、動向2025-2031年の予測
snow326214
限外ろ過膜調査レポート:市場規模、シェア、産業分析データ、最新動向2025-2031 YH Research
2418867459
細胞培養用バイオリアクターおよび発酵槽市場規模の成長見通し:2031年には2823百万米ドルに到達へ
yhresearch
【QYResearch】グローバル農業機械市場の動向分析と成長戦略に関する総合調査報告
QY Research株式会社
【QYResearch】グローバルコネクタ市場の動向と将来展望に関する詳細な分析報告
QY Research株式会社
XCMSを用いた質量分析データ処理_BioCAsia2021_yamamoto.pdf
h_yama2396
DataProcessingInBuffettCode-20190213
1.
バフェットコードのデータ処理 -XBRLのデータ構造とparserの話- @shoe116
2.
0. 今日話すこと 1. 自己紹介的な 2.
バフェットコードについて ○ バフェットコードって何? ○ バフェットコードが生まれたわけ 3. バフェットコードの日次データ処理 4. XBRLデータ構造とparserの話 ○ XBRLとは ○ XBRLのデータ構造 ○ データ処理におけるparserの考え方 5. まとめ
3.
1. 自己紹介的な なまえ:しゅう (@shoe116) お仕事:広告系エンジニア→データ分析基盤屋さん 推し事:ももくろ→でんぱ組→BiSH→CY8ER、オサカナ 関連語:Hadoop,
Kafka, Storm, Tez, Beam, Cloud Dataflow 開発言語:Java or Scala, Python, Go バフェットコードはデータ処理を中心にwebアプリ以外を担当
4.
2.1 バフェットコードって何? オープンデータを用いた、効率的な企業分析を行うためのwebサイト 使い方は、https://www.buffett-code.com/ にアクセスするだけ 主な機能は以下の3つ 1.
財務・株価データの参照 2. スクリーニング 3. 企業比較 最近、ようやく有料機能出した
5.
機能①. 企業別財務数値・株価指標の参照 ● 国内の上場企業データベースを可視化して提供 ○
検索窓に企業名or銘柄コードを入力 ○ 業種から銘柄を探すことも可能 ○ 例:任天堂の企業詳細ページ ● 企業ごとに以下のデータを提供 ○ 基本的な財務数値と株価指標 ○ 株価推移とヒストリカルマルチプル ○ 大株主情報 ○ 四半期毎の業績と業績予想 ○ 開示資料へのリンク集
6.
機能②. スクリーニング(条件検索) 投資基準に当てはまる企業を検索する https://www.buffett-code.com/screening ● 多彩な検索条件を指定可能 ○
P/L、B/S、C/S ○ 収益性と成長性、財務健全性 ○ 財務数値 ○ キャッシュフロー ○ 研究開発費や上場年数
7.
機能③. 企業比較 複数企業の財務データ・株価指数を、指定した科目で一覧比較 https://www.buffett-code.com/comps ● 柔軟な科目指定 ●
見やすい表示 ○ 最大・最小を色付け ○ 代表値の自動表示 ● 同一銘柄の新旧比較も可能 ○ 3年前のデータの表示
8.
2.2 バフェットコードが生まれたわけ We created Buffet-Code
9.
3. バフェットコードの日次データ加工処理 1. OPENデータ(XBRL
file)を取得、保存 ○ EDINETから、該当日発行分の有価証券報告書(有報)を取得 ○ TDNETから、該当日発行分の決算短信を取得 ○ Edgarから、該当日発行分の10-K, 10-Qを取得 ○ それぞれをオブジェクトストレージに保存 2. 取得したXBRL fileをparseし、RDBに格納 3. 格納されたデータと、当日の株価を元に財務数値を計算、RDBに格納 4. RDB上のスクリーニング、比較用のデータセットを更新
10.
4.1 XBRLとは ● eXtensible
Business Reporting Language ● Edinet, Tdnet, Edgar 等から結構いい感じにDLできるXML ○ Edinet http://disclosure.edinet-fsa.go.jp ○ Tdnet https://www.jpx.co.jp/equities/listing/tdnet/index.html ○ Edgar https://www.sec.gov/edgar.shtml ● XMLのタグごとに、データが入っている $ grep ‘jppfs_cor:NetSales’ test.xbrl <jppfs_cor:NetSales contextRef="Prior1YearDuration" unitRef="JPY" decimals="-3">41275187000</jppfs_cor:NetSales> <jppfs_cor:NetSales contextRef="CurrentYearDuration" unitRef="JPY" decimals="-3">45089432000</jppfs_cor:NetSales>
11.
4.2 XBRLのデータ構造 Tag - contextRef -
unitRef - decimals - value - XBRLには、簡単に言うと ↓ の配列が入っている - 使うときはTag と contextRefでvalueを特定しdecimalsでオフセット - ライブラリ書いたよ! https://github.com/BuffetCode/edinet_xbrl <jppfs_cor:NetSales contextRef="Prior1YearDuration" unitRef="JPY" decimals="-3">41275187000</jppfs_cor:NetSales>
12.
4.3 データ処理におけるparserの考え方 ● 死ぬほど当たり前だけど、parse
:= Inv format ● 感覚的にはserializerとdeserializerを実装するときと似ている ○ 論理的なデータ構造は変えず、物理的なAlignmentだけ変換する ● 論理的なデータ構造から設計するべき 1. 論理的な財務データを考える (FinancialsObject) 2. def XBRL.formatter(financials: FinancialsObject) : XBRLFile を想像する 3. def XBRL.parser(xbrl: XBRLFile): FinancialsObject が決まる ● 論理的な中間表現を介して変換のペアを書くときれいに作れる ○ XBRL => JSONならXBRL parserとJSON Formatter ○ XBRL => TableRowなら、XBRL parserとTableRow Formatter
13.
4.4 「XBRLのparseは難しい」という人へ ● 難しいのparseじゃなくてformat ○
nestしているので、RDBのrowとかCSVにするのは難しい ○ XBRLってつまりXMLなので、難しいはずない ● Parserにparse以外のロジックを書いているコードはよく見る ○ 必要な情報だけ抽出する、内部の変数を上書きするetc ○ 戻り値をformatterに食わせて元に戻らないのはparserじゃない ● XX2YYConverterは↓って実装すると読みやすいしテストしやすい def convert(input: XX): YY obj = XXParser.parse(input) YYFormatter.format(obj)
14.
5. Appendix
15.
Buffett-Codeの現状 1. Buffett-Codeと周辺サービス ○ メインのWebアプリケーション
https://www.buffett-code.com/ ○ フォロワー26.5K超のTwitter https://twitter.com/buffett_code ○ 企業分析に役立つBlog https://blog.buffett-code.com/ ○ CampFire https://camp-fire.jp/projects/view/114594 2. Buffett-Codeの技術発信 ○ OSSの公開 https://github.com/buffetcode ○ Python Packageの公開 https://pypi.org/project/edinet-xbrl/ ○ Buffett-Codeの内部技術の紹介 ■ https://qiita.com/shoe116/items/dd362ad880f2b6baa96f ■ https://qiita.com/shoe116/items/a7b688d05b699cf403a1
16.
● Buffett-Code ○ WebApp
https://www.buffett-code.com/ ○ Usage https://blog.buffett-code.com/entry/18/02/01 ○ Twitter https://twitter.com/buffett_code ○ Blog https://blog.buffett-code.com/ ○ GitHub https://github.com/buffetcode ○ Dev Docs https://qiita.com/shoe116/items/dd362ad880f2b6baa96f ● Data Sources ○ Edinet, http://disclosure.edinet-fsa.go.jp ○ Tdnet, https://www.jpx.co.jp/equities/listing/tdnet/index.html ○ Edgar, https://www.sec.gov/edgar/searchedgar/companysearch.html ● XBRL Info ○ XBRL.org https://www.xbrl.org/ ○ 有報キャッチャー https://ufocatch.com/
Download