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

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

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

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

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

目次

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

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

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

有馬記念 結果

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

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

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

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

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

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

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

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

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

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

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

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

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

netkeiba.com
netkeiba.com - ¹ñÆâºÇÂçµé¤Î¶¥ÇϾðÊó¥µ¥¤¥È
netkeiba.com - ¹ñÆâºÇÂçµé¤Î¶¥ÇϾðÊó¥µ¥¤¥Ènetkeiba.com¤Ï¹ñÆâºÇÂçµé¤Î¶¥ÇϾðÊó¥µ¥¤¥È¤Ç¤¹¡£JRAÁ´¥ì¡¼¥¹¤Î½ÐÇÏɽ¤ä¥ª¥Ã¥º¡¦Í½ÁÛ¡¢¥Ë¥å¡¼¥¹¡¢¥³¥é¥à¡¢¶¥ÁöÇÏ50ËüƬ°Ê¾å¼ýÏ¿¤Î¶¥Çϥǡ¼¥¿¥Ù¡¼¥¹¡¢ÃÏÊý¶¥ÇÏ¡¢POG¡¢Í½ÁÛÂç...
競馬スクレイピングサイト

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

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

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

No Image
Python でクローリング、スクレイピングする前に確認しておきたいこと

スクレイピングツール

スクレイピングをする上では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番人気

となりそうです。

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

 

競馬のスクレイピング予想は僕のnoteまたは,このブログでゆるりと更新していこうと思いますのでぜひ,フォローとブックマークをおすすめです。

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

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

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

目次
目次