← 归档索引 · 2026-10-29 23:47 · 信号纵向跟踪+反馈闭环-23:15(原23:30并入·2合1)
# Cron Job: 信号纵向跟踪+反馈闭环-23:15(原23:30并入·2合1)

**Job ID:** c85cc7fd1251
**Run Time:** 2026-10-29 23:47:06
**Schedule:** 15 23 * * 1-5

**Prompt Characters:** 7492
## Prompt

[IMPORTANT: The user has invoked the "script-output-integrity" skill, indicating they want you to follow its instructions. The full skill content is loaded below.]

---
name: script-output-integrity
description: 消费预跑脚本注入的数据时加载。先判数据真假再分析,识别假成功/降级/空段并标注完整度。
version: 1.0.0
author: Hermes Agent
license: MIT
category: fugui
tags: [data-integrity, silent-failure, consumer-side, cron]
metadata:
  hermes:
    tags: [data-integrity, silent-failure, consumer-side, cron]
    related_skills: [silent-failure-defense, pan-gan-signals]
---

# 消费脚本输出 —— 先判真假,再分析

> 面向**读**注入数据的人(分析 cron),不是**写**脚本的人。
> 建造侧(怎么写不产生假成功)看 `silent-failure-defense`。

## When to Use

```
□ prompt / 上下文里出现「预跑脚本输出」「Script Output」「以下数据由预跑脚本采集」
□ 要用脚本采集的数据做判断、写报告
□ 某段数据看起来"有内容"但可疑(一行字样、空段、括号里的说明)
```

## 铁律:数据段先过完整性,再进入分析

**禁止把「缺失/降级」当作「正常数据」分析。** 缺失要标注,不要脑补。

### 识别清单(按严重度)

| 形态 | 真实含义 | 动作 |
|---|---|---|
| `xxx.sh: timeout` | **该段根本没跑**(不是"超时所以没数据")。典型是 `timeout N cd` 类缺陷 | 该段判为【零数据】,禁用其做主力判断 |
| `failed to run command '...'` | 内建命令被 timeout 包住 → 整段从未执行 | 同上 |
| `Traceback` / `ModuleNotFoundError` | 该段完全不可用 | 同上 |
| `❌<名> 失败(rc=N)` | 该段采集失败(已诚实上报) | 标注缺失,相关结论降级 |
| `(xxx不可用)` / `[超时]` / `数据采集失败` | 降级标记,段落内容为空 | 标注缺失 |
| `[SILENT]` | 无内容(合法语义:无异常/无新增) | 不要当数据,也不要当错误 |
| 空段 / 只有标题 | 采集为空 | 标注缺失 |
| 接口**无报错返回空 DataFrame** | 路由瞬时降级(非"今天无数据") | 重试一次再定性;仍空 → 判缺失 |

> 实测(2026-09-28 12:05):`data_hub.get_realtime_quotes(8 codes)` 一次返回 0 行**且不抛异常**,同一批码 30 秒后重跑全部正常 → 是瞬时静默降级。
> 判据:**空/无异常 ≠ 无数据;先重试,再定性**。消费侧把"空"当"没有"会导致整段结论凭空消失。

### 必须做的三件事

```
1. 报告开头标注完整度:「数据完整度: N/M 段可用」,缺失段逐条列名
2. 缺失段对应的结论 → 标注「基于间接推理 / 置信度降级」,不得伪装成实测
3. 禁止:用缺失段当论据;用"数据暂缺"当结论;脑补缺失段的内容
```

### 反面案例(实测,2026-09-11)

```
## Script Output
【午间扫描 | 2026-09-11 12:00】
midday_scan.sh: timeout        ← 整块市场数据就是这一行假的
【心法扫描 | 2026-09-11 12:00】
════ Phase 0: 板块主力方向 ════
```

该报告被连续数周当成正常午间分析发出,AI 拿着这行假消息当市场数据做判断。
**根因:消费侧没有"先判真假"这一步。**

### 一句话判据

**看到数据段,先问「这段是真的吗」,再问「这段说明什么」。**
顺序反了,后面全废。

The user has provided the following instruction alongside the skill invocation: [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-29 22:55:59
**Mode:** no_agent (script)

---

📈 进化简报 2026-10-29(窗口14天)
  回测率: 100.0%(376/376 条近期判断已回测)
  累计: 落账2527 已决1845 待决0
  总命中: 49.9% [45~55%] n=379 (上期 50.9%) | 平均超额 +0.06pp
  ── 分方向 ──
    回避     n=180 命中 54.4% [47~62%] 超额-0.1pp
    看空     n= 63 命中 38.1% [27~50%] 超额+1.2pp ⚠️谨慎
    中性     n= 60 命中 60.0% [47~71%] 超额-0.8pp ★可信
    看多     n= 54 命中 44.4% [32~58%] 超额+0.0pp ⚠️谨慎
    观察     n= 20 命中 35.0% [18~57%] 超额+1.5pp ⚠️谨慎
  ── 来源可信度(n≥10 才列)──
    - 四维扫描                           n=175 51.4%
    - 节点转折+ftshare扫描-21:45           n= 33 54.5%
    ✗ 量价训练-每日提醒                      n= 24 33.3%
    - 盘中-1130午盘                      n= 23 47.8%
    ✗ 龙头融合+确认链-21:40                 n= 20 40.0%
    ✗ good_position_scanner          n= 20 35.0%
    ✗ 晚间统一扫描-21:30                   n= 12 25.0%
    ✓ 盘中-1400午后                      n= 11 63.6%
  ⚪ 未排期部件(2026-10-17 裁决: jobs.json 里 0 个 cron,不计入停摆;恢复=先排期再移回 LOOP_PARTS):
     · 超额制全量重算
     · 经验学习闭环
     · 每日判断练习仪(老板10-05指定)
  用法: 下判断前先看本简报 —— 上面✅的来源可以更信,✗的来源要打折;🔴停摆部件是系统盲区。
```

## Script Output
The following data was collected by a pre-run script. Use it as context for your analysis.

```
=== 信号纵向跟踪 ===
验证/回填: 159条
更新193条
信号总数: 212 | 已完整验证(T+20齐): 54 | 跟踪中(未到T+20): 158

          类型   数量    T+5命中    T+5均值
----------------------------------------
    breakout    9  1/9=11%    -5.2%
      launch  100 20/86=23%    -6.9%
  pre_launch  103 29/95=31%    -3.3%

最近信号:
  2026-10-28 赢时胜(300377.SZ) T5=- -
  2026-10-28 赢时胜(300377.SZ) T5=- -
  2026-10-27 君实生物(688180.SH) T5=- -
  2026-10-27 恒烁股份(688416.SH) T5=- -
  2026-10-27 北京君正(300223.SZ) T5=- -
  2026-10-27 普冉股份(688766.SH) T5=- -
  2026-10-27 兆易创新(603986.SH) T5=- -
  2026-10-27 兆易创新(603986.SH) T5=- -
信号纵向跟踪报告
============================================================
总计: 916只 | 命中(T+5>2%): 161只 命中率18% | 平均T+5=-3.1%

来源                     数量    命中率    平均T+5   平均T+20
--------------------------------------------------
  low_launch          597    16%    -4.0%   -15.3%
  dragon_preselect    296    19%    -1.7%   -12.2%
  pre_launch           19    32%    +1.1%    -5.2%
  launch                3    33%    -0.7%    -4.0%
  breakout              1     0%    -4.0%   -11.7%

板块                 数量    命中率    平均T+5
----------------------------------------
  半导体             285    17%    -5.4%
  电气设备             49     6%    -5.4%
  汽车配件             43    16%    -2.6%
  通信设备             39    18%    -2.6%
  化工原料             38    11%    -3.9%
  生物制药             37    14%    -3.7%
  中成药              31    23%    -0.2%
  家用电器             27    30%    -1.3%
  元器件              26    19%    -3.0%
  塑料               24    21%    -1.5%

趋势: 最近7天命中率16% vs 之前18% ↓下降
=== 参数反馈 ===
{
  "pre_launch": {
    "hit_rate": 31.6,
    "count": 19,
    "avg_t5": 1.09
  },
  "launch": {
    "hit_rate": 33.3,
    "count": 3,
    "avg_t5": -0.7
  },
  "breakout": {
    "hit_rate": 0.0,
    "count": 1,
    "avg_t5": -4.04
  },
  "dragon_preselect": {
    "hit_rate": 19.3,
    "count": 296,
    "avg_t5": -1.74
  },
  "low_launch": {
    "hit_rate": 16.2,
    "count": 597,
    "avg_t5": -3.97
  }
}

📊 信号反馈日报(原23:30 并入本段)
记录11个新信号 | 验证/回填169条历史信号
──────────────────────────────
  pre_launch_5日: 29/95 = 31%
  pre_launch_10日: 20/74 = 27%
  pre_launch_20日: 10/35 = 29%
  launch_5日: 20/86 = 23%
  launch_10日: 9/65 = 14%
  launch_20日: 0/10 = 0%
  breakout_5日: 1/9 = 11%
  breakout_10日: 0/9 = 0%
  breakout_20日: 0/9 = 0%
```

信号纵向跟踪:1) signal_feedback.db 渐进验证(缺T+20的行持续回填,未到T+20不提前落标);2) 更新 signal_track.json 所有信号的 T+1/T+3/T+5/T+10/T+20 快照;3) 输出 signal_feedback.db 类型命中率报告(阈值统一2%);4) 有已完成信号时输出各来源/板块命中率与参数反馈(low_launch/dragon_preselect 来源,数据齐了自然出现,无数据不硬凑)。

## 产出规范(四性·应用性;2026-10-12 老板令「所有 cron 要有关联性/逻辑性/应用性」)
1. **判断落账(必做,除非本次无判断)**:凡产出含方向性判断(看多/看空/回避/中性 + 可核对的触发条件),必须落 judgment_ledger:source=信号纵向跟踪-每日23:15、date、direction、horizon、trigger、falsify(可自动核对,不写「注意风险」这种空话)、judgment、reason([数据源][路径][判断] 三要素齐全,写入端拒收空件)。纯数据播报 → 跳过落账,并在报告里写明「本次无判断落账」。
> IMA归档由脚本自动完成(23:25 每日报告批量传IMA:CRON_META 收本任务输出md + ima_uploaded.json 去重)——AI禁止自行上传,避免同晚双份(2026-10-27 老板令:所有归档均为脚本自动完成)。
3. **先数据后判断**:引用上方【数据摘要】的具体数字;数据段标了 [不可用] 就首行声明数据不全,禁止照常下结论。

**Response Characters:** 2147
## Response

# 📡 信号纵向跟踪日报 2026-10-29(23:15 档)

**数据完整度: 5/5 段可用** — 全部段落实测有内容,无 timeout / Traceback / `失败(rc=N)` / 空段。
交叉复核(我重跑核对,非照抄注入数据):
- `signal_track.py report/feedback` 重跑 → 与注入输出**逐字一致**(916只、18%、-3.1%)
- signal_feedback.db 直查 → 类型命中率**逐项一致**(pre_launch 29/95、launch 20/86、breakout 1/9)
- 已完整验证(T+20齐)=54 → DB `return_t20` 非空=54 ✓;`信号总数212+日报新记11=223` → DB 实数223 ✓
- signal_track.json mtime=23:16:21(本轮真实落盘),stderr 零降级(westock 失败0次)
- 今日新记11条去重检查:`UNIQUE(date,code,type)` 重复组=0,无双写污染

---

## 一、类型命中率(signal_feedback.db,阈值2%)

| 类型 | T+5 | T+10 | T+20 |
|---|---|---|---|
| pre_launch | 29/95=**31%** (均-3.3%) | 20/74=27% (均-6.6%) | 10/35=29% (均**-11.5%**) |
| launch | 20/86=23% (均-6.9%) | 9/65=14% | **0/10=0%** (均-13.8%) |
| breakout | 1/9=11% | 0/9 | **0/9** (均-23.0%) |

→ launch/breakout 长窗全灭,与10-26已落账的回避判断一致,无新信息不重复落账。

## 二、来源/板块(signal_track.json,done=916,均T+5=-3.1%)

| 来源 | n | 命中 | T+5 | T+20 |
|---|---|---|---|---|
| low_launch | 597 | 16% | -4.0% | **-15.3%** |
| dragon_preselect | 296 | 19% | -1.7% | -12.2% |
| pre_launch | 19 | 32% | +1.1% | -5.2% |

**双源合计893/916=97.5%样本,T+20均值-13.5%。** 板块最差:半导体285只17%/-5.4%、电气设备49只**6%**/-5.4%。

## 三、⚠️ 趋势行解毒(本次核心发现)

简报「最近7天命中率16% vs 之前18% ↓下降」——**16%不是恢复,是窗口轮换**:
- 7日窗(≥10/22)内唯一已done批次 = 10/22批次(n=57,15.8%)
- 上期窗内 10/21批次(n=53,**9.4%**)今天滑出窗口 → 表面从9%跳到16%
- 10/23起**193条全部pending未到T+5**(10/23批69条明天T+5才齐)
- 真实批次序列:10/15-10/19三批28~36% → 10/20 **6.7%** → 10/21 9.4% → 10/22 15.8%,仍在低位

## 四、判断落账(2条,已回读验证入库)

**① id=3282 · 回避 · low_launch+dragon_preselect双源新**(confidence=4)
- trigger:done=916中双源893只(97.5%),low_launch 597只16%/-3.97%/-15.26%,dragon 296只19.3%/-1.74%/-12.17%;**10/23-10/29新增193条100%来自该两源**
- falsify:连续4周两源合计T+20均值回升至>-5% 且回测命中≥30%(n≥150)
- 判断:样本较昨日836→893结论不变,负期望维持,且新信号产出线已无其他来源可跟

**② id=3283 · 中性 · 信号层-近7日批次(10/22-10/29)**(confidence=2,`causal_overreach`软门降档——文本级因果词触发,机械事实陈述被当因果推断,照实记录)
- trigger:16%系单批次窗口轮换,10/21批9.4%滑出、193条未到T+5
- falsify:10/23批(n=69)T+5齐(约11/03前)命中≥30% → 改判恢复
- 判断:维持下跌Beta未定性,不作重启跟单依据

**pre_launch 无新增done样本(n=19与昨日全同)→ 维持10-28已落账中性判断,不重复落账。**

---
📌 今日新信号11条已入signal_feedback(药明康德/沪电/生益/长飞/新易盛/博创/赢时胜×2/东芯/德明利/恒烁),T+5未到不提前定性;IMA归档由脚本自动完成,本条不另行上传。