メモ

パンダズ競馬の説明書

更新日:

パンダズ競馬をご訪問いただき、ありがとうございます!

競馬をテーマにしたサイトを個人で運営しております。

こちらのページでは、パンダズ競馬の考え方コンテンツの見方などをご紹介してまいります。

パンダズ競馬とは

データ分析を駆使して収支プラスをめざす

はじめまして。しがらきと申します。京都在住の30代のサラリーマンです

競馬は学生の頃に少しやってましたが、社会人になってからは全く触れないで過ごしてきました。

結構派手にやらかした経験もあり(競馬以外でも…)、ギャンブルといわれるものには極力近づかないようにしていました。

ところが、30代になってから家族(妻・娘2人)と別居することになり、

  • 別居の費用捻出が必要になったこと
  • 家族と離れているので比較的時間にゆとりができたこと

で、何か副業をしたいと思ったのですが、せっかく時間を使うならば趣味と実益を兼ねられたら面白いそうやなー、と何故か全くの素人にもかかわらず、投資競馬なるものに興味をもちました。

その時に出会ったのがこの本。

卍氏のことは馬券裁判として盛んにニュースにも取り上げられてましたから、当時競馬から遠ざかっていた私も存じておりました。

この本の中で印象的だったのが、次の一節です。

しかしながら、競馬では、必ずしも一番強い馬が1着になるとは限りません。同じ条件、同じメンバーでレースをした場合、おそらく1着馬はコロコロ変わるだろうと思います。

回収率を高めるためには、的中しそうな買い目を探すことではなく、適正オッズよりも高いオッズがついている買い目を探すこと、つまり、過小評価されている買い目を探し出すことです。

そりゃそうだ、と思うとともに、直観的にこの方法だと自分には合っているな、と感じました。

競馬を楽しむ方法として、勝ち馬を当てる技術を磨くことは当然面白そうではあるのですが、データを駆使して、投資競馬のようなものを突き詰めるのは、もっと面白そうだと感じたわけです。

そんなわけで、最近の週末は、オリジナル指数に基づいて馬券を買う、というデータ競馬を楽しんでいる次第です。

実績はというと・・・

さて、ご興味があるのは、

  • これが副業として実際に成り立っているのか・・・、

というところだと思いますが、残念ながら今のところ収支はトントンで100%を超えていません。

2018年の1月からこの方法での馬券購入を開始し、

  • 2018年6月まではかなり順調に進んでいて回収率は120%を超えていたのですが、
  • 7月8月の合計がまさかの50%台となり、

いったんここで止めました(トントンというのは止めたからです)

投資競馬の性質からいって、ひょっとしたらこの50%というのは許容した上で継続しなければならなかったのかもしれませんが、2ヶ月続きましたので、さすがに疲弊してしまいました。

最初のモデルでは、騎手・馬主・調教師といった人に関するファクターを全く取り入れておらず、ここに改善の余地がありそうだ、ということで今現在も試行錯誤しています。

この辺りの情報を扱いだすと、自分のPC内でやっているだけでは、PCの中もアタマの中もごちゃごちゃして収拾がつかなくなるのですよね。

これがサイト運営をし始めたきっかけです。

パンダズ競馬の開設へ

つまり、サイト運営を通じて、さまざまな競馬データを体系的に整理でき、モデルを精緻化していくうえでメリットになると感じ、競馬サイトを作ろうと思ったのです。

また、騎手や調教師のデータベースは検索される需要も一定数ありそうなので、そこからいろんな競馬ファンの方とつながれたら嬉しいな、という思いもありました。

そんなことで、このサイトでは、

  • オリジナル指数の作成プロセス
  • 参照するデータベース

などを紹介していきたい、と考えております。

予想を公開する予定はありません・・・。ただの競馬ファンのブログと思っていただければ。

的中率志向ではないので、予想にはなじまないというのもあります・・・

パンダズ競馬の由来

データがメインコンテンツでありこのサイトの特長でもありますが、主にPython(パイソン)というプログラミング言語を利用しています。

そのPythonの中で、非常に便利なPandas(パンダズ)というデータ分析用ライブラリがあり、このサイトを作る上でも、オリジナルの馬券購入ルールを運用していく上でも欠かせない存在となっています。

パイソン競馬でも良かったのですが、なんとなくPandasに愛着があって語呂も良いので、サイトコンセプトを素直に伝えられる名称としてパンダズ競馬としました。

なんか、ダサいですよね。ちょっとダサいな、と思い始めているのですが、いまさらなのでこのまま突き進みます(笑)

国内ではpandasはパンダスと読む方も多いですが、英語圏では一応パンダズが正しいようです。

パンダの複数形でしたらやはりパンダズでしょうかね

Pandas - ウィキペディア

データ処理の方法

PythonだけでなくRとGoogle Apps Scriptも使用します。

データベースはSQliteとMySQLを利用。

私は職業プログラマーではなく、土日しかコードを書きません。

よって、不慣れさゆえにプログラミングミスをするのが怖いので、二系統のルートを用意し、相互に参照して結果が正しいか検証するようにしています。

PythonやRは趣味プログラマーでも使えます!

ターゲットや馬王を使わない?

データ競馬をやられている方は、ターゲットや馬王などを利用しているかと思います。

そちらを利用することも考えましたが、次のようなメリットを感じましたので、自前のデータベースを運用しています。

  1. ターゲットや馬王はこれらを使っているというだけで、他の馬券購入者と類似した行動に近づきますので、過小評価馬を見つける、という目的から遠ざかると考えています。自前ならそこを気にせずに済みます(もちろん代表的なファクターは重なってくるでしょうけれども)。
  2. 自前の方がアウトプットスピードが速いです。ソフト自体を立ち上げる必要がないですし(馬王は結構重い)、回収率の計算もPandasやRはものすごく速いです(三連複までいくとさすがに時間がかかる)。PCが新しいと馬王でも気にならないかも・・・。
  3. ソフトに依存しないので、データがある限りどんなアウトプットの仕方にも対応できます。

3つめの事例で言うとこの記事内のデータなんかもすぐに出せます。あんまり人気のない記事ですが・・・。

【競馬の格言】「二頭出しは人気薄を狙え」人気薄は狙ってはいけない!

ひょっとしたら、私が単にターゲットや馬王を使いこなせていないだけで、何かいろいろ柔軟にできちゃったりするかもです

パンダズ競馬の基本的な考え方

的中率志向ではなく回収率志向であること

冒頭の繰り返しになりますが、大事なところですので、もう一度。

このサイトが志向するのは的中率ではなく回収率になります。

回収率志向では、過小評価された出走馬を自動抽出して購入を続け、負けることは前提としながら、トータルでの回収率100%超えを狙います

勝ち馬を当てることに興味がないわけではないですが、優先順位は低くなりますね。

ですから、好走率にあまり言及しないところなどが他サイトと異なり、ひょっとしたら、それが原因で読みにくさや違和感を感じられるかもしれませんが、ご了承いただきたく・・・。

回収率志向の世界も、昨今、AIとか機械学習とかを耳にする機会が増えてきましたので、私のつたないモデルでどこまで勝負できるか未知数ですが、

  • 誰かが作ったモデルに乗っかるのではなく、
  • 自前で作ったモデルで実践する、

というところに、意味があるのではないかと考えてます。

モデルの利用者が増えれば増えるほど過小評価じゃなくなるので。

評価するファクターと評価しないファクター

回収率に種類に関しては後ほど詳しく書きますね

ここでいう回収率は、このサイトで一般的に利用しているものになります。オッズ単回・オッズ複回と名付けています。

オッズ単回やオッズ複回は、レースの全部の買い目を購入すると控除率を除いた80%に収束します。

したがって、回収率が80%を上回るとき、

  • 過小評価である
  • あまり買われていない
  • オッズ妙味がある
  • 馬券妙味がある

という言い方をし、適正オッズよりもオッズが高いことを表します。

これがオリジナル指数を構成するファクターの候補となります。

一方、回収率が80%を下回るとき、

  • 過大評価である
  • 買われ過ぎである
  • オッズ妙味がない
  • 馬券妙味がない

などの言い方をし、適正オッズよりもオッズが低いことを表します。

同じくオリジナル指数を構成するファクターの候補となりますが、こちらはマイナスのファクターとなります。

基本的にはこれらのファクターを丁寧に紡いでいって、紡いだ結果としてできたモデルに基づいて馬券を購入します。

ところで、いま回収率だけに注目していますが、勝率(的中率)はどのように扱うと良いでしょうか?

全く無視するのが良いのでしょうか?

組み合わせて整理すると、このような形になるでしょう。

回収率が高い 的中率が高い ①高回収率・高的中率
的中率が普通 ②高回収率
的中率が低い ③高回収率
回収率が普通 的中率が高い ④高的中率
的中率が普通 採用しない
的中率が低い ⑤低的中率
回収率が低い 的中率が高い ⑥低回収率
的中率が普通 ⑦低回収率
的中率が低い ⑧低回収率・低的中率

まず文句なしに採用するのは①と⑧です。⑧は買い目から除外する意図なので逆の意味でのファクターとなります。

②~⑦はどう扱うべきでしょうか。

的中率をある程度考慮しなければ資金的にしんどい

回収率志向だと②③⑥⑦が採用になりますね。

とにかく的中は関係なしに、回収率の高い低いだけに注目します。

しかしです!

この線で突き詰めると、ほとんど当たらないのです。

的中率と回収率がある程度トレードオフみたいになっていて、あまりにも的中率を無視すると回収率は上がっても、全然的中しないという精神的に良くないモデルが出来てしまいます。

そこで、

  • 回収率に影響がないけれども的中の良し悪しに影響があるファクターである④⑤を採用し、

かつ、

  • 回収率には好影響だが的中率には悪影響の③⑥を外す、

というやり方をします。

この方法で、的中率と回収率のバランスのとれたモデルができましょう。

まとめると次のようになります。

  • 回収率志向・・・①②③⑥⑦⑧
  • バランス型・・・①②④⑤⑦⑧

学習データとテストデータ

モデルを作る際に使用するデータには2種類あって、1つが学習データ、もうひとつが、テストデータになります。

2013年~2017年のデータを利用してモデルを作ったとします。

このときの回収率のシミュレーションを何でやりますか?と言う話です。

正解は2018年のデータを使うことです。

このとき、

  • 2013年~2017年のデータを学習データ
  • 2018年のデータをテストデータ

と呼びます。

このように2つのデータをきちんと分けることで、モデルの正しさを評価することが出来ます。

上手くいかなければ、モデルを見直して、もう一度テストデータにかける、ということを何度も繰り返すことになりますので、例えば、2019年に、2018年までのデータを使っていきなりぶっつけ本番でやる、ということは考えられないです。

ここはデータ競馬で一番大事なところかもしれません

過剰適合(オーバーフィッテイング)を避ける

先ほどの学習データとテストデータの話とも関連しますが、過剰適合というのは、統計学において、既知データに対しては当てはまりが良いが、未知データに対しては適合できていない状態のことを言います。

例えば、せっかく何十万件とあるデータを切り刻んでいき、数百件しかないところで回収率が200%になった!といっても、次のタイミングでは50%にしかならないかもしれません。

これは過剰適合の状態です。

で、過剰適合に注意せよ、と言っておきながら、このサイト内での私の説明では、出走件数が少なくても回収率がいいですねーとか言ってしまっているところもあります(特にコースデータ)。

まあ、ちょっと基準が難しいところです。

モデルを作る際には、ある程度出走件数が多いファクターのみを扱うように注意しています。

データから仮説、ではなく、仮説からデータ

ここも注意している点ですが、

  • あくまでも何らかの過小評価・過大評価になる要素があって、
  • データで実際にそうであるかを確認して、
  • 確かにそうなっている、

というのが物事の正しい解釈の順序です。

何か回収率が高い要素をたまたま見つけ、なんだろうと考えて無理やり仮説や因果関係を想定するのは良くないです。

ここはやりがちなところなので、自分への戒めのために書いておきます。

回収率100%を超えるモデルをつくる

以上のようなことに注意しながら、ファクターを丁寧を紡いでいくと、使えるモデルができます。

おそらく、注意に注意を重ねるほど、100%を超えるのがギリギリくらいのものになります(100%を超えなければやり直し)

経験上、100%を大きく超えるモデルは、もちろん、優秀なモデルである可能性もありますが、過剰適合のリスクが大きいと思います。

回収率と的中率のトレードオフなどは良く話に出ますが、データ競馬で最もケアしなければならないのは、回収率と過剰適合の関係性だと思っています。

パンダズ競馬の見方

分析記事とデータベースがあります

分析記事は、

  • 近走成績
  • 馬体重・斤量
  • オッズ・人気
  • スピード指数・・・

などでカテゴライズしていて、オリジナル指数を作る過程や、その他とりとめのない内容もありますが、自分の備忘録的な意味もあって書き連ねています。

特定の1つのレースを当てることを志向していないので、正直あまりお役にたてないかもしれません・・・。

データベースは、

  • 騎手(毎週更新)
  • 調教師
  • 馬主
  • 血統(種牡馬)
  • コース
  • ランキング(リーディング)(毎週更新)

の6カテゴリーがあり、それぞれ同じ切り口でまとめていますので、俯瞰しやすいと思います。

こちらは、条件別に成績や回収率を網羅的にまとめたデータベースですから、少しはお役に立てるのではないかと考えています。

また、騎手とリーディングに関しては、毎週更新に努め、常に最新の情報を提供するようにしています。

データテーブルの切り替え

データ主体のサイトですので各ページが数値だらけです。

どのデータベースも、基本構成は着別度数・勝率・連対率・複勝率・単勝回収率・複勝回収率となっています。

ここの回収率はオッズ単回・オッズ複回と呼んでいるものになります

スマホの場合は、こんなに横長だと非常に見にくいので、デフォルトでは着別度数を非表示にしています(PCは表示)。

PCでもスマホでも、各テーブルの左上にある着別度数を[表示]、または、着別度数を[非表示]というボタンを押してもらえれば、テーブルの切り替えができるようにしています。

見やすい方を使ってください。

着別度数が表示の状態。非表示ボタンを押すと着別度数が隠れます

着別度数が非表示の状態。表示ボタンを押すと着別度数が現れます


変なところに凝ってしまいました。是非、押してみてください・・・

着別度数を[非表示]
1着2着3着着外出走勝率連対複勝単回複回popularity
1人気3761901264191,11133.850.962.37982popularity
2人気160134100456 85018.834.646.47876popularity
3人気 88 88 85402 66313.326.539.47978popularity
4人気 42 65 64304 4758.822.536.07187popularity
5人気 32 33 37295 3978.116.425.78375popularity
6人気 16 25 26249 3165.113.021.27281popularity
7人気 13 15 12219 2595.010.815.49271popularity
8人気 6 8 7162 1833.37.711.57358popularity
9人気 8 4 9121 1425.68.514.815898popularity
10以下6972412632.35.78.411487popularity

脚質について

脚質って難しいですよね。

定義をちゃんとしないと、どういう意味で使っているのか分かりません。

脚質というとその競走馬のタイプ、のような感じを受け、その通りなのですが、もともとは「決め手」のことです(①)。

そして「決め手」の割合に応じて、その競走馬のタイプを決めます(②)。

サイトによって、①のデータの場合と、②のデータの場合がありますよね。

JRA-VAN NEXTの説明が分かりやすいので引用させてもらいます。

http://next5.jra-van.jp/appli/kyakushitsu3.html

①②の両方が説明されています。

NEXTの場合は、②を1つに決めないようです。

ここもサイトによって違うところですよね、一番割合の多いのタイプを単純にその馬の脚質とすることもあるでしょう。

NEXTの場合は、「逃げ▲差し△」みたいな表示のされ方もあります。

ところで、逃げ・先行・差し・追込の4分類だと、例えば、最初から最後まで最後尾を追走していた馬も追込に分類されます。

ぜんぜん追い込んでなくても・・・。

そこで、次に参考になるターゲットの説明を見ていましょう。

http://faqnavi13a.csview.jp/faq2/userqa.do?user=jravan&faq=faq01_target&id=389&parent=19

同じJRAなのに、定義が全然違いますね・・・

ターゲットでは、中団・後方というのがあり、決め手のマクリも増えて、全部で7項目になります。

追込の派生が後方、差しの派生が中団で、差し馬・追い込み馬を4着内と定義し、それ以外を中団・後方と分類していますので、実際の脚質をより良く反映するものだと考えます。

まとめてみましょう。

出走馬を3つのグループに分け、先頭から第1集団、第2集団、第3集団としています。

逃げ 2~4コーナーのいずれかが1位通過
先行 4コーナーが第1集団
差し 4コーナーが第2集団かつ4着内
 -中団 4コーナーが第2集団
追込 4コーナーが第3集団かつ4着内
 -後方 4コーナーが第3集団
マクリ 2~3コーナーで第3集団、4コーナーで第1集団

中団・後方があることで、差しと追込の意味が生きてきますので、このサイトでもターゲットの基準に合わせています

回収率のシミュレーションについて

回収率は掛け金の設定の仕方で、かなり変化します。

サイトによってバラツキがあるのは、この設定によります。

つまり、買い方に依存するわけです。

このサイトのデータ分析では、平均回収率が80%になるように条件づけて計算をしています。

これがオッズ単回と呼んでいるものになります。

オッズ単回とベタ単回という2つの考え方がありますので、まずはこれを見ていきます。

ベタ単回

3頭立てレースで、1人気、2人気、3人気の投票数(1票100円とします)がそれぞれ300、200、100だったとします。

総投票が600になりますから売上が60,000円、控除率(20%)を考慮した返還金合計が48,000円となり、

単勝オッズは、

  • 1人気 48,000円/300票×100円=1.6倍
  • 2人気 48,000円/200票×100円=2.4倍
  • 3人気 48,000円/100票×100円=4.8倍

となりますね。

ベタ買いをするということは1票ずつ購入するのと同じなので、それぞれの馬が勝利した時の回収率は、

  • 1人気 1.6倍×100円/300円=53.3%
  • 2人気 2.4倍×100円/300円=80.0%
  • 3人気 4.8倍×100円/300円=160.0%

となります。

簡単な例ですが、ベタ買いだと人気サイドは回収率が悪く、穴馬がくれば回収率が高くなることが分かります。

これがベタ単回の性質です。

オッズ単回

同じように考えていきます。

3頭立てレースで、1人気、2人気、3人気の投票数(1票100円とします)がそれぞれ300、200、100だったとします。

総投票が600になりますから売上が60,000円、控除率(20%)を考慮した返還金合計が48,000円となり、

単勝オッズは、

  • 1人気 48,000円/300票×100円=1.6倍
  • 2人気 48,000円/200票×100円=2.4倍
  • 3人気 48,000円/100票×100円=4.8倍

となります。ここまで同じです。

オッズに反比例させた買い方とは、1人気:2人気:3人気を1/1.6:1/2.4:1/4.8で買うことを意味しますが、

これは計算すると3:2:1となり、結局もとの全体の投票数の比率に戻っているだけです。

買い目を検討するときには投票数ではなくてオッズが見えている状況なので、

  • オッズに反比例させる

というまどろっこしい言い方をしますが、

  • 全体の投票数に比例させた投票を行う

とイコールです。

そうすると、投票総数は1人気:2人気:3人気=3票:2票:1票ですね。総数が6票(600円)となります。

回収率は、

  • 1人気 1.6倍×300円/600円=80.0%
  • 2人気 2.4倍×200円/600円=80.0%
  • 3人気 4.8倍×100円/600円=80.0%

といずれも控除率を除した値(80%)になります。これがオッズ単回の性質です。

ベタ単回とオッズ単回のどちらが好ましい指標か

人気サイドから穴馬まで幅広く購入する場合は、オッズ単回の買い方でなければ損をしますよ。

一例を出してみます。

これは2013年から2017年までの中央競馬芝コースのすべての出走馬を購入した場合の結果をまとめたものです
クラス 出走数 勝率 オッズ単回 ベタ単回
重賞・OP 13,218 7.0% 79% 71%
1600万下 6,937 7.5% 79% 75%
1000万下 15,234 7.7% 79% 72%
500万下 32,752 7.0% 79% 77%
未勝利 38,020 6.5% 79% 69%
新馬 13,191 7.5% 80% 70%

勝率は平均的な出走頭数に依存するので、6.5%~7.5%まで幅があります。

見ていただいたらわかる通り、オッズ単回は基本的に80%に収束します。

一方のベタ単回は、すべてのクラスで回収率が下がっています。

さきほどの例でみたように、返還金合計を投票数に応じて分けることになるので、人気サイドで1票しか入れない場合は、分け前の割合が減ってしまいますね。

ただし、オッズに反比例させる買い方、と言葉では簡単に言えても、実際にはなかなか困難であったりします。

投資競馬をやる場合は買い目をどんどん入れていかないといけないので、いちいち計算してられません

私は人気サイドはそもそも避けるので、いまのところベタ買いで良いかなと考えていますが、この辺りはまだ結論が出ておらず、実戦を踏まえて修正をしていければと思います。

というかそもそも、投資競馬でオッズに反比例させて買うのは自動投票ソフトがないと無理ですね・・・。

いずれ自動投票できるようにしたいのですが、オリジナル指数をとりこめる自動投票ソフトがないのです。

JRA IPAT自動投票ソフト シンプルぱっと

こちらは販売終了となってしまいました。。。

オッズ単回は過小評価・過大評価の判断の指標

で、そもそもの話に戻りますが、単勝回収率に目をやるのは、過大評価・過小評価を判断したいためでした。

  • オッズが高い割には好走する
  • 思ったより好走する人気薄馬を見つける

とか、そういう要素を探したいわけですが、基準がないと判断がつきません。

オッズ単回は、もしすべての出走馬を購入していたら80%に収束するので、80%を基準として、過大評価・過小評価を判断することが出来ます。

オッズ単回を使用する最大のベネフィットはこれでしょう。

このサイトでは基本的にオッズに反比例させた金額を購入するように設定していますので、特に指定のない限りオッズ単回を示しています

ベタ単回を使用するときは、それを必ず明示するようにしています(穴馬の持ってきやすさの評価などで使えます)

また、実際の馬券は100円単位でしか購入できませんので、シミュレーションでは10,000円を基準にしてオッズに反比例させて購入金額を決めます。

したがって、オッズが100倍以上になると、一律100円を購入することになります。

参考資料

卍氏の著作は現在3冊あり、いずれも参考になります。残り2冊はこちらになります。

競馬全般の勉強には競馬の教科書がおすすめです。

教科書というだけあって網羅的で、これ1冊で競馬の全体感が分かるようになっています。ただし、初版が少し古いのでコースの傾向などは変わっています。

  • この記事を書いた人
しがらき

しがらき

週末プログラマー。馬券購入に役立つ独自指数を研究して楽しんでいます。生まれは阪神競馬場すぐ近く、現在は京都市在住で京都競馬場へのアクセスは抜群です。

-メモ

Copyright© パンダズ競馬 , 2019 All Rights Reserved.