← 归档索引 · 2026-10-28 23:21 · 信号纵向跟踪+反馈闭环-23:15(原23:30并入·2合1)
# Cron Job: 信号纵向跟踪+反馈闭环-23:15(原23:30并入·2合1)
**Job ID:** c85cc7fd1251
**Run Time:** 2026-10-28 23:21:22
**Schedule:** 15 23 * * 1-5
**Prompt Characters:** 7477
## 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-28 22:55:34
**Mode:** no_agent (script)
---
📈 进化简报 2026-10-28(窗口14天)
回测率: 100.0%(436/436 条近期判断已回测)
累计: 落账2407 已决1805 待决0
总命中: 52.4% [48~57%] n=439 (上期 44.8%) | 平均超额 -0.04pp
── 分方向 ──
回避 n=224 命中 55.4% [49~62%] 超额-0.3pp
看空 n= 73 命中 45.2% [34~57%] 超额+0.9pp
中性 n= 62 命中 59.7% [47~71%] 超额-0.8pp
看多 n= 58 命中 50.0% [38~62%] 超额+0.4pp
观察 n= 20 命中 35.0% [18~57%] 超额+1.5pp ⚠️谨慎
── 来源可信度(n≥10 才列)──
- 四维扫描 n=230 54.8%
- 节点转折+ftshare扫描-21:45 n= 32 53.1%
✗ 量价训练-每日提醒 n= 24 37.5%
- 盘中-1130午盘 n= 23 47.8%
- 龙头融合+确认链-21:40 n= 23 47.8%
✗ good_position_scanner n= 20 35.0%
✓ 盘中-1500收盘 n= 14 64.3%
✗ 晚间统一扫描-21:30 n= 12 25.0%
⚪ 未排期部件(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.
```
=== 信号纵向跟踪 ===
验证/回填: 157条
更新206条
信号总数: 210 | 已完整验证(T+20齐): 53 | 跟踪中(未到T+20): 157
类型 数量 T+5命中 T+5均值
----------------------------------------
breakout 9 1/9=11% -5.2%
launch 99 19/78=24% -6.9%
pre_launch 102 28/92=30% -3.4%
最近信号:
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=- -
2026-10-27 赢时胜(300377.SZ) T5=- -
2026-10-27 博创科技(300548.SZ) T5=- -
信号纵向跟踪报告
============================================================
总计: 859只 | 命中(T+5>2%): 152只 命中率18% | 平均T+5=-3.1%
来源 数量 命中率 平均T+5 平均T+20
--------------------------------------------------
low_launch 542 16% -4.0% -16.2%
dragon_preselect 294 19% -1.8% -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
----------------------------------------
半导体 255 17% -5.6%
电气设备 46 7% -5.5%
汽车配件 43 16% -2.6%
通信设备 37 19% -2.3%
生物制药 35 14% -3.9%
化工原料 33 9% -4.1%
中成药 31 23% -0.2%
家用电器 25 28% -1.3%
元器件 24 21% -3.2%
塑料 24 21% -1.5%
趋势: 最近7天命中率9% 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.0,
"count": 294,
"avg_t5": -1.78
},
"low_launch": {
"hit_rate": 16.4,
"count": 542,
"avg_t5": -4.02
}
}
📊 信号反馈日报(原23:30 并入本段)
记录2个新信号 | 验证/回填159条历史信号
──────────────────────────────
pre_launch_5日: 28/92 = 30%
pre_launch_10日: 19/72 = 26%
pre_launch_20日: 10/35 = 29%
launch_5日: 19/78 = 24%
launch_10日: 6/56 = 11%
launch_20日: 0/10 = 0%
breakout_5日: 1/9 = 11%
breakout_10日: 0/9 = 0%
breakout_20日: 0/8 = 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:** 1220
## Response
**数据完整度: 3/3 段可用**(信号纵向跟踪 / 参数反馈 / 信号反馈日报),无 timeout/Traceback/降级标记;全部关键数字已与源库复算核对一致(signal_track.json 1056条 + signal_feedback.db 212行,mtime 10-28 23:15-23:16 为本窗口新写)。
---
## 📈 信号纵向跟踪 2026-10-28(23:15)
**核对结果(我复算,非照抄)**:859条有T+5、命中152只=17.7%、均值-3.1% —— 与脚本逐项一致;source/板块/持有期分组全部对上,**数据可信**。
**核心事实**
- **双负期望源维持**:low_launch 542只 命中16% / T+5 -4.0% / **T+20 -16.2%**;dragon_preselect 294只 19% / -1.8% / **T+20 -12.2%**。两源=836/859=**97%样本**,T+20深度为负 → 继续停跟单。
- **pre_launch 仍是唯一T+5正源**(n=19, 32%, +1.1%),但 T+20 -5.2%;大样本signal_feedback里 pre_launch_t20 仅 10/35=29%、**avg -11.5%** → 赢小输大,只作≤5日短窗。
- **持有期衰减**:launch 24%→11%→0%(T+5/10/20);breakout T+20 0/8。今日新增2条=赢时胜(launch+pre_launch),不作买入依据。
- **趋势继续恶化**:近7天命中 **9%** vs 之前18%(n=53 vs 806)。昨日归因"10/20批次下跌Beta",今日样本+53条后仍9%,**未见证据修复**;signal_log同期仅8条已决,不足以交叉验证。
- ⚠️ 口径备注:首段"信号总数210"→日报落2条后DB=212,自洽;"回填157 vs 159"为两子步计数差2,非缺数。
**判断落账(judgments.db 已写入并回读验证)**
| id | 方向 | 目标 | 窗口 |
|---|---|---|---|
| 3162 | 回避 | low_launch+dragon_preselect双源新信号 | 5日 |
| 3163 | 中性 | pre_launch信号源(禁持满20日) | 10日 |
| 3164 | 中性 | 近7日批次=下跌Beta暂定性,T+20齐前不定性 | 20日 |
**明日校准看三点**:① 近7日批次命中是否仍<12%(是→按3164 falsify从Beta改判信号逻辑恶化,升停机条件);② 双源T+20新回填行均值是否仍<-5%;③ pre_launch新增样本是否守住+1%(失守→降为纯回避)。