betting について
bettingは、オッズと賭けの確率を分析するスキルです。オッズ変換、控除率の除去、期待値や裁定機会の計算を行いますが、オッズ自体の取得は行いません。
主な機能
- 01アメリカン、デシマル、確率形式の変換
- 02オッズから控除率を除去
- 03優位性、期待値、賭けの評価
- 04裁定機会の検出
- 05パーレーとライン変動の分析
活用シーン
- 01ブックメーカーと予測市場の価格比較
- 02複数ソースの価格から裁定機会を確認
- 03パーレーの確率と価値を評価
- 04開始時と終了時のオッズ変化を分析
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ machina-sports/ sports-skills --skill bettingインストール後、Claude Code で/bettingを入力して読み込まれたか確認します。
同梱ファイルreferences/api-reference.md
詳細
ベッティング分析
クエリを作成する前に、オッズ形式、コマンドのパラメーター、主要な概念について references/api-reference.md を参照してください。
クイックスタート
sports-skills betting convert_odds --odds=-150 --from_format=american
sports-skills betting devig --odds=-150,+130 --format=american
sports-skills betting find_edge --fair_prob=0.58 --market_prob=0.52
sports-skills betting evaluate_bet --book_odds=-150,+130 --market_prob=0.52
sports-skills betting find_arbitrage --market_probs=0.48,0.49
sports-skills betting parlay_analysis --legs=0.58,0.62,0.55 --parlay_odds=600
sports-skills betting line_movement --open_odds=-140 --close_odds=-160
Python SDK:
from sports_skills import betting
betting.convert_odds(odds=-150, from_format="american")
betting.devig(odds="-150,+130", format="american")
betting.find_edge(fair_prob=0.58, market_prob=0.52)
betting.find_arbitrage(market_probs="0.48,0.49")
betting.parlay_analysis(legs="0.58,0.62,0.55", parlay_odds=600)
betting.line_movement(open_odds=-140, close_odds=-160)
重要:分析を始める前に
重要:分析コマンドを呼び出す前に、以下を確認してください。
- オッズ形式が正しく識別されている(american、decimal、または probability)。
- 予測市場の価格と比較してエッジを計算する前に、ESPN のオッズに
devigを適用している。 - このモジュールは計算を行いますが、データは取得しません。まず、スポーツ別スキルまたは polymarket/kalshi からオッズを取得してください。
ワークフロー
ESPN と Polymarket/Kalshi の比較
- ESPN のマネーラインオッズを取得します(例:
nba get_scoreboardを使用):ホーム:-150、アウェイ:+130 - 同じ結果に対する Polymarket/Kalshi の価格を取得します(例:ホームが
0.52) - デビグ:
devig --odds=-150,+130 --format=american→ フェア確率:ホーム 57.9%、アウェイ 42.1% - 比較:
find_edge --fair_prob=0.579 --market_prob=0.52→ エッジ:5.9%、EV:11.3% - または、すべてを一度に実行します:
evaluate_bet --book_odds=-150,+130 --market_prob=0.52
アービトラージの検出
- 異なるソースから各結果の最良価格を取得します(ホームの Polymarket が 0.48、アウェイの Kalshi が 0.49)
find_arbitrage --market_probs=0.48,0.49 --labels=home,away- 合計インプライド確率は 0.97(< 1.0)→ アービトラージが見つかりました。保証 ROI:3.09%
パーレーの評価
- 各レッグにデビグを適用します:レッグ 1 → 0.58、レッグ 2 → 0.55、レッグ 3 → 0.50
parlay_analysis --legs=0.58,0.55,0.50 --parlay_odds=600- 合算したフェア確率、エッジ、ケリー比率が返されます
ラインムーブメントの分析
- ESPN のオープンラインとクローズラインを取得します:オープン -140、クローズ -160
line_movement --open_odds=-140 --close_odds=-160- 確率の変化、方向、分類(sharp_action、steam_move など)が返されます
例
例 1:ESPN と Polymarket の価格を使ったエッジの確認
ユーザーの発言:「レイカーズの試合にエッジはありますか? ESPN は -150、Polymarket は 52 セントです」
アクション:
devig(odds="-150,+130", format="american")を呼び出します → ホームのフェア確率は約 58%find_edge(fair_prob=0.58, market_prob=0.52)を呼び出します → エッジは約 6%、EV はプラスkelly_criterion(fair_prob=0.58, market_prob=0.52)を呼び出します → 最適なベット比率
結果:エッジの割合、1 ドルあたりの EV、推奨ベット額をバンクロールに対する割合で提示します
例 2:アービトラージ機会の検出
ユーザーの発言:「これでアービトラージできますか? Polymarket はホームが 48 セント、Kalshi はアウェイが 49 セントです」
アクション:
find_arbitrage(market_probs="0.48,0.49", labels="home,away")を呼び出します- 結果の
arbitrage_foundを確認します
結果:アービトラージが見つかった場合は、配分率と保証 ROI を提示します。見つからなかった場合は、オーバーラウンドを提示し、利益が保証されない理由を説明します
例 3:パーレーの評価
ユーザーの発言:「この +600 の 3 レッグパーレーは価値がありますか?」
アクション:
- 各レッグにデビグを適用してフェア確率を求めます(例:0.58、0.62、0.55)
parlay_analysis(legs="0.58,0.62,0.55", parlay_odds=600)を呼び出します
結果:合算したフェア確率、エッジ、EV、+EV または -EV の判定、ケリー比率を提示します
例 4:ラインムーブメントの解釈
ユーザーの発言:「ラインが -140 から -160 に動きました。これはどういう意味ですか?」
アクション:
line_movement(open_odds=-140, close_odds=-160)を呼び出します
結果:確率の変化、方向、変動幅、分類(sharp action、steam move など)を提示します
例 5:標準的なスプレッドのデビグ
ユーザーの発言:「このスプレッドの実際のオッズはいくつですか? 両サイドとも -110 です」
アクション:
devig(odds="-110,-110", format="american")を呼び出します
結果:各サイドのフェア確率を 50%、控除率を約 4.5% として提示します
例 6:オッズ形式の変換
ユーザーの発言:「-200 をインプライド確率に変換してください」
アクション:
convert_odds(odds=-200, from_format="american")を呼び出します
結果:インプライド確率 66.7%、デシマルオッズ 1.50 として提示します
存在しないコマンド — 絶対に呼び出さないでください
— 存在しません。このモジュールはオッズを分析しますが、取得はしません。ESPN のオッズには nba-data/nfl-data などを、予測市場の価格には polymarket/kalshi を使用してください。get_odds— 存在しません。代わりにcalculate_evfind_edgeまたはevaluate_betを使用してください。— 存在しません。プラットフォーム間の比較にはcompare_marketsmarketsスキルを使用してください。
references/api-reference.md に記載されていないコマンドは存在しません。
トラブルシューティング
エラー:convert_odds の呼び出し時に ValueError: unknown format が発生する
原因:from_format パラメーターが american、decimal、probability のいずれでもありません
解決策:書式文字列には american、decimal、probability のいずれかを正確に指定してください
エラー:プラスのエッジが予想されるのに、find_edge が負の EV を返す
原因:フェア確率と市場確率が逆になっているか、デビギングが実行されていない可能性があります
解決策:まずスポーツブックのオッズに devig を実行し、その後、デビギング済みの fair_prob を find_edge に渡してください
エラー:価格が低く見えるのに、find_arbitrage がアービトラージを検出しない
原因:すべてのアウトカムを正しく含めると、価格の合計が 1.0 を超えている可能性があります
解決策:すべてのアウトカムについて正しい確率を使用していることを確認し、結果の total_implied を確認してください
エラー:ケリー比率が非常に高い(0.5 超)
原因:エッジの推定値が非常に大きくなっています。フェア確率の計算ミスが原因であることがよくあります
解決策:保守的な賭け金の設定には、ハーフケリーまたはクォーターケリーを使用してください。devig でフェア確率を再確認してください