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

**Job ID:** c85cc7fd1251
**Run Time:** 2026-10-21 23:26:25
**Schedule:** 15 23 * * 1-5

**Prompt Characters:** 7615
## 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-21 22:55:04
**Mode:** no_agent (script)

---

📈 进化简报 2026-10-21(窗口14天)
  回测率: 100.0%(366/366 条近期判断已回测)
  累计: 落账2066 已决1553 待决0
  总命中: 56.8% [52~62%] n=366 (上期 15.7%) | 平均超额 -0.20pp
  ── 分方向 ──
    回避     n=192 命中 55.2% [48~62%] 超额-0.5pp
    看空     n= 78 命中 52.6% [42~63%] 超额+0.2pp
    看多     n= 49 命中 61.2% [47~74%] 超额+0.9pp ★可信
    中性     n= 45 命中 68.9% [54~80%] 超额-0.3pp ★可信
  ── 来源可信度(n≥10 才列)──
    - 四维扫描                           n=227 54.6%
    ✓ 节点转折+ftshare扫描-21:45           n= 18 66.7%
    ✓ 盘中-1500收盘                      n= 16 68.8%
    ✓ 盘中-1130午盘                      n= 15 60.0%
    ✗ 量价训练-每日提醒                      n= 15 40.0%
    ✓ 龙头融合+确认链-21:40                 n= 15 66.7%
    ✓ 盘中-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.

```
=== 信号纵向跟踪 ===
验证/回填: 136条
更新179条
信号总数: 171 | 已完整验证(T+20齐): 46 | 跟踪中(未到T+20): 125

          类型   数量    T+5命中    T+5均值
----------------------------------------
    breakout    9  1/9=11%    -5.2%
      launch   75 12/56=21%    -9.4%
  pre_launch   87 22/72=31%    -3.4%

最近信号:
  2026-10-20 君实生物(688180.SH) T5=- -
  2026-10-20 赢时胜(300377.SZ) T5=- -
  2026-10-20 博创科技(300548.SZ) T5=- -
  2026-10-20 新易盛(300502.SZ) T5=- -
  2026-10-20 中际旭创(300308.SZ) T5=- -
  2026-10-20 沪电股份(002463.SZ) T5=- -
  2026-10-20 中国人寿(601628.SH) T5=- -
  2026-10-20 中国人寿(601628.SH) T5=- -
信号纵向跟踪报告
============================================================
总计: 551只 | 命中(T+5>2%): 85只 命中率15% | 平均T+5=-4.3%

来源                     数量    命中率    平均T+5   平均T+20
--------------------------------------------------
  low_launch          313    11%    -6.2%  —(无T+20)
  dragon_preselect    215    20%    -2.0%   -10.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
----------------------------------------
  半导体             163    14%    -7.9%
  汽车配件             33     6%    -4.3%
  电气设备             29     3%    -6.4%
  通信设备             25    12%    -3.9%
  生物制药             24    12%    -5.2%
  未知               23    30%    +0.6%
  机械基件             18    17%    -5.1%
  电器仪表             17    29%    +0.3%
  塑料               16    19%    -3.1%
  IT设备             16    12%    -3.1%

趋势: 最近7天命中率24% vs 之前15% ↑提升
=== 参数反馈 ===
{
  "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": 20.0,
    "count": 215,
    "avg_t5": -1.99
  },
  "low_launch": {
    "hit_rate": 11.2,
    "count": 313,
    "avg_t5": -6.19
  }
}

📊 信号反馈日报(原23:30 并入本段)
记录8个新信号 | 验证/回填133条历史信号
──────────────────────────────
  pre_launch_5日: 22/72 = 31%
  pre_launch_10日: 19/47 = 40%
  pre_launch_20日: 10/34 = 29%
  launch_5日: 12/56 = 21%
  launch_10日: 6/16 = 38%
  launch_20日: 0/10 = 0%
  breakout_5日: 1/9 = 11%
  breakout_10日: 0/9 = 0%
  breakout_20日: 0/2 = 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([数据源][路径][判断] 三要素齐全,写入端拒收空件)。纯数据播报 → 跳过落账,并在报告里写明「本次无判断落账」。
2. **归档 IMA(强制,写完报告后必做)**:最终报告必须归档到 IMA(与 QQ 投递内容完全一致):
```
cat > /tmp/信号纵向跟踪-每日2315_$(date +%Y%m%d).md << 'REPORT_EOF'
[在此粘贴你的完整报告全文,一字不差]
REPORT_EOF
timeout 60 bash ~/.hermes/scripts/upload_stdin_to_ima.sh "信号纵向跟踪-每日2315_$(date +%Y%m%d)_完整版" < /tmp/信号纵向跟踪-每日2315_$(date +%Y%m%d).md >/dev/null 2>&1
```
归档成功后再输出最终报告(系统自动投递 QQ);归档失败在报告末尾标注「⚠️ 归档失败」。
3. **先数据后判断**:引用上方【数据摘要】的具体数字;数据段标了 [不可用] 就首行声明数据不全,禁止照常下结论。

**Response Characters:** 1396
## Response

# 信号纵向跟踪日报 2026-10-21

**数据完整度: 4/4 段可用**(信号跟踪/板块/参数反馈/回填,全部直查 signal_feedback.db(179行) + signal_track.json(859条) 独立重算复核,命中率/均值与脚本输出逐一一致 ✅,无超时无降级段)

## 一、核心结论:全信号源负期望,无一可作为买入依据

551 只有 T+5 数据的信号,**整体命中率 15%、均值 -4.3%**:

| 来源 | n | T+5命中 | 均T+5 | 均T+20 | 判定 |
|---|---|---|---|---|---|
| low_launch | 313 | 11% | **-6.2%** | —(未到) | ⛔ 最大负期望源(占池57%) |
| dragon_preselect | 215 | 20% | -2.0% | **-10.2%** | ⛔ 持越久亏越多 |
| pre_launch | 19 | 32% | +1.1% | -5.2% | ⚠️ 唯一T+5微正,n太小不可信 |
| launch | 3 | 33% | -0.7% | -4.0% | 样本不足 |
| breakout | 1 | 0% | -4.0% | -11.7% | 样本不足 |

**所有已到 T+20 的类型,均值全部为负** —— 信号系统当前不具备正期望产出能力。

## 二、持有窗口(signal_feedback.db 复核一致)
- pre_launch: T+5=31% / T+10=**40%** / T+20=29%(T+10 相对最优,但均值仍负)
- launch: T+20=**0%**(n=10, 均-13.8%) —— 禁持满20日
- breakout: 11%/0%/0% 全面失效

## 三、板块
半导体 163只(30%) 命中仅14%、均-7.9% = 最大拖累。汽车配件 6%、电气设备 3% 更差。命中率≥29%的板块均样本<20,不构成依据。

## 四、唯一积极迹象(仅趋势,非结论)
最近7天命中率 24% vs 之前 15%。⚠️ 24% 仍远低于50%——这是负期望收窄,不是变好,不构成看多依据。

## 五、本次落账 2 条(judgment_ledger id 2816/2817,source=信号纵向跟踪-每日23:15)
1. **回避 low_launch 来源信号**(h=5, conf=4):T+5命中11%、均-6.2%、占池57% → 出现时不得作为买入依据|证伪:滚动30日命中率≥25% 或均T+5≥0%
2. **回避 dragon_preselect 持有至T+20**(h=20, conf=3):T+20均-10.2%(n=27) → 若有反弹须T+5内了结|证伪:滚动30日T+20均值≥0%

## 六、给明日的操作建议
- 所有信号出现时**默认不跟随**,除非该来源滚动30日命中率翻红(当前无一翻红)
- 系统改进靶点已明确:low_launch 占用57%验证资源却成绩最差,该扫描器应降频或重修判据,而非继续批量产信号

✅ 已归档 IMA(信号纵向跟踪-每日2315_20261021_完整版,上传rc=0,错误日志无新增)