ボートレースで回収率100%超えを目指して、1年間やってきたこと
1年間ボートレースを研究していたら、勝てるようになってきた話には、3ヶ月の成績を数字だけ載せました。ここでは、その数字を出すまでに私が何をしてきたかを書きます。
先に言っておくと、必勝法の話ではありません。地味で泥くさい作業の積み重ねの話です。やってきたことは、大きく3つです。
環境をつくる
最初にやったのは、分析のための環境づくりです。過去10年分のレース結果をはじめ、出走表、直前情報などを毎日自動で集めて、データベースにため続ける仕組みを作りました。
本業がエンジニアなので、作ること自体は得意でした。大変なのは、作ったあとです。
- サイトの仕様が変わって、ある日突然データが取れなくなる。
- 一部の項目だけが空のまま入り続ける。
- ディスクがいっぱいになって、全部止まる。
実際に、一部のデータが2か月以上も空のまま、気づかなかったことがあります。空のデータで検証すれば、出てくる結果は全部ウソです。それ以来、毎日データが正しく集まっているかを自動でチェックして、おかしければすぐ気づけるようにしました。
私はケチな性分でして、サーバーはクラウドに置き、無料の枠で動かしています。1円も払っていません。
仮説を立てて、検証する
集めたデータから、仮説を立てます。「こういう条件のとき、回収率が100%を超えるのではないか」という具合です。
そして、仮説は必ず過去のデータで検証します。見ているのは次の3つです。
- 検証に使っていない期間でも成り立つか。 条件を見つけた期間の成績が良いのは当たり前です。見つけた期間とは別の期間で確かめます。
- 件数が十分あるか。 少ない件数で回収率が高く見えても、たまたまの可能性が高いからです。
- 偶然ではなく、理由が説明できるか。 数字だけ良く見えても、なぜそうなるのか説明がつかない条件は信用しません。
検証した仮説は、500を超えます。そのうち残ったのは、ほんのわずかです。一見よさそうな仮説でも、データが否定したら容赦なく捨てます。
検証を通った条件だけ、そのとおりに買う
検証を通った条件だけを、決めたルールどおりに買っています。レースの直前に気分で条件を変えたりはしません。
そして、買ったあとも検証は続けます。実際の成績が、過去のデータで見込んだ成績と合っているかを見て、負ける条件は損切りして捨てる。新しい条件を追加する。これを繰り返してきました。
まとめ
やっていることは、派手ではありません。データを集めて、仮説を立てて、検証して、通ったものだけを買う。この繰り返しです。
これを毎日の本業のかたわらで、1年くらい続けてきました。勝てる条件が見つからなさすぎて、心が折れそうになった時期もあります。それでも続けられたのは、分析が楽しかったからです。
大した専門知識はないのですが、私自身、確率や統計学が好きだったため、ギャンブルと合わせて、分析がずっと楽しく感じられました。
仮説を考えるところから集計、プログラム作りまで、AIにはずいぶん助けてもらっています。その話は、またあらためて書きます。
