组合策略及宏观日历 · DOCS

规则说明 · 完整版

组合规则 · 起算口径 · 指标口径 · 数据来源 · 换标的验证 · 逐年口径 · 读图口径
NOTICE · 版面融合(2026-10-12)

E 版组合(顶点回归)的全部模块已并入首页(index.html): 对比六卡、基准E 主图(可与基准A 三线图一键切换)、逐年收益、指标明细表、调仓记录对照表与 换标的验证附录(数据窗口)均改由 e_data.json 驱动,在首页直接展示; 原 e.html 已下线、自动跳转至首页。下文各条中的「E 页」均指首页中的 E 版模块。

同一批调整:组合相关性模块(⓫)自首页迁至行业持仓透视页(holdings.html), 首页主图(原 PERFORMANCE 标题已于 2026-10-12 去掉)保留「基准E / 基准A」双视图切换,两视图共用区间档位、窗口互通; 调仓提醒弹窗的事件源改为 E 版调仓记录。

2026-10-12 当晚微调:① 基准E 主图的参照线由「原基准A」改为两个指数本身 (满仓 885000 / 满仓 H20269,与基准A 视图同名线同色),图头读数同步改为「E 版 − 满仓 885000」; ② 换标的验证附录改为纯数据窗口(去掉取点图),只保留年化收益 / 今年来收益 / 最新一天涨跌三卡; ③ 首页模块顺序调整:调仓记录上移至指标明细之后,市场参考(WIND SECTORS + MARKET OVERVIEW)退为第二幕, 换标的验证(000082 × 512890)数据窗口移至 MARKET OVERVIEW 下方;④ 主图头部收整为一排控件(视图切换 + 区间档位 + 自定义日期 + 存图), PERFORMANCE 标题与跑赢徽章一并去掉(区间超额读数移入悬停 tooltip),「E 版对比」按钮改名「基准E」; ⑤ 基准E 主图曲线样式与基准A 视图统一 —— 主线 2px 实线、两条指数参照线 1.3px 虚线(图例示意同步改为虚线)。

RULES · 组合规则与执行语义

两版规则的精确定义参数一致,差异只在档位区间与计数方式

基准A(线上现状,主站):起始 2018-12-18 收盘、885000 / H20269 = 50/50(净值 1.0); 885000 权重偏离目标超过 5pp 时调回目标档;连续两次同向再平衡后 目标档位朝该方向移动 10pp(885000 权重夹在 40%~60%); 档位移动后同向计数归零。

E 版(规则变体,E 页):同起点、同阈值、同步长,但档位夹在 30%~70%、 档位移动后同向计数不归零(同向持续则每次触发都继续推档); 目标档贴住 30%/70% 顶点后,出现「离开顶点方向」的反向第 2 次再平衡 → 档位直接回到 50%(顶点回归)。

执行语义(两版一致):调仓日当日收益按「前一日收盘漂移后」的权重计算,收盘后调回目标档; 不计交易摩擦成本(历史调仓次数少,摩擦影响 <0.1pp)。

起点权重不是中性参数:起点差不到 1pp 就会让首次触发时点偏移、后续节点整体错位 —— 任何跨版本比较都必须同时固定「起点权重 + 区间」。

BASELINE · 起算口径与基期

一切都从 2018-12-18 收盘起算2026-09-16 全站统一

  • 组合起点 = 2018-12-18 收盘:885000 / H20269 各 50%,曲线净值 1.0; 不继承更早的历史漂移权重(该日之前的历史只用于定位基点收盘价)。
  • 区间收益基期 = 区间起点当日收盘,同万得「区间涨跌幅」口径;自定义区间起止落在非交易日时, 按「该日或之前最近的交易日」对齐。
  • 两页的统计窗口 = 曲线全序列(收益日数随数据逐日增长,实际点数以页面头部/页脚的「数据截至」为准);快捷档 MAX 即全序列。
  • E 页基准A 的逐日净值直接取自主站 data.json 的同一序列,E 版由同一序列两个组合的日收益 按 E 规则重跑,故两版日期轴完全对齐。
METRICS · 指标口径

每个数字怎么算的与线上指标卡同源,勿另行“修正”

  • 年化收益:几何年化,years = 窗口收益条数 / 252 (含两端,为既有约定,比自然年多计 1 天)。
  • 年化波动:样本标准差(n−1)× √252。
  • 夏普比率 =(几何年化 − 2.5%)/ 年化波动;卡玛比率 = 几何年化 / |最大回撤|。
  • 累计 / 年化超额:相对比值几何口径 (1+rA)/(1+rB) − 1, 不用逐年 pp 的算术平均 —— 该差额会被当年涨跌幅按 1/(1+r) 缩放而失真。
  • E 页逐日胜率:剔除两版重合日(重合日两版持仓完全相同、收益逐日相等,胜负无意义; 若计入分母会把胜率机械稀释,实测 50.58% → 37.22%)。首页胜率的对照对象为满仓 885000。
DATA · 数据来源与更新

数据从哪来、什么时候更新

  • 885000:万得普通股票型基金指数(等权),万得取数;H20269:中证红利低波动全收益指数, tushare 取数并与中证官网逐日对账。
  • 服务器 周二~周六 10:30 / 17:30 自动更新(885000 需等当日基金净值披露后定稿, 交易日数据通常于 T+1 日 10:30 上线,周六档补齐周五;周一无调度); 主站 `data.json` 与 E 页 `e_data.json` 同批生成。
  • E 页同步管线:daily.py 第 ⑤ 步 → 先增量更新换标的两个组合(000082 天天基金 pingzhongdata / 512890 腾讯 hfq 价格比率推进),再以主站 data.json 为源重跑 E 规则状态机; 脚本带「重建基准A 逐日比对 + 调仓节点逐条相等」前置校验,不通过即拒绝写出。
  • E 页为规则变体展示,非线上实盘口径;实盘跟踪以主站基准A 为准。
  • 行业排行(首页 ③):万得指数官网 windindices.com 的公开接口 (indexapi.wind.com.cn,免登录、免费)—— 价格走 /Kline, 估值走 /indexValuation(PE-TTM / PB / 股息率的逐周历史);随主站每轮更新一同抓取并写入 sector_data.json。估值接口偶发返回空,脚本按 6 次重试 + 退避处理, 仍失败则该格留空显示「—」(不回退旧值);抓取整体失败时保留上一份快照、不阻塞主站。
SUBSTITUTE · 换标的验证口径(MARKET OVERVIEW 下方 · 数据窗口)

照搬 E 版节点 · 000082 × 512890

  • 口径:标的换成 000082 嘉实研究阿尔法股票A × 512890 华泰柏瑞红利低波ETF(净值化; 000082 为分红再投复权口径),调仓节点照搬 E 版(日期与调后目标档,当前 9 次), 不在替换组合上重新触发;起始权重 = E 版在基点当日的实际持仓权重(现行口径下 = 50.00%)。
  • 展示形态(2026-10-12 起改为纯数据窗口):原「取点走势图」已移除,只保留三张卡 —— 年化收益 / 今年来收益 / 最新一天涨跌,每张卡的小字为基准A 同口径对照; 区间、起点权重与信号次数见卡片右上角「Range … | Start weight … | N signals」。
  • 单一组合对照:000082(回撤约 −37%)/ 512890 —— 组合回撤明显低于单一组合, 这是本组「换标的」的主要价值。
  • 归因提醒:该卡相对基准A 的差额同时含「换标的」与「换节奏」 (E 规则 ≠ 基准A 规则)两处变化,不可单独归因; 要孤立看换标的,需与 885000×H20269 上的 E 版对照。
  • 两个组合数据取自东财 / 天天基金原始净值,随每日同步一起刷新到最新交易日。
  • 统计窗口(2026-10-12 起):「今年来收益」起点 = 上一年最后一个交易日收盘;「最新一天涨跌」= 数据截至日的单日收益(= 末日净值 / 前一日净值 − 1);两卡均附基准A 同口径对照。年化口径与主指标卡一致(252 交易日/年、样本标准差)。
  • ANNUAL RANK · 年度排名分位(2026-10-12 新增,位于本模块下方):组合每年收益在 Wind 普通股票型基金(二级分类、初始基金口径、含指数型/ETF)年度排名中的分位。默认图标视图=分叉条形动画:零轴居中,涨右红(--up)/跌左绿(--down),条长 = 组合当年收益(刻度 ±50% 对称),条上灰色竖线 = 同类中位数位置(压条也看得见,比条高出一截);入场时逐条从零轴错峰生长、徽章弹入(仅 transform/opacity,尊重系统减弱动效);行悬浮提示(title)只报两项:排名分位 + 同类中位数(同两项亦写入 aria-label,键盘/读屏用户不依赖悬浮亦可读到)。右侧图标 = 当年分位档(奖牌=前10%、上扬=前25%、横线=中位~前25%、三角=后25%)。标题栏按钮切表格视图(四列:年份 / 组合收益 / 同类中位数 / 排名分位)。完整年度为静态数据,不随后端刷新:2019–2024 取同指令口径离线报告、2025 双源一致(+18.2%);当年 YTD 收益(2026-10-23 起)实时直读 e_data.json,与上方「000082 × 512890」卡的「今年来收益」同源同值,分位档与同类中位数仍为 2026-10-09 的静态分析值(状态行分别注明两个截至日);885000 各年收益已用首页序列核验。分位按相邻分位点内插近似,各年基金样本口径不完全一致,跨年只作定性比较。跨年设计:行序固定「最近一年在顶、依次向下到最早年」(表格视图同序);不完整年度(进行中的 YTD)条形半透明 + 年份带 YTD 标注 + 图例脚注,与完整年一眼可区分;年度收益 = 该年最后交易日 / 上年最后交易日 − 1,年初的调仓节点归入新年度(如 2020-01-09 计入 2020);跨年累计收益不看本模块(属主图/指标卡口径)。年度滚翻规则:新一年开始在顶部新增当年 YTD 行(半透明),原 YTD 行满年后转实线并下沉一行。
ANNUAL · 逐年收益与超额口径(两页逐年模块)

逐年柱怎么算、超额怎么汇总

  • 年度收益 = 该年最后交易日净值 / 上一年最后交易日净值 − 1;2019 起; 带 * 的为年初至今(部分年)。逐年柱为日历年度,2019 年收益自 2018 年末起算。
  • 累计 / 年化超额的基点 = 曲线起点 2018-12-18 收盘(与各页指标卡同口径),不是 2018 年末。
  • 对照基准:首页 = 基准A vs 885000;E 页 = E 版 vs 885000(2026-09-17 起,原为 原基准A)。
  • 逐年 pp 的算术平均会与累计口径不同号,故汇总一律走相对比值几何口径。
HOLDINGS · 行业持仓透视口径

气泡的位置、大小、颜色各是什么先看权重口径,再看横纵轴

页面:行业持仓透视(holdings.html)—— 展示红利低波 ETF 的行业结构随年度推移的变化,一屏回答「压了哪个行业、它当年涨跌多少、贵不贵」。

① 图表是什么:仓位迁移斜率图

  • 每行一个申万一级行业,不是散点。灰点 = 该行业上一期末的持仓比例, 彩点 = 本期末持仓比例,两点之间的连线就是这一期的仓位迁移; 右侧三列依次是 本期仓位 / 较上期变化 / 当年涨跌幅。
  • 为什么不用散点:本组合权重极悬殊(银行 53.2%,其余 17 个行业全在 6% 以下,相差 33.9 倍)。散点图里这一带会被压成一条线, 十几个行业名必然叠在一起;改成逐行列表后,每行独立占据一条轨道,标签天然不重叠。

② 横向位置与线段长度

  • 彩点(本期末)锚定在真实刻度上 —— 位置就是该行业持仓比例在对数刻度上的落点, 所以「谁大谁小」可以直接横向比较,这正是刻度轴保留的原因。
  • 灰点(上一期末)由彩点向左或向右偏移:增持向左、减持向右, 两点之间的线段就是这一期的仓位迁移,线段长度表达变动幅度。
  • 线段长度被刻意放大:公式 len = 2.8 + 5.0·√Δ (Δ = 两点在对数轴上的真实距离,单位是轨道宽的百分比)。 本组合多数行业每期只动零点几个百分点,按真实刻度画时线段不到 15px、读不出幅度; 放大后为轨道宽的 3%~22%(约 50~210px)。
  • 为什么用平方根而不是等倍数:真实 Δ 分布极不均(2026 帧 1.5%~12.6%), 线性放大会让小的仍看不见、大的直接撞上限。平方根让小变动获得相对更大的倍率, 同时保持单调 —— 变动越大线段越长,方向与强弱都还读得出来。
  • 🔴 线段长度不等于刻度距离:要读具体仓位看彩点位置(或右侧「本期仓位」列), 要读变动幅度看「较上期」列。线段顶到轨道边缘时按边界截断,只影响少数贴边的行。

③ 排序:默认按仓位降序(与下方矩阵表一致); 可切到按变化(仓位变动绝对值降序,看谁动得最多)或按收益(当年涨跌幅降序)。

④ 颜色 = 较上一期的增减持方向(不是涨跌)

  • 红 = 较上一期增持 / 绿 = 减持 / 金 = 本期新进(上一期不在持仓中)。
  • 🔴 这与全站「红涨绿跌」的价格语义是两套:最右列的涨跌幅才是价格涨跌(红涨绿跌), 中间的「较上期」是持仓变动(红增绿减)。两列不要混读。
  • 首期(2019)没有上一期,该帧全部行业按「本期新进」着色,图下会写明这一点 —— 这是口径使然,不代表 2019 年新增了 15 个行业。
  • 本期退出的行业(上一期在、本期不在)不出现在列表里,单独在图下方标注。
  • 「新进 / 退出」是申万一级行业层面的判断,不等于成分股层面的调入调出。
  • 点击行名可与下方矩阵表双向高亮,再点一次取消。

⑤ 时间与粒度:2019—2026 八个年度,每个年度一帧,页面默认停在 2026。 2019—2025 为整年口径(该年末权重 × 该自然年涨跌幅 × 该年末 PE); 2026 为年初至今口径(见 ⑥)。源表另有 6-30 的半年快照,本页未使用。

⑥ 最新年度(2026)为什么换了权重口径

  • 2019—2025 的权重取自 ETF 定期报告「全部持仓」(申万一级,每年 12-31 快照)。
  • 🔴 2026 帧改用中证 H30269 指数样本权重(中证指数公司官网 closeweight 文件,按交易日更新,本次截至 2026-08-31)。原因是 ETF 定期报告按申万一级口径可得的最近一期 只到 2025-12-31,落后 8 个月;2026 年手头只有证监会门类口径(9 类,过粗,无法定位到横纵轴)。
  • 该文件含 50 只成分股的代码与权重、合计 100%。H30269 是 512890 的跟踪指数,ETF 以完全复制法跟踪, 两者行业结构高度一致,差异仅来自 ETF 保留的现金/债券部分(约 1pp 量级)。 这也解释了为什么 2026 帧的权重合计是 100.0%,而其它年份是 95.8%~99.7% —— 不是口径放宽。
  • 2026 帧的横轴 = 年初至今涨跌幅(不是整年),纵轴 = 最新交易日的 PE-TTM; 下方矩阵里该年列的 PE 同此口径。页面默认停在该年。
  • 矩阵表另提供 股息率 TTM 与 ROE-TTM 两档指标,但只有 2026 列有值 —— 板块估值 / 财务接口只回溯近 60 个交易日,历史年度取不到,不做插补,历史列显示「·」。

⑦ 指数整体估值 · 逐年均值(卡片,2026-09-24 新增)

  • 是什么:矩阵表下方单独一张卡,展示 H30269 中证红利低波动指数自身的 PE-TTM / PB-LF / 股息率 / ROE,按 2019—2026 逐年列出,每格为该年 全部有效交易日的均值(2026 为年初至数据截至日)。当前所选年度的列会高亮。
  • 🔴 与「组合 PE」是两套口径,不可直接比较:hero 与矩阵里的组合 PE = 各申万一级行业指数 PE 按持仓权重加权(行业指数自身加权口径的混合); 本卡 = 指数全部 50 只成分股整体的市值 / 净利润(TTM)等比率。 同一年两者可以差一倍以上(如 2022:组合 PE 15.44 vs 指数整体 5.12), 这是口径差异,不是数据错误。
  • 数据源:韭圈儿 funddb.cn 指数估值(h30269.CSI), PE / PB / 股息率三档均为同一数据源的日频序列(2013-12-18 起), 保证三者与 ROE 内部自洽;不混入其它来源。
  • ROE 为推导值:ROE = PB / PE × 100 逐日计算后再取年内均值 (在恒等式下 = TTM 净利润 / 最新净资产),不是财报里直接披露的 ROE,量纲为百分比。
  • 与中证官网的关系:中证官网详情页的市盈率(peg)与本卡 PE 有约 6% 的系统差(口径与抽样日不同,如 2026-09-01 为 8.63 vs 8.08)—— 本卡刻意不混源,四项指标统一取 funddb,宁可与官网有小差也要保证四项互洽。
  • 缺数显示「·」,不插补不估算;估值源当日抓取失败时卡片保留上一次数据并标注截至日, 中间产物完全缺失时显示「暂无数据」。

数据链路:scripts/fetch_industry_metrics.py (行业年度涨跌幅与年末 PE,源自腾讯自选股行情接口,含「年度涨跌幅 = 年末收盘 / 上年末收盘 − 1」的交叉校验) + scripts/fetch_index_valuation.py (指数整体 PE / PB / 股息率 / ROE 逐年均值,源自 funddb,含接口签名复刻与日期轴 +8h 校正) → scripts/build_holdings_page_data.py(并权重、拆分「其他」、并入 idx_val) → web/holdings_data.json。

READING · 各模块读图口径

图表怎么读、表怎么看页面只留标题与动态读数,说明集中在此

以下内容原先分散在各模块下方,2026-09-17 起从页面移除、集中到本页; 页面仅保留标识信息(数据来源 / 生成时间 / 备案)与实时读数。

① 区间收益率走势(首页主图)

  • 基期 = 区间起点当日收盘,同万得「区间涨跌幅」;自定义起止落在非交易日时按「该日或之前最近的交易日」对齐。
  • 快捷档按自然日回溯(1月 / 6月 / 1年 / 3年 / 5年 / 今年以来 / MAX),锚点 = 最新交易日; 锚点若落在非交易日会向前对齐 1~3 天,此时图上方状态行会写明「锚点 X(周几,非交易日)已向前对齐」; 常态下状态行留空(档位由按钮高亮、基期由日期输入框表达,不重复显示),仅在非交易日吸附或输入有误时出文案。
  • 今年以来(YTD):起点 = 上一年最后一个交易日、基点 = 该日收盘,与下方逐年模块的当年柱同口径。
  • 底色块 = 当时目标档位(40% / 50% / 60%);紫色菱形点 = 调仓日;紫色虚线 = 档位移动日。
  • 图下信息条:左侧 = 基点日 → 终点日(跨度与交易日数);右侧 = 「当日收益」横排 —— 先一天日期标签(当日收益 · 数据截至日),随后是各组合条目横向并列, 条目 = 色标 + 组合名 + 当日涨跌(色标与该组合在图中的线色一致:钢蓝 = 基准A、琥珀 = 885000、蓝 = H20269)。 一整行放不下时自动换行;数值 = 最新交易日(数据截至日)的单日收益, 直读 data.json 的 hero.day_ret / day_ret_885 / day_ret_512,不在前端重算;红涨绿跌。
  • 竖版(≤640px)的缩写规则:只保留这半区(基点/跨度行隐藏),条目缩写为 「编号 + 当日涨跌」 —— 隐掉「满仓 」前缀、「(档位漂移)」括注,以及 「当日收益」标签与日期标签,从而把 3 个组合压成一行: 所需宽 295px ≤ 容器 319px(390 宽实测; 360 宽再降一档字号到 10.5px,375 以上仍是 11px)。 后两个标签是1px 裁剪式隐藏(视觉不占位,但仍留在无障碍树里,读屏照常听到)。 🔴 代价:竖版这条只剩数字,判读「这是当日收益」的线索变成 —— 数值用红涨绿跌、而上方图例条的数值用各组合线色;完整组合名在竖版图例条里仍有。
  • 图上方指标卡(当前持仓状态):数字一律钢蓝,不套红涨绿跌;窗口 = 曲线全序列。

② 逐年收益率(首页)

  • 年度收益 = 该年最后交易日净值 / 上一年最后交易日净值 − 1;自 2019 起;带 * 的为年初至今(部分年)。
  • 标题右侧汇总(跑赢年数 / 累计超额 / 年化超额)均为相对比值几何口径;对照标的 = 885000。
  • 柱色编码标的(钢蓝 = 基准A,琥珀 = 885000),正负由零轴上下表达,故不套红涨绿跌。

③ 万得二级行业 · 涨跌幅与估值(首页)

  • 标的 = 万得全A行业指数系列 · 二级(万得指数官网公开发布的价格指数 + 指数估值), 代码 869201~869220,共 20 条、连续无缺号; 首行 万得全A(881001.WI)为市场基准,恒置顶并以琥珀左侧标区分。
  • 2026-09-26 起由一级下钻到二级:一级(869101~869109)仅 9 条、缺房地产与通讯服务; 二级补齐了房地产(869204 全A房地产Ⅱ),「通讯服务」在二级层级仍无独立指数(媒体Ⅱ 属其下)。 名称省去「全A」前缀、「Ⅱ」为万得官方二级标记,且不用其它分类口径的行业指数顶替。
  • 两级切换:模式 = 涨跌幅 / 估值;档位随模式变 —— 涨跌幅为区间档(7D / 1M / 今年以来 / 近一年), 估值为指标档(PE-TTM / PB / 股息率)。任一次切换都按当前读数降序重排,市场行恒置顶。
  • 行结构(2026-09-26 起):涨跌幅模式 = 左分叉区(数值 │ 条)│ 行业名称(定宽居中 = 0 轴) │ 右分叉区(条 │ 数值), 条从名称列边缘向两侧分叉生长,数值固定在行的两端外侧便于纵向扫读; 名称列定宽是全表中轴对齐的前提(每行是独立栅格,只有列宽一致、不随内容变化才对得齐)。 估值模式原值恒 ≥ 0、无「负侧」语义,居中轴只会白空左半区,故名称退回左置、隐藏左分叉区,行变两列。
  • 涨跌幅:数值 = 区间涨跌幅;正收益条向右、负收益条向左,条长 ∝ |涨跌幅| ÷ 当前档全表最大 |涨跌幅| (含市场行,故市场行数值小则条自然短);红涨绿跌(中国习惯),零值走中性灰。 区间规则与主图一致:自然日回溯 + 「≤ 该日」吸附 —— 7D = 锚点前 7 个自然日;1M / 1年 = 先按自然月/年回退再吸附; 今年以来 = 上一年最后一个交易日收盘为基点。各档基点日期写在本模块状态行。
  • 估值:数值 = 该指标当期原值(PE-TTM / PB / 股息率),不做任何历史分位; 条长 = 原值 ÷ 该指标全表最大值(含市场行,故最大值那行满格); 条一律向右、名称左置(见上「行结构」),数值贴行右端。 值取自万得估值序列的末点,末点无值即留空、不回溯旧值(宁缺勿估)—— 因此「房地产Ⅱ」「商业和专业服务」两行的 PE-TTM 显示「—」(两者的 PE 序列末点为空:前者停在 2024-08-23、后者停在 2026-03-27,拿旧值顶替会与标题的 Data as of 冲突)。
  • 为什么没有历史分位(2026-09-27 决定撤掉,本模块原先展示的是「分位数」): 万得公开的指数估值接口对行业指数只回溯到 2023-08-18 (返回 511 行、但只有末 160 行带估值字段,前 351 行连 peValue 字段都没有), 而市场行「万得全A」有 2016-09-30 起的完整 511 点 —— 两种窗口放进同一列, 既不可横向比较,也没法用一句「基准 X 起 N 周」如实标注。 按「宁可不提供,也不给要打折扣的口径」的既定做法,改为只展示当期原值。 审计证据与可复跑脚本见 audit/2026-09-27-sector-val-percentile/。
  • 估值配色刻意不用红绿 —— 红绿在本站专表「涨跌」。 撤掉分位后不再有「低 / 中 / 高」三档,估值行统一暖金色(色号 `--acc` #C69A58,沿用原「分位低」那一档的色号)、缺数行走中性灰。 注意三个指标方向不一:PE / PB 越高越贵,股息率越高越便宜(同样是高值,含义相反)。
  • 没有「近三年」档(2026-09-20 决定撤掉):万得官方公开接口只提供近 1 年日线与 2016 起的周线, 近三年只能用周线近似(基点偏 0~6 天,与官方年化 3Y 还原值最大差 8.4pp),精度不足以并列展示。

④ 盘面概览(首页):均为收盘口径,走势条为近 60 个交易日。

⑤ 调仓记录(首页):按时间倒序。列含义 —— 「调仓前」= 触发日调仓前的 885000 权重; 「目标档」= 调仓后的目标档位;「档位变动」= 移动(目标档前进/后退一档)或「—」(只调回目标档、档位不动); 「当日组合净值」= 该调仓日的组合净值。

⑥ 基准E 主图图例(位于图上方):琥珀主线 = E 版(顶点回归规则); 2026-10-12 起参照线由「原基准A」改为两个指数本身 —— 钢蓝虚线 = 满仓 885000、紫色虚线 = 满仓 H20269 (与「基准A」视图中的同名线同色同口径,均由 e_data.json 的 series.nav_885 / nav_512 同轴输出); 线型口径(2026-10-12 起两视图统一):主线 2px 实线、两条指数参照线 1.3px 虚线,E 视图与基准A 视图观感一致; 紫色竖线 = E 版调仓节点(悬停看明细);琥珀方块 = 顶点回归;圆点 = 最新值。 两版(E 与原基准A)在 2021-01-04 及之前尚未发生档位分歧、收益逐日相等 (该截止日由数据给出,见 e_data.json 的 stats.coincide_until)—— 这一「重合日」事实仍影响上方六卡的胜率口径(已剔除), 原基准A 的完整曲线可在「基准A」视图与指标明细表中查看。 竖版(≤640px)图例只留前三条(E 版 / 满仓 885000 / 满仓 H20269,「(顶点回归规则)」括注收起), 「紫色竖线」操作说明隐藏;各线最右端累计值改显在图例条目末尾(.lgv)。

⑩ 区间超额读数(2026-10-12 起移入悬停 tooltip):图头原先的「跑赢徽章」 (+34.74% 式大数字)已按用户要求移除;把指针悬停到基准E 主图上,tooltip 末行显示 超额 vs 885000 = 当前窗口内 E 版区间收益 − 满仓 885000 区间收益 (数值上等同百分点 pp,页面按百分号显示),随所选窗口实时重算;METRICS 表「差异」列仍给出全区间静态对照。 全区间锚点口径的同一读数(diff_885_pp)由后端算好写入 e_data.json,需要精确值时以它为准。

⑫ E 版图下信息条(2026-09-22 改造,右半区与首页主图同款):左侧 = 规则E 最新持仓状态 (885000 权重 / 目标档 / 偏离 / 距调仓阈值还差多少 pp,口径同首页「组合状态」); 右侧 = 「当日收益」横排 —— 日期标签 + 三个条目横向并列: 钢蓝色标 = E 版(顶点回归规则)、钢蓝 = 满仓 885000、紫 = 满仓 H20269(与主图三线同色)。 数值 = 最新交易日(数据截至日)的单日收益,直读 e_data.json 的 hero.day_ret_e / day_ret_885 / day_ret_512,不在前端重算;红涨绿跌。 竖版(≤640px)只保留这半区(持仓状态行与上方对比卡口径重复,隐藏), 并隐掉「(顶点回归规则)」括注、「满仓 」前缀与日期标签(日期标签为 1px 裁剪式隐藏,读屏仍可听到), 「当日收益」标签同样收进 1px 裁剪隐藏(2026-10-12 条目增至 3 个后与主站同规则), 条目缩写为「E 版 / 885000 / H20269 + 当日涨跌」,三个条目在 360px 窄屏下仍可压成一行(实测 272px ≤ 容器 277px)。 与主站竖版一致:标签隐去后「这是当日收益」只剩红涨绿跌一条线索, 而上方图例(.legendline)是同名同色的区间累计值,注意区分;数据截至日在页脚「数据截至 …」处仍有。

⑦ E 页指标明细表:每行加粗 = 两版中更优的一方(波动 / 回撤越小越优,其余越大越优);口径与首页指标卡同源。

⑧ E 页调仓记录对照表:只记录 E 版的调仓。维持原档 = 只调回目标档、档位不动; 移动档位 = 目标档前进/后退一档;顶点回归 = 贴边后反向第 2 次再平衡、档位直接回到 50%。 「组合净值 / 累计收益」= 该节点当日 E 版的净值与累计收益(曲线起点 1.0)。

⑨ E 版换标的验证(MARKET OVERVIEW 下方):2026-10-12 起为纯数据窗口(原取点走势图已移除)—— 三张卡 = 年化收益 / 今年来收益 / 最新一天涨跌,小字为基准A 同口径对照;区间、起点权重与信号次数见右上角「N signals」。 完整口径见上方「换标的验证口径」一节。

⓫ 组合相关性(行业持仓透视页 · 2026-09-22 新增,2026-10-12 自首页迁入):衡量进攻组合 885000 与防守组合 红利低波全收益(H20269)的「不同步程度」—— 档位漂移能拿到超额,前提正是两个组合不同步。 本模块只保留一条「250 日滚动相关」趋势图(按用户要求精简:原有 4 张读数卡 —— 250 日 / 60 日 / 250 日 beta·波动比 / 相对强弱比率 —— 与 60 / 120 日两个窗口已移除)。

  • 数据与计算:全部由首页已加载的 data.json 净值序列在浏览器端现算, 不新增数据文件、不依赖后端;日收益 = 净值(t) / 净值(t−1) − 1,随 data.json 一同更新。 离线复算脚本 scripts/corr_tracker.py 仍算全套(250 / 120 / 60 日、beta、 波动比、相对强弱比率),需要交叉核对或恢复被移除的读数时以它为准。
  • 滚动窗口 = 250 个交易日(约一年;按交易日计,不是自然日、也不是月); 窗口未满时不出值,故曲线从序列第 251 个交易日(约 2019 年底)才开始。
  • 相关系数 = 窗口内两个组合日收益的皮尔逊相关系数,只表达「同步性」,不含方向与幅度: 为正 = 同涨同跌,接近 0 = 基本无关,为负 = 多数日子反向;零轴虚线即「正相关 / 反相关」两域的分界。
  • 读图三个要点:①只看最新一个数字会被窗口选择误导,务必看曲线形态; ②相关性高 = 两个组合同涨同跌,档位漂移拿不到相对收益,低 / 负相关才是「高抛低吸」的有效环境; ③相关系数不表达对冲效果,要判断「跌的时候另一个组合有没有扛住」, 应另看非对称统计(如 885000 单日跌 ≥1% 时红利低波的平均表现)。
  • 配色不套红涨绿跌(相关性本身没有涨跌方向):曲线为钢蓝、零轴虚线区分两域; 图下信息条 = 250 日相关的历史区间与样本长度;鼠标悬停该点位可读具体相关值。