塞翁が馬でしょ。

競馬AIで1億円勝ちを目指す。

これをしない奴はカモ

その前に

馬券を買う人には2種類の人がいると思います。
この記事は「2」に関してのみの話ですのでご注意ください。当然私は「2」に含まれます。

  1. 予想や馬の走りそのものを楽しみ、収支をあまり気にしない人
  2. 馬券購入を資産運用と捉え、収支をプラスとすることに重きを置く人

なお「1」のような楽しみ方に対する否定は一切なく、むしろ共感します。
余談ですが私は友人とやる麻雀が好きで、麻雀に関しては「1」のようなスタンスで関わっています。
宅を囲んでのコミュニケーションや牌を触ることそのものが好きだったりするので、ちょっと負けても楽しかったから良いかといった感覚です。


これをしない奴はカモ

本題です。

 これをしない奴はカモ;
 勝ちパターンの仮説立て、徹底検証、徹底継続。

以上。
これらをやって初めて勝つか負けるかのスタートラインに立つことができます。
やらずに勝負すると、絶対に負けに収束します。

当たり前でしょ、と思われるでしょうが、
死ぬほど大切なことだと考えているため大前提として敢えて書いていきます。

①勝ちパターンの仮説立て

ここでいう勝ちパターンとは、何でも良いですが「この法則に基づいて行動すれば収支がプラスに収束するだろう」と考えられるような法則を指しています。
例えば、競馬では「この血統の馬がダートのレースに出たら必ず賭ける」や「このジョッキーが枠番3番以内を取ったら必ず賭ける」といったようなものです。
実際はこんなにシンプルではありませんが。
これは経験から導かれるものもあれば、実際のレースの結果から発想を得ることもあります。また、競馬情報サイトにおける予想家の方のコメントからヒントをもらっても良いでしょう。

このプロセスでは、機械学習を活用できると非常に大きな武器となります。
競馬に関する深い知見が特になくても、データに基づいて統計的に導き出すことができます。
実際私は競馬について詳しくありませんが、機械学習の手法を活用していくつかの勝ちパターンを見出しました。
幸い競馬の場合は過去のレースデータがいくらでもあります。
ある程度のデータであれば無料でも入手できますし、データの種類の豊富さや正確さを重要視するなら有料でデータを提供してくれるサービスも複数存在しています。
私はこのデータがすべてを決めると言っても過言ではないと考え、有料でデータを購入しています。

②徹底検証

有力と思える勝ちパターンを見出せたら、過去データを利用してこれが確からしいパターンなのかを徹底的に検証します。
例えば、「この血統の馬がダートのレースに出た時に必ず馬券を買っておくとトータル収支がプラスとなる」という仮説を立てた時に、本当にそうなのか確かめるために実際に過去のレースに適用して馬券を買ったことにしてみて、本当に収支がプラスになるかどうかを確かめるということです。
本当に当たり前ですが、このプロセスは絶対に実施する必要があります。
これをやらずに継続的に収支をプラスとすることはほぼ不可能と考えて良いでしょう。実際、①で立てた仮説のほとんどはここでボツになります。

また、検証においてはなるべく偶然の要素を排除することが重要だと考えています。
競馬は偶然によって結果が左右されることが往々にしてあるゲームですので、検証対象とするレース数(=試行回数)を単純に増やす必要があります。
したがって、ここでもプログラミングを利用した自動シミュレーションを行えることが望ましいです。
私は①と②のプロセスをセットでプログラム化し、仮説立案とシミュレーションを大量に実行できるようにしました。
自動とは言えこれはかなり気の遠くなる宝探しのような作業です。
結果的にベストと思えるパターンのみ、次のフェーズに進めることができます。

③徹底継続

さて、①②の地獄の検証を勝ち抜いたパターンで、実際に勝負に参加していきます。ここで大切なのが「徹底的に継続すること」です。
ここでいう徹底的とは、感情に流されて適当な判断で賭け方を変えてはいけない、ということです。

簡単なようで、これが一番難しいです。
人間どうしても、直近の勝ち負けを気にして強気になったり弱気になったりしてしまいます。
例えば負けが込んでいるときに自身のパターンで予想した馬券が全然人気のない馬券だった場合に、「買うのをやめておこう」という気持ちが芽生えたりします。

なぜこれがダメかというと、②の検証と前提が変わってしまうためです。
自身の判断で賭け方を変更してしまった瞬間、せっかく見出した勝ちパターンが全くの別物になっていまいます。
②のプロセスなしに勝負にでているのと同じで、非常に危険です。
そうならないために、馬券の購入はできればシステム化して自動で行い、一切の感情を挟まないようにすべきです。
止め時についてのみ「いくらまでプラスになったら(マイナスになったら)運用を止める」ということを予め決めておき、これに従うと良いと考えます。

まとめ

上記3つのフェーズを全て実行することで、初めて勝ちが望めるだろう、という話でした。
また、これらを精度高く実行するためには機械学習やシステム構築の技術の活用が大きな武器となる、という事も併せてお伝えしたかった事です。
元々この辺りの知見がなくても、インターネット上に散在している情報を組み合わせることで充分だと思います。
私自身、競馬というテーマを軸に必要最低限の技術を勉強しているだけで、それなりのシステムは構築する事ができました。

実際のシステムの話も、追って記事化していきたいと思います。