競馬のデータ分析をプログラミング(スクレイピング)でやってみたお話

  • URLをコピーしました!

こんにちは。ちゆりです。

今回は,普段はITエンジニアとしてサラリーマンをやっている僕が,競馬の世界へ参入してみます。思いっきりド素人が競馬で一儲けするお話です。

競馬のイロハも何も分かっていませんが「プログラミング駆使したら案外簡単に荒稼ぎできるんじゃね?」と競馬分析20年のベテランたちを敵に回す発言をしたところでこの記事は始まります。

目次

競馬プログラミング予想の結果

今回は最初に成果の報告をして僕のセンスを認めてもらおうと思います。
プログラミング(何をした)うんぬんは後ほどさらっと書きますが..。

2019年度末の有馬記念の予想結果が以下になります。

有馬記念 結果

3連単的中です。しかし驚くべきことにマグレでしょう。一応プログラミングで,なんとなくデータ分析を行ったのですがほとんど関係ないです。マグレ要素強めです。でも,当たったからよしとしましょうよ。

ちなみにこの3連単のみに賭けたため資本金はわずか100円
調子の良いときの白菜1玉と同じ値段ということも驚きでしょう。

競馬予想とプログラミング

さてさて,実際にどう競馬を分析したのか。
プログラミング,プログラミングって言っておけば,なんかすごいことやってそうでしょ?実は大したことはやっていません。

僕がやったことは,
過去のレースの結果をスクレイピングで収集し,統計(確率)の高いものを算出しただけです。

ざっと。このような形でデータを分析してみた

  • 2年分のレースの結果を収集。
  • あえて中山競馬場のみのデータとした。
  • 着目点は人気(オッズ)のみ
  • 1-3位までの予想に絞った。

つまり,世間の人気度がどの程度信用できる値なのか?また,
どの人気度の組み合わせが勝ち取りやすいのか?というのを僕なりに統計を出してみました。

仮に世間の人気度が信用度MAXなら3連単は1番人気-2番人気-3番人気の順で並べれば良い。
しかし,そんなにうまい話はない。見事に世間の予想を大きく外してくるから競馬は面白い。9番人気の馬が急に1位に入り込んで来ることもあるし,1番人気の馬が最下位になることも良く良くある。(統計をとった感じ)

でもやはり,1番人気が3位以内に入る確率は分析の結果たしかに高かった。
世間の予想もあながち信用できそうだ。

競馬データをスクレイピング

データ分析をする際はスクレイピングによってサイトからデータを引っ張ってきました。

今回スクレイピング対象のサイトは以下になる。

https://www.netkeiba.com/?rf=logo

競馬スクレイピングサイト

1位-2位-3位の馬名と人気がまとめられている。これだけあれば十分だ。

このサイトをスクレイピングしてもいいの?ダメなの?の判断のためこのサイトのrobots.txtも確認しておいた。
(「Not Found」となったが,まぁいいか。robots.txtにスクレイピング禁止という記述はないようだ。そもそも「Not Found」となるから存在しないわ。)

robots.txtやスクレイピングをする前に確認しておきたいことは以下のサイトが勉強になりました。ありがとう。

スクレイピングツール

スクレイピングをする上ではpythonを使いました。(python使っておけば間違いない)そして,スクレイピングモジュールはBeautiful Soupを使いました。(Beautiful Soupが1番使い方の記事や書籍が多かった...気がする)

Webスクレイピング始めたい方はこの書籍をぜひ。

python使ってWebスクレイピングするならこの一冊だけで十分理解できます。本は3000円程度だが,これで勉強して競馬を当てれば収支プラスでっせ。兄さん。

ソースコードは以下の記事で公開してますので興味のある方はぜひ、チェックしてみてください

競馬予想結果

僕のデータ分析を行った結果(統計)を今回は特別にお見せいたします。
このデータがいつかどこかで役に立てると幸いですね。

くどいですが,今回は以下の観点でデータを収集しています。

  • 2年分のレースの結果を収集。
  • あえて中山競馬場のみのデータとした。
  • 着目点は人気(オッズ)のみ
  • 1-3位までの予想に絞った。

中山競馬場で開催された2018年1月〜2019年12月の2年分,全997レース○番人気がどの順位を何回取ったかをまとめた結果が以下の様ようになりました。

データ分析結果

僕なりにこのデータから考察してみました。

1番人気が1位を取る確率は全997レースのうちに351回なので...
35.2%です。ということは単勝で1番人気に賭けても3分の1の回収率となります。(う〜ん。これは果たして高いのか低いのか..)

1位を取る回数は1番人気が,2位を取る回数は2番人気が,3位を取る回数は3番人気が最も高い回数となりましたので,世間の信用度(人気度)もあながち信用できますね。ちなみに3連単勝利確率は,1番人気-2番人気-3番人気の組み合わせが多かったです。順位予想に迷ったら参考に。(しかし全997レース中41回なので確率は4.1%ですが..低っ!!)

3連単勝利確率第1位は1番人気-2番人気-3番人気でした。
では第2位は?1番人気-3番人気-2番人気の組み合わせとなりました。全997レース中なんと19回。つまり2%!!競馬の厳しさを知る数字となりました..。

おすすめの賭け方

ということで,僕がスクレイピングでデータ分析した結果から
1番回収率の高い掛け方は3連複で1番人気-2番人気-3番人気

となりそうです。

今後もデータを増やして解析予定なのでこの結果が最善とはまだ断定できませんが...。

更新通知は僕のTwitterから行いますので気軽にフォローお願いします。

では,脱サラ競馬暮らしを目指しましょう。

ウマ娘のブルーレイBOXの特典が凄いことになっていた!!
スマホ版ゲーム「ウマ娘」をやっている方には激アツ特典が付いてくる

【封入特典】
◆ゲーム『ウマ娘 プリティーダービー』特典シリアルコード
(ゲーム内アイテムと交換できるシリアルコード)
<シリアル情報>
・『ウマ箱2』限定サポートカード
・『女神像』500個
・『夢の煌(きら)めき』12個
【全巻購入特典】 ◆ゲーム『ウマ娘 プリティーダービー』 特典シリアルコード(ゲーム内アイテムと交換できるシリアルコード)
・『ウマ箱2』★3引換券
※全巻購入特典は『ウマ箱2』(アニメ『ウマ娘 プリティーダービー Season 2』トレーナーズBOX)第1~4コーナーのシリアルコードを全て入力すると受け取ることが出来ます。

この記事で扱ったデータ収集プログラムコードの実装はこちらから

スクレイピングを学んでいきたい方におすすめの本と動画を紹介しています。

阪神芝1600mに特化したデータ分析はこちらから

2020年3月22日フジテレビ賞スプリングSの予想はこちらから

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメント一覧 (2件)

  • やっぱり面白いです

    過去ブログ遡ってもいつも面白いな〜

    馬、好きなんです。

    乗馬が。

    馬って、クレバーじゃないと、優しくないと、指示がきっぱりしてないと乗れないじゃないですか。

    時代が時代だったらジョッキーになれたかもな、と思う。
    ま、戯言で、過去振り返っても何も生まないね。

    宝くじより賢い

    • ふーみんさんいつもブログ見てもらいありがとうございます。
      乗馬が趣味なんてジョッキーの血がながれてるんじゃないですか〜
      ふーみんさんがジョッキーなら何番人気だろうと3連複候補に入れちゃいますよ。
      データ分析に狂いが出てもいいんです。w

ちゆり へ返信する コメントをキャンセル

目次