
Overview
プロジェクト概要
中央競馬・地方競馬のデータを取り込み、過去レース情報をもとに機械学習で着順確率を予測し、オッズ情報と組み合わせて期待値の高い買い目候補を抽出するWindowsデスクトップアプリを開発しました。
データ取込、学習、予測、分析、投票設定、買い目出力、自動投票、実行ログまでを1つのアプリで操作できる構成です。中央競馬と地方競馬は回路を分離し、それぞれのDB・モデル・投票方式を切り替えて運用できるようにしています。
- 業種
- 個人利用(競馬データ分析)
- ロール
- 要件整理 / データ取込・DB設計 / 機械学習モデル実装 / 自動投票制御 / Windows GUI開発
- 技術
- Python / LightGBM / PyQt6 / SQLite / COM連携(32bit/64bit プロセス分離) / Windows デスクトップ
01 — AI予測・期待値分析
過去データを学習し、確率とオッズから買い目候補を抽出
中央・地方競馬のレース情報を取り込み、過去傾向・特徴量をもとにLightGBMでモデルを作成。単勝・複勝・馬連などの着順確率を予測し、オッズ情報と組み合わせて期待値の高い買い目候補を抽出します。
- 中央・地方競馬の過去データ取込
- 特徴量をもとにしたモデル作成
- 単勝・複勝・馬連などの確率予測
- オッズと組み合わせた期待値判定

02 — 運用設定
予測条件・買い目条件・自動投票設定を一元管理
券種のON/OFF、確率下限やオッズ帯などのしきい値、最大点数、レース単位・日次単位の購入上限、対象競馬場までを画面上で設定できるようにしました。中央競馬と地方競馬は回路を分離し、それぞれのDB・モデル・投票方式を切り替えて運用できます。
- 券種ON/OFF・しきい値の設定
- 確率下限・オッズ帯での絞り込み
- 最大点数・購入上限の設定
- 中央/地方の切り替え運用

03 — 安全制御
上限設定・二重防止・実行ログで自動投票を安全に管理
投票側では券種ON/OFF、点数上限、レース単位・日次単位の金額上限、二重実行防止、実行ログ出力など、安全に運用するための制御を実装しました。必要に応じて、自動投票前に手動確認を挟むこともできます。
- レース単位・日次単位の金額上限
- 同一買い目の二重投票を検出・防止
- 自動投票前の手動確認オプション
- 実行ログ・監査レポートの出力

04 — アプリ構成
予測・投票・分析を一つのアプリで完結
データ取込から学習・予測・分析・投票設定・買い目出力・自動投票・実行ログまでを1つのアプリで操作できる構成としました。32bit COM資産を64bitアプリから扱うプロセス分離、Shift-JIS固定長データのバイト単位パース、SQLiteによるデータ管理、PyQt6による日本語GUI、操作マニュアル整備まで対応しています。
- 取込〜学習〜予測〜投票〜ログを一元操作
- 32bit COM資産のプロセス分離連携
- Shift-JIS固定長データのバイト単位パース
- SQLiteによるデータ管理・PyQt6の日本語GUI

Results
成果
データ取込から予測・買い目抽出・自動投票・実行ログまでを1つのアプリに統合し、日々の運用を自動化しました。なお本アプリは個人利用を目的とした分析・自動化ツールであり、収益性・的中率・回収率を保証するものではありません。
Tech Stack
