← 归档索引 · 2026-10-15 15:59 · 量价训练-每日提醒
# Cron Job: 量价训练-每日提醒
**Job ID:** ea96f4ceec38
**Run Time:** 2026-10-15 15:59:55
**Schedule:** 30 15 * * 1-5
**Prompt Characters:** 3584
## Prompt
[IMPORTANT: You are running as a scheduled cron job. DELIVERY: Your final response will be automatically delivered to the user — do NOT use send_message or try to deliver the output yourself. Just produce your report/output as your final response and the system handles the rest. SILENT: If there is genuinely nothing new to report, respond with exactly "[SILENT]" (nothing else) to suppress delivery. [SILENT] is a literal ASCII control token — never translate or rephrase it, whatever language the rest of your answer uses. Never combine [SILENT] with content — either report your findings normally, or say [SILENT] and nothing more. FAILURE: If a delegated child fails and this cron run must be recorded as failed, put [CRON_FAILURE] on the first line by itself, then explain the child failure on following lines. RECURSION: This is a run of an EXISTING scheduled job — execute the task now. NEVER create or update a cron job because of recurring or future-schedule language in the task prompt below; treat phrasing like "each Monday" or "every day at 9" as context for this run, not as a request to schedule another job.]
## Output from job 'f06f0ff60f0c'
The following is the most recent output from a preceding cron job. Use it as context for your analysis.
```
# Cron Job: 进化简报-每日22:55(回测结果→明日校准)
**Job ID:** f06f0ff60f0c
**Run Time:** 2026-10-14 22:55:29
**Mode:** no_agent (script)
---
📈 进化简报 2026-10-14(窗口14天)
回测率: 100.0%(31/31 条近期判断已回测)
累计: 落账1603 已决1152 待决0
总命中: 48.4% [32~65%] n=31 (上期 19.4%) | 平均超额 +0.09pp
── 分方向 ──
看空 n= 17 命中 41.2% [22~64%] 超额+1.9pp ⚠️谨慎
中性 n= 8 命中 n不足·只给区间 [41~93%] 超额-0.7pp
看多 n= 6 命中 n不足·只给区间 [10~70%] 超额-4.1pp
── 来源可信度(n≥10 才列)──
✗ hermes_practice n= 11 18.2%
🔴 闭环部件停摆(该跑没跑 → 校准断链):
· 判据来源体检(超额制)
· 超额制全量重算
· 经验学习闭环
· 每日判断练习仪(老板10-05指定)
用法: 下判断前先看本简报 —— 上面✅的来源可以更信,✗的来源要打折;🔴停摆部件是系统盲区。
```
## Script Output
The following data was collected by a pre-run script. Use it as context for your analysis.
```
Collected 4 indices, 58 stocks → /tmp/daily_market_data.json
📊 因果基因
- 数据源: data_hub(指数/个股日线+资金流) → /tmp/daily_market_data.json + /tmp/three_heart_data.json 共享缓存
- 分析路径: 交易日门 → 采集当日三心法/大盘字段 → 写共享缓存 → 分发到各消费目录
- 判断: 缓存文件落盘且非空=ready;非交易日/采集失败=告警不写半截缓存
report_data_collector: data ready for agent
```
每日量价训练提醒:
1. 运行 `cd /home/ubuntu/stock_workspace && python3 vol_price_trainer.py --save` 对投资池内3只票做五问因果链分析
2. 输出今日训练结果(位置/量态/量价/主力/操作/模式)
3. 如果有7天前未验证的判断,运行 `python3 vol_price_trainer.py --verify` 验证
4. 简要汇报:今日训练几只,命中率趋势
注意:这是训练任务,目标是积累数据和提升判断能力,不是做交易推荐。
📊 因果基因(每次输出末尾必带,三要素从脚本真实行为取):
- 数据源: /tmp/daily_market_data.json + /tmp/three_heart_data.json(report_data_collector.sh 采集,带 is_trading_day 门);个股量价取自 data_hub 日线
- 分析路径: vol_price_trainer 五问链 Q1位置→Q2量态→Q3量价匹配→Q4主力意图→Q5操作建议 逐层作答并落库;--verify 用7日后真实走势回填此前判断算命中率
- 判断: 今日训练样本数 + 累计命中率趋势(升/降/持平)+ 未验证条数;数据未就绪或非交易日时明说跳过,不编造训练结果
## 产出规范(四性·应用性;2026-10-12 老板令「所有 cron 要有关联性/逻辑性/应用性」)
1. **判断落账(必做,除非本次无判断)**:凡产出含方向性判断(看多/看空/回避/中性 + 可核对的触发条件),必须落 judgment_ledger:source=量价训练-每日提醒、date、direction、horizon、trigger、falsify(可自动核对,不写「注意风险」这种空话)、judgment、reason([数据源][路径][判断] 三要素齐全,写入端拒收空件)。纯数据播报 → 跳过落账,并在报告里写明「本次无判断落账」。
2. **归档 IMA(强制,写完报告后必做)**:最终报告必须归档到 IMA(与 QQ 投递内容完全一致):
```
cat > /tmp/量价训练-每日提醒_$(date +%Y%m%d).md << 'REPORT_EOF'
[在此粘贴你的完整报告全文,一字不差]
REPORT_EOF
timeout 60 bash ~/.hermes/scripts/upload_stdin_to_ima.sh "量价训练-每日提醒_$(date +%Y%m%d)_完整版" < /tmp/量价训练-每日提醒_$(date +%Y%m%d).md >/dev/null 2>&1
```
归档成功后再输出最终报告(系统自动投递 QQ);归档失败在报告末尾标注「⚠️ 归档失败」。
3. **先数据后判断**:引用上方【数据摘要】的具体数字;数据段标了 [不可用] 就首行声明数据不全,禁止照常下结论。
**Response Characters:** 4367
## Response
# 量价训练 · 每日提醒 2026-10-15(周四)
**一句话**:今日训练 3 只、验证 3 条(命中 1);近 30 天命中率 **49.0%**(上期 50.0%,基本持平)。但拆开看——训练器「可参与」近 30 天 **21 条只中 1 条 = 4.8%**,我另实测出**验证基线错位一天**的口径缺陷并做了反事实重算,修完口径也只有 14.3%。**结论:「可参与/主力维护」信号当前不具备正向预测力,不得作为买入依据。**
---
## 1️⃣ 今日训练(`--save`,3 只,五问因果链)
| 代码 | 名称 | Q1 位置 | Q2 量态 | Q3 量价 | Q4 主力 | Q5 操作 | 模式 |
|:--|:--|:--|:--|:--|:--|:--|:--|
| 600183 | 生益科技 | 中位 36% | 正常 0.81x | 量价中性 | 在场(维护) 置信4 | 可参与 | 主力维护(可持续) |
| 000712 | 锦龙股份 | 中位 34% | 放量 1.93x | 放量上涨(健康) | 在场(维护) 置信4 | 可参与 | 主力维护(可持续) |
| 000981 | 山子高科 | 低位 15% | 缩量 0.66x | 缩量下跌(洗盘可能) | 不明 置信2 | 观望 | 无明确模式 |
**数据口径(重要)**:data_hub 日线最新交易日 = **2026-10-14**(今天 10-15 的 K 线 15:30 尚未入库),所以上表吃的是 **10-14 收盘**数据:600183 收 119.63(-2.37%)、000712 收 10.02(+1.93%,量 76.2 万手为近 5 日最大)、000981 收 2.53(-3.44%,量较前日续缩)。
## 2️⃣ 今日验证(`--verify`,3 条,全部来自 2026-10-08)
| 判断 | 操作 | 3 日实际 | 结果 |
|:--|:--|:--|:--|
| 688419 耐科装备 | 可参与 | -3.26% | ❌ |
| 600345 长江通信 | 可参与 | -5.90% | ❌ |
| 603938 三孚股份 | 观望 | -6.11% | ✅ |
**命中 1/3 = 33.3%(🔴 需加强)**。注意第 3 条不是"判断对了":`score_hit` 对「观望」恒返回 True(空仓不算错,`vol_price_trainer.py:1747`),跌 6.11% 也记命中 —— 观望类命中率是口径产物,不能当准确率证据。
**积压**:待验 15 条,**无 >7 天积压**;下一批 10-09 的 3 条 10-16 到窗。
## 3️⃣ 命中率趋势(`--stats`,近 30 天)
- 总判断 49 → 命中 24 = **49.0%**(上期 10-14 统计 48/24 = 50.0%,**持平 -1.0pp**)
- **分动作**:可参与 21 条 → 1 中 **4.8% 🔴** | 观察 6 条 → 1 中 16.7% 🔴 | 观望 22 条 → 22 中 100% 🟢(恒命中口径)
- **分模式**:主力维护(可持续) 27 条 → 2 中 **7.4% 🔴** | 无明确模式 22 条 → 100% 🟢
- **分置信**:置信4 (21 条) **4.8%** | 置信3 (6 条) 16.7% | 置信2 (22 条) 100% —— **置信最高的反而最差**
- **可操作口径**(观望移出分母后 21 条):均值 **-5.94%/笔(3 日)**,盈亏比 1.0:1,赢家 +6.37% (n=1) / 输家 -6.56% (n=20)
- 全量:77 条 / 已验 62 / 命中 34 = **54.8%**
## 4️⃣ 判断落账(judgment_ledger,本次 6 条,已回读验证)
- **今日 3 条**:id **2378** 600183 看多 / **2379** 000712 看多 / **2380** 000981 中性(horizon 3 日,trigger+falsify+reason 三要素齐全)
- **补账 3 条(10-14)**:id **2381** 601869 看多 / **2382** 000001 看多 / **2383** 603938 中性 —— 昨日该 job 被 HTTP 429 打断,判断进了 `vp_judgments` 但台账漏落,按当日实跑原值回填,**未改判**
- 回读校验:6 条 reason 长度 174~293、falsify 48~115 字符,**今日拒收 0 条**(`judgments_rejected` 无新增)
## 5️⃣ 三个发现(前端只读,本次未改任何代码)
### 🔴 A. 「可参与」信号不合格 —— 本报告最该记住的一条
- **数据**:近 30 天可参与 21 中 1 = 4.8%;模式「主力维护」27 中 2 = 7.4%;置信 4 = 4.8%;期望 **-5.94%/笔**(输家 -6.56% × 20 笔)。
- **反面问自己**:是不是验证口径冤枉了它?→ 见 B,把口径修对也只有 **14.3% (n=21)**,仍不合格。
- **判断**:**在 3 日胜率回到 ≥55% 之前,训练器的「可参与/主力维护」不得作为买入依据**(与 10-12 落账 id 2031 同一判断,尚未被证伪;证伪条件:未来 30 天该信号 3 日胜率 ≥55%)。训练用途照常,交易用途冻结。
### 🟡 B. 验证基线错位一天(今天实测,代码链没覆盖到的缺陷)
- **链条**:`--save` 固定 15:30 跑 → data_hub 当日 K 线未入库 → 分析吃的是 **T-1 收盘**(实证两条:10-13 那轮台账原话"最新交易日 2026-10-12,10/13 收盘未入库";今天实查三票末行均为 20261014)→ 但 `verify`(`vol_price_trainer.py:1794-1810`)拿**判断日 T 的收盘**当基线。
- **后果 1**:信号后的第一个反应日 **T-1→T 被排除在打分之外**。
- **后果 2**:**同一判断的命中结论取决于验证当天数据是否入库** —— 现在跑回退到 10-14 作基线,明天跑就变成 10-15,非确定性打分。
- **反事实重算**(62 条已验,基线换成分析真正用的数据日):总命中 **54.8% → 64.5%**(10/62 条结论翻转);近 30 天 **49.0% → 57.1%**;可参与 **4.8% → 14.3%**;观察 16.7% → 50.0%;观望不变 100%。
- **判断**:口径让成绩**显得更差**,但它**不是** 4.8% 的根因(修好也只有 14.3%)。建议后端把基线钉死在「判断日-1 自然日之前的最近交易日」,本次只报告不改(前端只读)。
### 🟡 C. `--pattern-lib` 参数直接崩溃
`vol_price_trainer.py:1982` → `KeyError: 'price特征'`(print 取 `info['price特征']`,模式库里没这个键),该参数完全不可用。非本任务必跑路径,未修。
### ⚪ D. 昨日断链(已补账)
10-14 15:37 本 job 因 **HTTP 429** 失败(`cron_incidents` ea96f4ceec38,state=alerted 至今未关闭),当日报告未产出、IMA 未归档、台账未落 → 今日补账 3 条;报告与 IMA 无法回补(判断数据仍可从 `vp_judgments` 读回)。
---
## 📦 归档(已回读校验)
- 归档方式:`upload_stdin_to_ima.sh` → IMA 爱马仕库(KB `1KZpJT2xXT9P…`),标题 **量价训练-每日提醒_20261015_完整版**;上传 **rc=0**,`/tmp/ima_archive_errors.log` 无失败记录。
- **回读校验(真接口 `get_knowledge_list` 递归翻页,逐层 0 漏页)已命中本标题**,media_id 存在;本地镜像 `_index.json` 停在 2026-10-10,故查不到本次条目(不是失败)。
- 说明:本报告上传过程中有一版把回读方式误写成 `_index.json`、并把回填行号写错过,均已更正后重传,库内可能留有同名旧版,**以时间最新一条为准**。
📊 **因果基因**
- **数据源**:`/tmp/daily_market_data.json` + `/tmp/three_heart_data.json`(report_data_collector.sh 采集,带 is_trading_day 门,15:31 落盘 8220B);个股量价取自 data_hub 日线(末交易日 2026-10-14);训练落 `data/vol_price_training.db`(vp_judgments 77 条),台账落 `data/judgments.db`(judgments 1632+6)
- **分析路径**:`vol_price_trainer.py --save` 五问链 Q1位置→Q2量态→Q3量价→Q4主力→Q5操作逐层作答入库(vp_judgments id 79-81) → `--verify` 以 `score_hit` 用 3 日真实走势回填 vp_judgments id 64-66(均为 10-08 判断,`verify_date=2026-10-15`)→ `--stats` 近 30 天分动作/模式/置信度 → 反事实脚本重算基线错位影响 → `save_judgment` 落台账 6 条并回读
- **判断**:今日训练 3 条(可参与2/观望1)、验证 3 中 1;累计命中率**持平**(50.0%→49.0%,全量 54.8%);待验 15 条、>7 天积压 0;核心结论=「可参与」4.8% 不合格 + 验证基线错位一天(修口径仅到 14.3%),均含可核对的证伪条件。