trading: 日内T/长桥/六合彩文档与脚本 + quant-factor-mining 新目录

This commit is contained in:
2026-09-25 01:25:38 +08:00
parent 734b168082
commit 3f17a4eb1f
23 changed files with 1821 additions and 376 deletions
@@ -0,0 +1,81 @@
# Draws 表入库流程断点 (2026-08-13 发现)
## 🚨 问题
完整"开奖后核验"流程断在 2 处,需要 user/agent 手动介入:
| # | 位置 | 状态 |
|---|------|------|
| 1 | `draws` 表入库真开彩**只有手填命令** `python3 scripts/lottery_特码.py add <period> <special> <n1..n6>` | 2026-08-13 无自动抓 marksix6.com 脚本 |
| 2 | cron `lottery-draw-result` (22:00 北京) 跑错脚本 — 之前跑 `lottery_特码_cron.sh` (分析脚本, 重复产生 analysis 记录), 不跑 `verify_lottery.sh` (核验脚本) | 2026-08-13 已修 |
| 3 | `verify_lottery.sh` 找 Qi-1 期分析文件 — Qi→Nq 修复后, .md 现在都是 Nq 期 (未开下期), 22:00 跑时 Qi 已经是新一期, 应该找 Qi 期不是 Qi-1 | 2026-08-13 已修 |
## 修复 (2026-08-13)
### cron `lottery-draw-result` script 改
```bash
hermes cronjob update 668dcf3ec54d --script verify_lottery.sh
```
### `verify_lottery.sh` 改 Qi-1 → Qi
原来:
```bash
QI_NUM=$((10#$QI))
PREV_PERIOD=$((QI_NUM - 1))
ANALYSIS_FILE=$(grep -l "${PREV_PERIOD}期" ...)
```
现在 (2026-08-13):
```bash
# 改自 verify_lottery.sh: 2026-08-13 因 Qi→Nq 修复, 分析 .md 现在是 Nq 期 (未开下期),
# 不再是 Qi-1 期。verify 时 Qi 已经是新一期 (刚开), 分析文件应该是 Qi 期。
ANALYSIS_FILE=$(grep -lE "${QI}期" "$HOME/.hermes/cron/output/5bec1f60f77f/"*.md 2>/dev/null | tail -1)
```
## 仍未自动化: 抓真开彩
`draws` 表入库**没有自动脚本**, 仍需手填:
```bash
# 1. 21:30 后等 marksix6.com 出来, 用 browser 抓或 curl
# 2. 拿到 7 个号码: n1 n2 n3 n4 n5 n6 + special
# 3. 手填:
python3 ~/.hermes/skills/trading/lottery-hk/scripts/lottery_特码.py add 088 42 37 7 16 1 32 22
# 4. 这会自动: INSERT draws + reset 该 period analysis.actual_special=NULL + 跑 check_hits
```
**check_hits 流程** (自动):
- 查 `draws.special WHERE period = ?`
- 对该 period 所有 `actual_special IS NULL` 的 analysis 行, 算 hit=1/0 (special 在 Top 5 = 1)
- UPDATE analysis SET actual_special, hit
**为什么不自动抓**:
- marksix6.com 是 Vue SSR, 必须 browser_navigate, cron 跑 no_agent 模式不能 browser
- hkjc.com 被所有外部 browser agent 拦 (Browserbase / bet.hkjc.com / fonts 卡 30s+)
- v_xg.json Data.1-7 是 Qi 期真开彩 (上一期), 不是当期, **不能用于当期核验**
- sol.2344a.cc / 百度 都不显示真开
## 验证
```bash
# 模拟 22:00 cron 跑 (Qi=088 期已开, 087 期 analysis 已生成, 087 期 special 已 add):
bash ~/.hermes/skills/trading/lottery-hk/scripts/verify_lottery.sh
# 期望:
# ## 🎯 核验报告 | 088期
# ... (088 draws 表为空, exit 1 "❌ 期号 088 还没入库开奖结果")
# 或 (087 期 special=13 已入库):
# ### 实际开奖
# | 特码 | **13** |
# ### 预测 vs 实际
# **预测**: ...
# ### 命中分析
# - 特码 13: ❌ 未中 (or ✅ 中)
```
## 教训
1. **数据库写入必须有自动化路径** — `draws` 表只有手填, 流程被卡在 user 介入。下次加 `lottery_fetch_draw.sh` 用 no_agent + browser (browser-based scripts 在 no_agent 也能跑) 自动入库
2. **cron 配错脚本比 cron 配错参数更隐蔽** — `lottery-draw-result` 跑分析脚本不会报错, 因为 no_agent + script 模式下 `lottery_特码_cron.sh` 也是合法脚本。要定期 `hermes cronjob list` 校对每个 cron 的 `--script`
3. **Qi→Nq 修复有副作用** — 之前所有 .md 都是 Qi 期 (错的), verify_lottery.sh 找 Qi-1 还能匹配上; 修复后 .md 都是 Nq 期, verify 必须找 Qi 期。这种**隐式依赖期号语义的脚本**特别容易踩