Skip to content

概要

プロジェクトの目的

X(Twitter)で話題になった「オッズ急変を監視するbot」と同等の機能を実現するツール。

JRA中央競馬の締切直前のオッズ変動をリアルタイムで監視し、急騰(支持急増)・急落(支持急減)をパーセント変動率でソート表示する。異常な買いパターン(AI自動買い等の可能性)を可視化することが主な目的。

主な機能

機能説明
レーススケジュール自動取得当日のJRA全レースをnetkeiba.comから自動検出
オッズリアルタイム取得JSON APIから単勝オッズを定期ポーリング
変動率計算前回スナップショットとの比較で変動率を自動算出
急騰/急落判定閾値ベースで急変動を分類(↑急騰 / ↓急落)
ターミナルダッシュボードrichライブラリによるカラー付きランキング表示
Slack通知閾値超過時にWebhookでアラート送信
履歴保存SQLiteでオッズ変動履歴を永続化

技術スタック

項目選定
言語Python 3.11+
データ取得requests + BeautifulSoup
データソースnetkeiba.com
DBSQLite + in-memory deque
ターミナルUIrich
通知Slack Incoming Webhook
設定python-dotenv (.env)
対象中央競馬(JRA) 10会場

用語定義

用語意味
急騰(↑)オッズが低下 = 買いが集中 = 支持急増
急落(↓)オッズが上昇 = 買いが引いた = 支持急減
スナップショットある時点での全馬オッズのスナップショット
変動率(新オッズ - 旧オッズ) / 旧オッズ × 100 (%)

HorseRacingDataChecker Design Document