尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗A paper-betting experiment on NBA, NHL and NFL games. It asks one question: does an AI analyst add anything beyond what the betting market already knows?
Four portfolios bet the same games at the same flat stake (shown as $10 on the dashboard), always using real prices from The Odds API:
| Portfolio | What it does |
|---|---|
market_ev | Line shopping: bets the best US-book price when its EV against Pinnacle's de-vigged fair line is at least 2.5%. No AI. |
ai_analyst | Gemini Flash adjusts the market's fair moneyline probability (by 5 points at most) using ESPN injury reports, records and back-to-backs. Code computes EV and bets when it's at least 3%. |
baseline_fav | Control: always bets the moneyline favorite. |
baseline_random | Control: bets a seeded coin-flip side. |
Results are scored on ROI, closing line value (CLV), and for the AI, a Brier score against the market's own probabilities.
| Workflow | When | What |
|---|---|---|
daily.yml | 9 overnight attempts; the first waits until 8:30 AM ET | Grades finished games from ESPN's scoreboard, snapshots odds for leagues playing that day, runs every portfolio, publishes the dashboard |
snapshot.yml | 9 daytime attempts; the first waits until 4:45 PM ET (and 12:30 PM Sundays) | Moneyline snapshot near game time for CLV, then publishes the dashboard |
grade.yml | :07 and :37 past each hour, 1pm-2:30am ET | Grades finished games from ESPN (no odds credits) and republishes when anything changed |
pages.yml | Push to web/ | Republishes the dashboard |
sportpredict (db/001_init.sql).web/ that reads data.json, which sportpredict.jobs.export writes on every run. Hosted on GitHub Pages..env): DATABASE_URL, ODDS_API_KEY, GEMINI_API_KEY.pip install -r requirements.txt
pytest -q tests
python -m sportpredict.jobs.daily # ~3 Odds API credits per league with games that day
python -m sportpredict.jobs.export site/data.json && cp web/* site/ && python -m http.server -d site
GitHub starts scheduled jobs anywhere from minutes to ~6 hours late, so picks and snapshots are scheduled many times. The first attempt to start waits (sportpredict/jobs/gate.py) until the target time and runs the job; the rest find it done and exit without spending credits. Run workflow starts a job immediately; tick force to repeat one that already ran.
The free tier gives 500 credits a month. Grading uses ESPN (free), and a free events check skips leagues with no games, so odds are only bought on game days: about 3 credits per league per game day, plus 1 per league for each CLV snapshot. NBA + NHL + NFL comes to roughly 300 a month.
predictions.runs.sportpredict/config.py. Give each setup 300 graded bets before judging it.