Q4-Under-after-3-Overs backtest + quarter-totals experiment specs - #14
Closed
Manimall wants to merge 2 commits into
Closed
Q4-Under-after-3-Overs backtest + quarter-totals experiment specs#14Manimall wants to merge 2 commits into
Manimall wants to merge 2 commits into
Conversation
Phase 1 бэктеста гипотезы «3 ТБ подряд (Q1-Q3) → Q4 ТМ» на CBA. Вердикт: NO-GO. Против прокси-линии total_line/4 ROI выглядит +28..50%, но это артефакт базовой просадки Q4 (безусловный P(Q4 ТМ) = 64%), а не сигнал: прирост от условия «3 ТБ» ~0 пп (средний Q4 после 3 ТБ = 41.73 vs без = 41.88). Единственный рычаг к ~60% — блоуаут (margin перед Q4 >= 20), но против пре-матч линии; живой бук отрыв видит → нужен Phase 2 с реальными четвертными линиями. Скрипт содержит защиту от самообмана (в отличие от исходного ТЗ): свип сдвига вместо магического числа, печать базовой ставки рядом с условной (эдж = прирост), опция cross-season. - scripts/test_4q_pattern.py — бэктест (чистые функции + sync-загрузка из БД) - tests/test_4q_pattern.py — 5 юнит-тестов логики паттерна (без БД) - docs/experiment_*.md — спеки трёх четвертных экспериментов + Phase 2 - docs/results_q4_under_after_3_overs.md — разбор NO-GO Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
scripts/export_3over_q4_matches.py выгружает все матчи CBA, где Q1-Q3 зашли ТБ (против total_line/4), с результатом Q4. Артефакт-доказательство под docs/results_q4_under_after_3_overs.md. results/cba_3over_q4_matches.csv: 71 матч, из них 48 (67.6%) Q4 ТМ, 23 ТБ. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Owner
Author
|
Закрыт: гипотеза '3 ТБ подряд -> Q4 ТМ' не подтвердилась. На чистой выборке FIBA-лиг сезона 25/26 (n=728) P(Q4 ТМ | 3 ТБ) = 49.2% (база 52.9%, lift -3.7 пп), ниже порога безубытка 52.6%. CBA-шные 67.6% оказались выбросом на n=71. Причина: высокий темп персистентен (corr H1/H2 = +0.27), а не регрессирует. Код и результаты остаются в ветке feat/q4-under-after-3-overs-backtest. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Что это
Phase 1 бэктеста гипотезы «3 ТБ подряд (Q1–Q3) → Q4 ТМ» на CBA (445 матчей, сезон 25/26) + спеки серии четвертных экспериментов.
Вердикт: NO-GO по паттерну
Против прокси-линии
total_line/4ROI выглядит +28…+50% — но это артефакт базовой просадки Q4, а не сигнал:P(Q4 ТМ)против/4P(Q4 ТМ | 3 ТБ)Единственный рычаг к ~60% ТМ — блоуаут (margin перед Q4 ≥ 20), но против пре-матч линии; живой бук отрыв видит → проверка в Phase 2 на реальных четвертных линиях.
Защита от самообмана (сверх исходного ТЗ)
--cross-season(в CBA пока 1 сезон → нельзя, честно отмечено).Состав
scripts/test_4q_pattern.py— бэктест (чистые функции + sync-загрузка из БД)tests/test_4q_pattern.py— 5 юнит-тестов логики (без БД), зелёные + ruff чистdocs/experiment_*.md— спеки Q1-Over, Q4-просадки, Q4-ТМ-после-3ТБ, Phase 2docs/results_q4_under_after_3_overs.md— разбор NO-GOПроверка
ruff check✅ ·pytest tests/test_4q_pattern.py→ 5 passed ✅ · прогон на CBA выполнен.🤖 Generated with Claude Code