Long Run Club
Our marathon training leaderboard.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 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.