Skip to content

Issue #1: 芦屋研究コアと2連単strategy sandboxを追加 - #2

Merged
yo4e merged 6 commits into
mainfrom
codex/issue-1-core
Jul 27, 2026
Merged

Issue #1: 芦屋研究コアと2連単strategy sandboxを追加#2
yo4e merged 6 commits into
mainfrom
codex/issue-1-core

Conversation

@yo4e

@yo4e yo4e commented Jul 27, 2026

Copy link
Copy Markdown
Owner

概要

Issue #1 の非UI研究コアを実装し、その後に承認されたresearch hardening、Work package 0、Turnmark限定2連単strategy sandboxまでを、再現可能な研究基盤としてまとめます。

Closes #1

できるようになったこと

  • Turnmark API原本をSHA付きで取得・cacheし、芦屋(場コード 21)だけをschema v3へ正規化
  • 3連単120通りの平滑化枠番頻度モデル、期待値ranking、PASS / SKIP_DATA
  • 人間向け・JSONのCLI出力
  • 結果を見る前に候補を固定する時系列backtest
  • 2連単30通りのprogram Plackett–Luce、市場確率blend、single / dutch固定予算portfolio
  • 全試行、fingerprint、月別・開催節別結果、bootstrap区間のresearch ledger
  • Python 3.9 / 3.14 GitHub Actions CI
  • MIT License

UI、当日予想、realtime odds、自動投票、アカウント・資金操作は含みません。

確率モデルと未来情報境界

Issue #1の3連単基準モデル

P(c) = (count(c) + α) / (N + 120α)
α = 1

予測日より前のclean raceだけを学習し、programの場・枠番以外を確率特徴へ入れません。preview、odds、結果、払戻、決まり手、結果側STは使用しません。

2連単retrospective sandbox

program特徴Plackett–Luceを、α=1の2連単枠番頻度baselineとouter 4foldで比較しました。補完・標準化・L2選択は各評価foldより過去の学習・inner validationだけで行います。

Turnmarkのprogram snapshotとoddsは観測時点を証明できないため、この経路は retrospective / non-actionable に限定し、確認的性能や実購入可能な成績とは扱いません。

使用データ

  • Turnmark監査基準commit: 34a3b0a15c0e221a71464bcd86b572c4b28f90a7
  • 期間: 2026-01-01〜2026-07-23(連続204日)
  • 芦屋: 107開催日、1,284レース
  • 3連単clean cohort: 1,183レース
  • 2連単clean probability cohort: 1,184レース
  • 全30正oddsかつ歴史精算可能: 1,265レース

Turnmark oddsは historical_snapshot_time_unknown で、「締切」「最終」「前夜」と断定しません。

バックテスト結果

利益保証ではなく、悪い結果も正式記録として残します。

3連単fixed split

  • 21,269点、54的中
  • 回収率: 0.8219
  • 損益: -378,760円
  • 最大drawdown: 825,540円

閾値pseudo-holdoutで選んだ8.00は次期間に1,573点・的中0・回収率0.0210となり、検証期間の高配当1件へ適合した結果でした。

2連単strategy sandbox

  • program log loss 2.6906、頻度baseline 2.8001
  • 4fold中3fold改善、Gate Sはretrospective signal candidate
  • 市場log lossは2.4999でprogramより良く、全foldでblend λ=0(市場100%)
  • program single: 回収率0.3112、損益 -506,300円、最大DD 524,000円
  • program dutch: 回収率0.6081、損益 -288,070円、最大DD 307,920円
  • blend single / dutch: 全PASS、購入0
  • dutch回収率の開催節bootstrap 95%区間: 0.4590〜0.7719

dutchはsingleより下方リスクを改善しましたが、収益候補ではありません。

検証

  • PYTHONPATH=src:. python3 -m unittest discover -s tests -v
    • 138 tests: OK
  • PYTHONPATH=src:. python3 -m compileall -q src scripts tests
    • OK
  • git diff --check
    • OK
  • GitHub Actions(Python 3.9 / 3.14)
  • 3系統のread-only統合監査
    • schema / settlement
    • program model / chronological split
    • portfolio / protocol / safety boundary
    • 修正後blocking findingなし

Issue #1 完了条件

  • 実データに基づくdata contract
  • 取得・cache・正規化
  • 3連単120通りの基準確率モデル
  • 確率和1
  • odds結合と期待値ranking
  • 任意の過去芦屋raceをCLIから実行
  • 人間向け・machine-readable出力
  • 最小時系列backtest
  • automated tests
  • READMEのsetup / run手順
  • 仮定・限界・期間・未確認事項の文書化
  • HANDOFF更新

未解決の境界

  • Gate P: historical programの確認的利用はNo-Go
  • Gate D: 採用可能なtimestamp付きpre-close odds源なし
  • Gate U: locked future Turnmark replicationは未承認
  • 公式翌日番組LZH: 将来prospective候補としてHold、未収集
  • 次の判断までは追加閾値・特徴・賭式探索、UI、当日利用、自動投票へ進まない

主な記録

  • docs/DATA_CONTRACT.md
  • docs/TURNMARK_STRATEGY_SANDBOX.md
  • experiments/turnmark_exacta_strategy_sandbox_v1.json
  • docs/HANDOFF.md

@yo4e
yo4e merged commit d5cb031 into main Jul 27, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Phase 1: 芦屋3連単の期待値ランキング・コアを実装する

1 participant