本文へスキップ
hdknr blog

アクティビスト検知

5%未満の買い集めをニュース見出しから検知し、EDINET を「開示が無いこと」の確認に反転利用してアクティビストの兆候を捕まえる設計

概要

アクティビスト(物言う株主)の買い集めは、保有割合が 5% を超えるまで制度開示のどこにも存在しない。したがって大量保有報告書を主シグナルに置くと、構造的に事後しか取れない。兆候を捕まえるには報道を主シグナルにし、EDINET を「まだ開示が無いこと」の確認に反転利用する設計になる。

大量保有報告書の制度

EDINET と報道の非対称

EDINET報道(日経など)
収録の根拠報告義務取材
網羅性100%。漏れない低い。書かれなければ存在しない
適時性5 営業日ラグ。5% 未満は載らない5% 到達前に出ることがある
機械可読性構造化・無料 APIなし(見出しのみ間接的に取得可)
検証可能性バックテスト可不可

EDINET は「遅いが漏れない」、報道は「早いが漏れる」。 この非対称そのものがシグナルになる。検知したい状態は「報道は出ているのに EDINET にはまだ大量保有報告書が無い」ペア。

検知パイプライン

  1. 収集 — Google News RSS にアクティビスト名辞書を投げる。ファンド名 10 件の OR で 100 件の上限に張り付くため辞書は 3 件ずつ分割する
  2. 同名衝突の除去 — カタカナ姓のファンド名は単独では使えない(「ダルトン」でラグビー選手、「エリオット」で野球選手が混入する)。金融文脈語との AND が必須
  3. 事後記事の除去 — ヒットの大半は株探・kabushiki.jp・日経会社情報DIGITAL が EDINET から自動生成した記事で、正しいが全部事後。「変更報告書 No.N」「保有割合が◯%に上昇」などの定型句と配信元で落とす
  4. 兆候判定 — docTypeCode 350 / 360 に当該ペアが「無い」ことを確認し、観測記事の語彙(「関係者によると」「方針を固めた」「書簡を送」など)で加点する
  5. 裏付け — 出来高 z-score や立会外取引(ToSTNeT)で加点。米系ファンドなら SEC EDGAR の全文検索(forms=SC 13D、認証不要・User-Agent 必須・10 req/s)
  6. 読解と構造化 — 人間が本文を読み、「誰が・どの銘柄を・何を要求」の事実の骨だけを構造化データにする

EDINET API 側の落とし穴

secCode提出者の証券コード(仕様書の項目 15)。大量保有報告書の提出者はファンドなので多くは null になり、買われている側の銘柄コードは取れない。対象企業は issuerEdinetCode(項目 26)から EDINET コードリスト(Edinetcode.zip、cp932・5 桁証券コード)経由で引く。

なお変更報告書に独立した書類種別コードはないため、新規か変更かは docDescription の文字列で判別する。

日経コンテンツの扱い

検知は機械、読解は人間という分離は規約上の要請である。

限界

関連ページ

ソース記事