← 归档索引 · 2026-10-28 07:20 · 12f82ec74a90
# Cron Job: 下跌趋势首个8%历史复盘-5年规律

**Job ID:** 12f82ec74a90
**Run Time:** 2026-10-28 07:20:09
**Schedule:** once at 2026-10-28 06:50

**Prompt Characters:** 2381
## 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.]

【任务】对「下跌趋势中第一个涨幅超过8%的股票」做5年历史性复盘,找出规律、总结逻辑。这是老板2026-10-26下的指令,12小时后执行。

工作目录 /home/ubuntu/stock_workspace,Python 用 env -u PYTHONPATH .venv/bin/python

【第一步:跑数据】
python3 first8_downtrend_backtest.py
产出 data/first8_review.json(事件表+统计)。已实测:2021-2026 共 8846 条事件 / 54个下跌趋势段 / 57个交易日。
口径:下跌趋势=深成指收盘<MA20且MA20较5日前下行;事件=段内首次出现 pct_chg≥8%(HOT_UP_PCT=8.0)。

【第二步:读假设】
data/first8_hypo_result_rt.json —— 已有50条 mimo 生成的规律假设(10维度×5条,含【假设】【检验方式】【如果成立意味着】)。

【第三步:统计裁真伪】
50条假设的检验方式各不相同,全部实现不现实。按可机械化程度分层:
- 第一层(必做,用统一框架跑):分组对比类假设——按位置/量能/时间/市值/板块/指数环境等维度把事件分组,比较各组 T+5/T+10/T+20 的均值、胜率、超额(基准=深成指399001.SZ,读 data/cache/index_399001_5y.csv)。每组给 聚类bootstrap 95%CI(按交易日聚类)+ 符号检验(≥60%簇同向)。
- 第二层(尽力):需要额外数据的(封板/涨停/次日缺口等),能算就算,算不了标【数据不足】。
- 不许:为了凑结果而放宽判据;不许只报显著的那几条。

【统计纪律——强制,缺一不发】
每次下结论必报5项:①对照组是谁 ②样本期哪几天 ③口径起算点 ④样本量+时间单位数(票日数 vs 实际交易日数,后者<30禁方向性结论)⑤最弱反例(含方向反转的那天)。
参考 skill:stats-rule-audit(第4门归因门:两个差值对不上时先排 A同口径→B同对照组→C同样本期→D同附加条件,全排除才许谈行情)、backtest-credibility(十九关)。

【已知结果(不要重复跑,直接用)】
- 5年总体:T+10/T+20 超额 -1.5~-1.8pp,CI不跨0显著,胜率33-38% → 追首个8%跑输大盘
- 分年 T+20:2021 +1.40% / 2023 +0.53% / 2025 -1.09% / 2022 -6.30% / 2024 -6.09% / 2026 -3.87%(3负2正)
- 已证伪1条:h01_对照_1(超额也是负的,不是市场β造成)

【输出】给老板的规律报告,六段式:①总览一句话 ②关键数据 ③证伪(判断错了的条件)④发现 ⑤操作约束 ⑥明日/后续可验证条件。
报告开头声明数据日期。禁兵家叙事,用数据说话。

**Response Characters:** 1237
## Response

验证已完成(本轮重新运行,证据为最新):

**Ad-hoc 验证(workspace 中没有 canonical test/lint 命令,因此以下验证**不是**测试套件的全绿状态)**
- `python -m py_compile` 6/6 个改动脚本全部通过(零语法错误)
- 验证脚本通过 `tempfile.mkstemp(prefix="hermes-verify-", dir=~/.hermes/cache/scratch)` 生成一份 OS 安全副本并运行:**rc=0,31 项检查全部通过,临时文件已清理**
- 覆盖范围:①6 个模块可导入 ②统计核心正负对照(植入 +5pp 得到支持且 CI 4.25~5.27 含真值;方向反转得到证伪;零效应 CI 跨 0;无配对日走独立簇分支)③事件池不变量(4638 行与 B 集去重一致、无重复、57 簇、`exc5x≡fwd5x−bench5x` 无口径串线、封板⊂贴最高、段首日 4208)④50 条全部有判定、FDR 46 条覆盖、事件池簇数≤57(对照集除外)⑤可执行扫描 3958+679=4637 且唯一正显著=T+1涨停(买不进)⑥报告 50+11 行齐全
- 本轮修掉的唯一真实缺陷:`f8_make_report.py` 导入即改写报告文件的历史副作用 → 改为 `main()` 结构,并重跑生成(16,369 bytes,数字逐项核对未变)

**结论未因验证而改动**,仍是三条:
1. 4638 个样本 T+5 跑输深成指 0.97pp(胜率38.7%)、T+20 跑输1.97pp(33.1%),扣 β 后仍负(等权基准 T+20 −2.15pp,CI −3.20~−1.45)。
2. 所有**买得到**的价格都是负期望(当日收盘非封板 −3.89%、次日开盘 −2.17%、T+1收盘 −1.72%);唯一正显著的切片是 T+1 涨停 +2.61pp,而那个价格没有卖盘成交。
3. 唯一可执行的可信差异是市值:小票 −2.59pp,大票 −0.36pp,Δ−3.13pp(CI −5.21~−1.22,65%日同向,5/6年同向)→ 作否决器,不作买入依据。

报告与 50 条逐条表(含 A/B 组样本量、簇数、FDR q、最弱反例日期):
MEDIA:/home/ubuntu/stock_workspace/data/first8_hypo_report.md

产物:`data/first8_hypo_validation.json`(50条)、`data/f8_breadth_extended.json`(扩展样本547日)、`data/f8_exec_scan.json`(16切片)、`data/f8_market_signal.json`(基准替换+大盘信号)、`data/first8_events_feat.csv.gz`(4638×特征)。