単勝や複勝の返金率80%を検証した人いますか?

JRA-VANのデータを30年分DBに入れて検証しています。
全レース全馬の単勝を100円づつ購入した場合の回収率を検証していますが、どの年も71%前後です。同じように検証した人いますか?

Kamiさん、おはようございます。

今まで特に気にしてなかったけど、頭の体操かねて試しました。うちはSQLiteで票数1の票数は単勝票数というカラムにJV-Dataの仕様書のまま格納してUUFFFFFFFFFFFNN的に頭数分が入ってるので、

WITH RECURSIVE 馬票展開 AS (
SELECT
開催年月日,
競馬場コード,
レース番号,
SUBSTR(単勝票数, 1, 15) AS chunk,
SUBSTR(単勝票数, 16) AS rest,
1 AS idx
FROM 票数1
WHERE 単勝票数 IS NOT NULL

UNION ALL

SELECT
開催年月日,
競馬場コード,
レース番号,
SUBSTR(rest, 1, 15),
SUBSTR(rest, 16),
idx + 1
FROM 馬票展開
WHERE LENGTH(rest) >= 15
),
単勝票 AS (
SELECT
開催年月日,
競馬場コード,
レース番号,
CAST(SUBSTR(chunk, 1, 2) AS INTEGER) AS 馬番,
CAST(SUBSTR(chunk, 3, 11) AS INTEGER) AS 票数,
CAST(SUBSTR(chunk, 14, 2) AS INTEGER) AS 人気
FROM 馬票展開
),
単勝売上 AS (
SELECT
開催年月日,
競馬場コード,
レース番号,
SUM(票数) AS 単勝票数合計
FROM 単勝票
GROUP BY 開催年月日, 競馬場コード, レース番号
)
SELECT
h.開催年月日,
h.競馬場コード,
h.レース番号,
s.単勝票数合計 * 100 AS 単勝売上金額,
COALESCE(p1.票数, 0) * h.単勝払戻_払戻金1 +
COALESCE(p2.票数, 0) * COALESCE(h.単勝払戻_払戻金2, 0) +
COALESCE(p3.票数, 0) * COALESCE(h.単勝払戻_払戻金3, 0) AS 払戻合計,
ROUND((
COALESCE(p1.票数, 0) * h.単勝払戻_払戻金1 +
COALESCE(p2.票数, 0) * COALESCE(h.単勝払戻_払戻金2, 0) +
COALESCE(p3.票数, 0) * COALESCE(h.単勝払戻_払戻金3, 0)
) / (1.0 * s.単勝票数合計 * 100) * 100, 1) AS 払戻率
FROM
払戻 h
JOIN 単勝売上 s
ON h.開催年月日 = s.開催年月日
AND h.競馬場コード = s.競馬場コード
AND h.レース番号 = s.レース番号
LEFT JOIN 単勝票 p1
ON h.開催年月日 = p1.開催年月日
AND h.競馬場コード = p1.競馬場コード
AND h.レース番号 = p1.レース番号
AND p1.馬番 = h.単勝払戻_馬番1
LEFT JOIN 単勝票 p2
ON h.開催年月日 = p2.開催年月日
AND h.競馬場コード = p2.競馬場コード
AND h.レース番号 = p2.レース番号
AND p2.馬番 = h.単勝払戻_馬番2
LEFT JOIN 単勝票 p3
ON h.開催年月日 = p3.開催年月日
AND h.競馬場コード = p3.競馬場コード
AND h.レース番号 = p3.レース番号
AND p3.馬番 = h.単勝払戻_馬番3
WHERE
h.単勝払戻_払戻金1 IS NOT NULL;

って感じで実行しました。1986年からしばらく75%前後、90年代辺りから80%前後とかになってるのかな? たまに5%上乗せとかで85%前後もあったりする感じです。このきっちり75%とか80%にならないのって単純に1円単位の払戻がないから例えば215円の単勝が210円なのか220円なのか知らないけどこの誤差×票数で若干ずれてる感じではないのかなぁと思うけど。

こんにちは。

全馬を均等に100円買ってもダメです。
返金率(俗にテラ銭)80%というのは、全ての売り上げから20%を控除して
残りの80%を当選者に分配する、という仕組みです。
全馬の単勝を100円ずつ買ったのでは人気薄は買いすぎ、人気馬は買い足りないです。
売り上げ比率に合わせて購入する必要があります。

過去20年のデータをPosgreに取り込みGemini cliで自動コーディングしてたのしんでます。

目からウロコの情報でした。人気馬が売れすぎていても長めで見たら80%になるものと信じてました。長い目でみれば人気薄が来ればその分配当が高くなるとお思ってました。

100円づつ購入したら73くらいが正しい?

逆にいえば確率的には人気薄を買い続けた方が期待値はたかい?

検証ありがとうございました。高くなる年は何年でした?私も再検証したいので。

Kamiさん、おはようございます。

これ、Copilotに普通に質問ぶつけたら1995年と言われました。つまり、Kamiさんが取り込んでいる過去20年だと全て80%ですね。ああ、厳密にはなんでしたっけ、JRAプレミアムとかで5%上乗せとかあるので全てではないですね^^;

確か一般論的に全馬100円づつ買うと控除率になるのがオッズだった気がしたのですがpre21さんは違うって書かれてますね。

期待値の考え方も色々とあるかと思います。その昔、ニフティのコミュニティで2番人気狙いとか言ってた方が居ました。1番人気の来る確率が3割程度とかって話とか、そんな話から2番人気の来る確率と平均オッズとの兼ね合いからの話かと思います。

期待値ってその馬が勝つ確率とオッズから、例えば勝率20%だと5倍以上ないと期待値100%超えないですよね? 穴狙いも単純に期待値が高いとは限らないかと。勝率1%とかで万馬券狙い。100回買って1回当たるかも?これ多分資金面が絡むんだと思うし、自分の場合週末72Rで1回も当たらないと相当凹みます(笑)

オッズオンリーで機械学習やると20倍あたりに若干エッジが出ますね。まあそれだけじゃ全然儲からないんですが。

こんにちは。
久しぶりに開いてみましたら私の意見も仮説みたいな感じになっていますが、仮説ではなくて事実ですよ。

例えばここにサイコロがあって、ただし6はなく、1が2面あるとします。
3分の1の確率で1がでて、6分の1の確率で2~5が出る。

10人の人がこのサイコロ競馬に参加して、全員100円ずつ賭けるとする。
6人は1に賭け、残りの4人は2~5に1人ずつ賭けたとします。

JRAの総売上は10人*100円で1000円。
20%控除して、800円を当選者に支払います。
1番は800円を6人で分けると133円なので、JRAだと1.3倍、払い戻しは130円
2番から5番の馬は8倍、払い戻し800円になります。

このサイコロ競馬に、全馬100円ずつ賭けても返金率80%にならないのだが?というのが
このスレッドの問いだったと思いますが
このサイコロ競馬を全馬均等に100円ずつ賭け続けると
(ただし過去データに仮想で賭けるわけですから売上や払い戻しには影響を与えない)
例えば100円ずつ計500円を1000回、50万円賭けて、1000回やれば大数の法則が効きますので

1番が約333回、43290円の払い戻し
2番から5番が約666回、532800円の払い戻し
合計576090円の払い戻し。全然80%になりません。
私が「人気薄は買いすぎ、人気馬は買い足りない」と言ったのはそういうことです。

これを控除率20%(返金率80%)に正しく収束させるなら、売り上げ比率に合わせて馬券を買います。
1番を600円、2~5番を100円ずつ。1000円を1000回、100万円賭けて同様に1000回回すと

1番が333回、毎回600円賭けてるので259740円の払い戻し。
2番から5番はさっきと同じ532800円の払い戻し。
合計792540円。ほぼ80%になります。ズレは133円を130円として払い戻ししている分。

実際の競馬ではこんな、6回に1回来て8倍になる馬なんかいませんが
競馬のパリミュチュエル方式の払い戻し計算はすべてこうなっています。

「いいね!」 1

pre21さん、こんばんは。

自分は全くこの感じの話には自信ないのです。で、試しにCopilotに質問ぶつけてみました。

例えば競馬で単勝の控除率80%として全ての買い目を100円づつ買い続けたら回収率は80%に近づくの?

あっ、なるほど!今度は競馬の単勝の話ね。さっきのサイコロの話とはちょっと違って、「控除率80%(=回収率20%)じゃなくて、控除率20%(=回収率80%)」の意味で話してたんだね。了解!

:horse_racing: 競馬の単勝と控除率の関係

まず、競馬の単勝における「控除率20%」というのは:

  • 全体の賭け金のうち20%が主催者(JRAなど)に差し引かれ、残り80%が的中者に分配されるという意味。

  • つまり、理論的な回収率は80%

:light_bulb: すべての買い目を均等に買い続けたら?

たとえば、あるレースに10頭出走していて、全馬に100円ずつ単勝を賭けるとする(合計1,000円)。

  • どの馬が勝っても、その馬のオッズに応じた払い戻しがある。

  • でも、控除率20%がかかっているので、全体としては800円しか戻ってこないようにオッズが調整されている

つまり、どの馬が勝っても、期待値的には800円前後の払い戻しになるように設計されているんだ。

:white_check_mark: 結論:回収率は80%に近づく

はい、すべての買い目を均等に買い続けた場合、長期的には回収率は控除率に応じた値(この場合80%)に収束していきます

これは「期待値の法則」によるもので、運に左右されるのは短期的な話。長く続ければ続けるほど、控除率の影響が効いてきて、最終的には回収率80%に近づくというわけ。

これね、自分は特にってか、全く興味ない上に、数学的なとか統計的な話は得意ではないので、pre21さんの書き込みの真偽は全く分かりません。ちょいちょい騙された経験からもAIを信用出来るかも疑問です。ただ、pre21さんが信じる議論が正論ならOKです。自分には全く反論するすべはないので。ってか、若干どうでも良かったりします。ってのも、自分はその論点では馬券は買わないので。多分、自分が書いた部分が引っかかるので書かれたのだと思うので書かせて頂きました。

そもそも、自分には全くの根拠はないです。その昔の様々な話からそんな気がしてただけなのかも? それを書いただけで、pre21さんの書き込みを否定したつもりもなく、、逆にそう書かれてたのでそうなのかも?って書いただけです。 気分を害されたのでしたらごめんなさい。 自分には全く真偽は分からないので、本当にご容赦くださいね。

自分、真面目に統計学が得意じゃないので本当に理解出来ればと思ってはいるのですが、頭が追い付かないので断念してます。競馬には重要だとは思いながら、若い頃にもう少し努力してればとは思ってます。

追記
実はこの質問の前にpre21さんのサイコロの話もCopilotにしてたので文面がそんな感じになってますm(__)m

わかりやすい説明ありがとうございました。

たぶん、2番人気が一番返金率が高いと思います。80%は超える。
でももちろん100%には全然届きません。82%とかそんなもんですかね。

大まかに言って人気馬のほうが期待値高いんですが、1番人気は特殊な過剰人気
(白毛とか、女性ジョッキーがどうとか、超有名馬とか)が足を引っ張って
何番人気という議論だとおそらく2番人気が一番成績が良い。
あとは何番人気とか気にせず、例えばオッズ2.5倍以上の中で一番人気がある馬、とかにすると
期待値は高まります(しつこいですが100%には程遠いです)

Targetで簡単にできるでしょうから、2番人気に100円賭け続けてみてください。
80%は超えると思いますよ。
全馬均等だと、最初に書いていただいた通り72%とかそんなもんで合っていると思います。
下位人気が足を引っ張っています。下位は下位で過剰人気(その馬が好き、とか、一口馬主とか)
単勝100倍の馬に賭け続けて125回に1回くれば回収率80%ですが、そんなに来ません。

対話型AIは計算苦手ですね。前提条件を正確に書かないと期待した答えは返ってこないです。