近期显著变化:每次报告更新的固定文字内容
2026-09-13按用户要求新增。事实周报及结构观察页均调用 scripts/weekly_institution_changes.py,每次基于标准化表和报告截止日重新计算;不是固定复制本周结论。原有净额、机构映射和原始工作簿不变。本次新增分析覆盖已有2024年至报告截止日,不重新估计旧研究规则。
比较窗口
- 本周采用最近5个源交易日;假期附近仍明确列出实际起止日,不冒充完整日历周。
- 最近一个月、两个月基准为本周之前的20、40个源交易日,金额分别除以4、8折算周均;不含本周。另列紧邻的前5日净额,区分方向反转与同方向延续、扩大或收窄。
- 近期极值只与前8个不重叠5日窗口比较,全部有效才称为近9个窗口最高/最低。日度持续性列正、负净额天数及末日净额,不推断真实持仓或动机。
- 跨年按每年的实际源交易日序号对齐到当年截止日进度,比较同进度末5日、末20日。某年尚无足够日序、某窗口不完整时留缺失,禁止退回该年更早端点或全年累计。
- 各日期聚合使用
sum(min_count=1);时间窗口要求5/20/40个日度合计全部有值,缺一天即留空。该完整性是日度聚合层覆盖,底层部分券种未知仍保留源表缺失,不代表全部成交已观测。
范围与文字筛选
分别扫描当期8类标准化机构的总量、单期限、单券种。按本次用户提出的期限/券种问题,另扫描7—10年国债/政金债、超长全部品种/国债/地方债。超长代理固定为20-30Y与>30Y,国债及政金债各含新债和老债。
以下数值是用于控制报告篇幅的描述性编排规则,不是统计显著性、机构意图或交易阈值。它们不改变事实金额,可在可复核明细中查看未入选项目。
- 近期比较要求本周及前20/40日窗口完整。相对两个周均的金额偏差都至少25亿元,并满足下列至少一项:与两个至少25亿元绝对值的周均均反向;两个方向一致的偏差均达到对应周均绝对值的50%;或超出前8个完整5日窗口的最小/最大值。
- 季节性分别扫描同进度5日和20日窗口,各需至少两个完整历史窗口。5日超出历史样本范围的距离,至少为25亿元与历史净额中位数绝对值50%两者中的较大值;20日采用100亿元与其历史中位数绝对值50%两者中的较大值。20日距离除以4后与5日距离比较,用于候选排序。两种窗口分开描述:20日偏离不能写成本周突然发生。“其他”不参加季节性异常判定,避免把混合类别或展示变动当成同类机构变化。
- 近期候选按相对前40日周均的绝对金额偏差排序;只有季节性达标的候选按超出历史范围的金额排序。结构项每机构最多一项、合计最多六项,另补最多两项尚未入选机构的总量;已入选机构的总量并入该条文字背景,避免重复。保留各维度独立性,不加总重叠候选。
- 每项文字列本周、两个基准、前一周、买卖天数、末日、机构总量背景,以及有效往年同进度值。季节性候选加列20日窗口核对持续性,不自动称为持续异常。
- 没有候选时明确写“没有达到既定描述性筛选条件的明显变动”;数据不足单列,不等同平稳。采用历史样本差异措辞,不以少数年份推断稳定季节规律。筛选排序可辅助人工复核,不能替代对金额和口径的判断。
更新与验证
按原流程更新标准化表后运行事实报告生成器,再生成结构观察页。本模块已接入两条链路及事实周报的--render-only路径,不需额外手工复制段落。只重绘时也会从标准化表按当前截止日重新计算本节。
所有扫描项目、覆盖天数、窗口金额、历史比较、入选标记写入 outputs/weekly_institution_changes/weekly_changes.csv;build_receipt.json保留源文件SHA256、截止日、日序及跨年窗口日期。该目录为当前快照,报告历史归档按原流程保留。
验证包括窗口排除本周、跨年日序、缺失窗口、基准方向、低基数及同方向延续的回归测试;最新数据对本节全部扫描结果独立复算,并检查Markdown/HTML同节同文、源哈希及页面显示。
在既有事实周报、观察页验证之外,运行项目Python执行 scripts/validate_weekly_institution_changes.py 和 -m unittest discover -s tests;校验结果写入 data/quality/weekly_institution_changes_validation.json。