競艇ソフトは、いきなり自動購入から作ってはいけない。
先に必要なのは、正しいデータである。次に、そのデータから買う条件と見送る条件を作る。自動購入へ進むのは最後だ。
基本の流れは「データ収集 → 検証 → 分析・ロジック構築 → 検証 → 自動購入 → 検証」である。この記事では、競艇ソフト開発をこの順番で進める理由を説明する。
この記事はスマートフォンで読める。実際にExcelやVBAを操作するときはPCを推奨する。
競艇ソフト開発の基本フロー
- Step 1 データを集める
- Step 2 分析してロジックを作る
- Step 3 安全に自動購入する
そして、各Stepの間に必ず検証を入れる。
Excelを使うか、Pythonを使うか、どのデータベースを使うかは自由である。AIを組み合わせてもよい。しかし、「集める」「考える」「実行する」という大きな順番は変えられない。
いきなり自動購入から作ってはいけない
競艇ソフトを作り始めると、最初に購入画面を動かしたくなる。買い目を自動入力し、購入ボタンまで進めば、いかにもソフトらしく見える。作っていて楽しい部分でもある。
しかし、ここから始めるべきではない。何を買うのかを決める根拠が、まだ存在しないからだ。
購入処理だけを先に完成させれば、根拠のない舟券を正確に買うソフトになる。技術的には成功でも、収支面では危険である。
私が、ブログ冒頭とYOUTUBE動画に完成形の購入ソフトを置いたのは自慢ではなく、「完成形がきちんと存在する」ことを伝えるためである。
先の見えないトンネルはつらいが、必ず出口があることを知っているからこそ、初めて通るトンネルでも我々は平気で走る。
それと同様、しかもそれは3つ目のステップに存在する。行き止まりの洞窟ではない。
答えが必ず存在する。数学的な表現をすれば「存在問題」は証明済である。よって・・・
最初に作るべきものは購入機能ではない。正しいデータを蓄積する仕組みである。
Step 1 正しいデータを集める
最初の工程はデータ収集である。出走表、直前情報、結果、オッズなどを集め、あとから分析できる形で保存する。
ただし、データが取得できただけでは完成ではない。大量の行が並び、ファイルサイズが大きくなっても、中身が間違っていれば役に立たない。大量の誤データは、少量の誤データより始末が悪い。
Step 1で確認すること
- 必要なレースが抜けていないか
- 同じレースを二重に取得していないか
- race_idが重複していないか
- 日付と会場コードが正しいか
- 結果とオッズが同じレースに対応しているか
- 欠場、中止、不成立を正しく扱えているか
ここまで確認して、初めて分析に使えるデータになる。データ収集の完了条件は「取れた」ではなく、「正しいと確認できた」である。
Step 2 分析してロジックを作る
データがそろったら、次は分析である。どの条件が結果に関係しているのかを調べ、買う条件と見送る条件を作る。
展示タイム、モーター成績、進入、スタートタイミングなど、使えそうな要素はいくつもある。しかし、「強そうだ」「当たりそうだ」という感覚だけでロジックを作ってはいけない。
たとえば「展示1位は強い」と考えたなら、過去データで確かめる。何%勝つのか。艇番によって違いはあるのか。オッズを含めても利益が残るのか。思いつきを、繰り返し検証できる数値条件へ変えるのである。
的中率だけでは足りない
10レース中8レース当たれば優秀に見える。しかし、低い配当ばかりなら、残り2レースの外れで負けることがある。
- 回収率
- 購入件数
- 平均オッズ
- 最大連敗
- 最大ドローダウン
- 資金の増減
- 見送ったレース
確認すべきなのは、予想が当たるかだけではない。同じ条件で買い続けても資金を守れるか?これである。ここまで検証して、ロジックは初めて実戦候補になる。
Step 3 安全に自動購入する
データを集め、検証し、ロジックを作り、さらに検証する。そこで初めて自動購入へ進む。
自動購入に必要なのは、購入ボタンを押す機能だけではない。むしろ、その前後の判断と安全装置の方が重要である。
- 購入条件を満たしているか
- 現在のオッズで買ってよいか
- 購入金額はいくらにするか
- 今回は見送るべきか
- 締切に間に合うか
- データに異常はないか
- 二重購入を防止できるか
- 購入結果をログへ残せるか
- 異常時に自動停止できるか
自動購入とは、単に自動で買うことではない。自動で判断し、必要なときだけ買い、条件が悪ければ何もしない仕組みである。
「動いた」と「使える」は違う
ログインできた。買い目が入力された。購入画面まで進んだ。動けばうれしい。しかし、「プログラムが動いた」と「実戦で安全に使える」は別の話である。
オッズ取得に失敗したまま購入したらどうなるか。締切変更を認識できなかったらどうなるか。同じレースを二重購入したらどうなるか。購入ソフトでは、エラーで止まることよりも、異常なのに止まらないことの方が危険である。
すべての間に検証を入れる
この開発フローで最も重要なのは、Step 1、Step 2、Step 3そのものではない。その間にある検証である。
- データを集めたら検証する
- 分析したら検証する
- ロジックを作ったら検証する
- 自動購入を作ったら検証する
- 実運用を始めた後も検証する
少ししつこい。しかし、それくらいでよい。競艇ソフトはお金を扱う。「たぶん大丈夫」は危険な言葉である。
AIに作らせても、確認は自分で行う
AIは、コード作成、エラー調査、データ整理、数式作成、テスト方法の検討まで手伝ってくれる。以前なら何時間もかかった作業を、短時間で進められるようになった。
しかし、AIが作ったから正しいとは限らない。収集したデータが現実と一致しているか、このロジックで実際に資金を使ってよいかまで保証してくれるわけではない。
AIには作る仕事を手伝ってもらう。人間は確認する仕事を手放さない。この役割分担が必要である。
最初から完璧を目指さない
競艇ソフトは、一度作って終わるものではない。データを集め、検証し、分析し、修正する。ロジックを変えたら、また試す。自動化した後も、さらに検証する。
だから、最初から完成品を作ろうとしなくてよい。
- 小さく作る
- 動かす
- 確認する
- 直す
この繰り返しで十分である。自分で作ったものが初めて動く瞬間は水戸黄門ではないが震えが来る、その震えが開発を続ける燃料になる。
競艇ソフト開発は長い。途中でエラーも出る。Excelも固まる。人間も固まる。だからこそ、小さな成功を途中に作るべきである。
この流れが競艇ソフトの設計図である
競艇ソフト開発の基本は、次の3段階である。
- データ収集
- 分析・ロジック構築
- 自動購入
そして、すべての間に検証を入れる。
集める → 検証する。分析する → 検証する。自動化する → 検証する。
派手ではない。しかし、この順番を守る方が結局は早い。競艇ソフト開発に近道は少ないが、無駄な遠回りは減らせる。
このブログでは、各Stepで失敗しにくい進め方と、私自身が遠回りした場所を順番に紹介していく。「こちらは行き止まりだった」と先に示せれば、これから作る人の時間を少しは節約できるはずである。



コメント