/~learn/s/3745a48f
> 最后更新:2026-10-24 > 这是截面选基系统的总目录页。所有因子策略、铁律、权重方案、变更历史都在这里索引。 > 页面右上角「📚 因子文档目录」按钮直达本页。
---
| 序号 | 文档 | 核心内容 | 适合什么时候读 |
| :---: | ------ | --------- | ------------- |
| 00 | 本页:因子策略目录 | 全部因子一览、新旧对比、变更历史 | 调因子前先看这里 |
| 01 | 理解系统 | 系统7步流程、5因子含义、regime天气判断 | 第一次接触系统 |
| 02 | 验证系统 | 牛熊回测数据、超额收益、胜率 | 建立信任、怀疑系统时 |
| 03 | 约束自己 | 9条铁律(操作纪律+全球化分散) | 管不住手想操作时 |
| 04 | 选基择时融合方案 | 6种仓位融合方案分析 | 想结合择时信号时 |
| 05 | 全球化分散铁律与因子权重调整 | v3全球化版本变更日志、区域CAP、QDII加成 | 理解为什么A股不再占70% |
| 06 | 仓位满仓化与择时联动方案 | 五层过滤 + 动态递补、目标95%仓位、溢价系数 | 想知道"为什么只买这几只、仓位怎么凑满"时 |
| 07 | 动量窗口依据与长期反转因子增强方案 | 为什么动量封顶120日、学术铁三角、候选新因子(真实PE长期估值反转) | 怀疑"120日太短/错过深跌机会"时必读 |
| 08 | 反追高因子研究:方差归一化与估值感知改造方案 | 反追高因子的方差归一化、估值感知改造 | 觉得反追高"误杀好品种"时 |
| 09 | 市场状态平滑过渡:因子权重连续化与标签滞后 | regime 标签滞后、权重连续化,防权重突跳 | 觉得"权重一天一个样"时 |
| 10 | 有效前沿优化基准仓位-从理论到实践 | 有效前沿优化基准仓位 | 想理解基准仓位怎么定 |
| 11 | 🆕 截面选品与择时信号的双时钟错配与持仓年龄 | 品种周频 vs 信号日频的错配实测、换手成本、持仓年龄三定义、P0~P5候选整改 | 觉得"品种天天进出、权重天天跳"时必读 |
| 12 | 🆕 惯性层周度换仓回放与典型case | 135 个交易日隔离回放:滚动 5 日窗口最多新进 3 只、因子掉队仍持有 565 个持仓日、745 条高分新面孔被挡、生产惯性状态被清空隐患 | 想确认"惯性到底管不管用、多久换一次"时必读 |
---
| 因子 | 中文列名 | 问的问题 | 当前窗口/参数 | 权重(震荡市) | 权重(牛市) | 权重(熊市) |
| ----- | --------- | --------- | ------------- | :----------: | :----------: | :----------: |
| Momentum | 动量 | 近1-6个月涨了多少?涨得干净吗? | 20/60/120日(0.4/0.3/0.3) + R²趋势质量 + 回撤惩罚 | 20% | 35% | 10% |
| Sharpe | 夏普 | 涨的时候波动小吗?承担单位风险赚多少? | 60日滚动夏普 | 15% | 20% | 5% |
| Overbought Avoid | 反追高 | 现在是不是太热了?最近暴涨的危险吗? | 20日乖离率 + RSI | 27% | 15% | 33% |
| Vol Stability | 稳定性 | 最近波动稳定吗?有没有暴涨暴跌? | 60日波动率倒数 | 25% | 20% | 32% |
| Valuation | 估值锚 | 相对历史估值在什么位置? | PE/PB分位数(适用品种) | 13% | 10% | 20% |
> 权重自动切换:由 AdaptiveWeightEngine 根据沪深300年线位置+波动率比+趋势强度判断 regime(BULL/MILD_BULL/RANGING/HIGH_VOL/BEAR/SEVERE_BEAR),动态调整各因子权重。 > 代码位置:weight_engine.py
| 乘数 | 触发条件 | 倍率 | 设计意图 |
| ----- | --------- | :---: | --------- |
| 极端超卖惩罚 | 反追高因子 < 0.15(RSI>85级别) | ×0.70 | 防止追高买入次日暴跌的品种 |
| 严重超买惩罚 | 反追高因子 0.15~0.25 | ×0.85 | 同上,温和版本 |
| 非大中华QDII加成 | category=跨境 && 非港股/非中概 | ×1.08 | 鼓励全球分散 |
| 大中华QDII加成 | category=跨境 && 港股/中概 | ×1.03 | 温和鼓励 |
| 债券加成 | category=债券 && BEAR/HIGH_VOL | ×1.10 | 熊市避险 |
| 黄金加成 | sub_category=贵金属 && BEAR/HIGH_VOL | ×1.15 | 熊市避险 |
| REITs加成 | category=REITs && BEAR/HIGH_VOL | ×1.05 | 熊市抗跌 |
| 债券/黄金扣分 | BULL regime | ×0.95 | 牛市不避险 |
---
| # | 铁律 | 内容 | 执行位置 |
| :-: | ----- | ------ | --------- |
| 1 | 周一调仓 | 周五出结果,周一执行,其余时间不动 | 人工执行 |
| 2 | 无警报不干预 | 没有数据过期/状态切换信号就不手动操作 | 人工执行 |
| 3 | 先执行后质疑 | 收到推送30分钟内先按权重买,再慢慢研究 | 人工执行 |
| 4 | 半仓过渡 | 害怕的话减半执行,不要0%空仓 | 人工执行 |
| 5 | 不抄底不逃顶 | 系统让买就买,让卖就卖 | 人工执行 |
| 6 | 不看消息操作 | 新闻/大V观点不构成操作依据 | 人工执行 |
| 7 | 持续记录 | 每次偏离系统都记下来,月底复盘 | 人工执行 |
| 8 | 信任回测 | 系统在2021-23熊市少亏13%,2024-25牛市跟上14%超额 | 建立信念 |
| 9 | 全球化分散 | 任意超级大类≤40%,大中华≤50%,QDII≥4只(非大中华≥2),港股≥1 | 代码强制执行 |
---
| 区域 (asset_region) | 包含品种 | 硬上限 |
| ------------------- | --------- | :-----: |
| A股本土 | 宽基指数 + 行业主题 + 策略风格 | 40% |
| 港股 | 港股ETF + 港股红利 + 中概互联 | 30% |
| 美股 | 纳斯达克/标普500/道琼斯/美国消费等 | 40% |
| 日股 | 东证指数/日经225 | 20% |
| 欧亚太 | 德国/印度/越南/韩国/东南亚 | 20% |
| 防御 | 债券 + 商品(黄金/原油) + REITs | 30% |
| 大中华合计 | A股 + 港股 + 中概 | ≤50% |
| 关系 | 阈值 | 含义 |
| ----- | :---: | ------ |
| 任意两个区域(含 A股↔A股、A股↔港股、A股↔美股/日股) | 0.92 | 只剔"几乎完全重合"的同指数克隆 |
> ⚠️ 2026-10-24 起取消跨区域差异化阈值(曾为 0.65/0.70/0.80)。实测反例:日经225 与 标普500 的 60 日相关 0.873,被 0.80 误判成重复品种剔掉,而两者跟踪指数、成份股、交易时区完全不同。跨区域低相关正是分散化的收益来源,"因为相关就剔掉"是把分散化做反了。同指数克隆的真正拦截在 dedup_by_index(按 underlying_index / 名称家族),不靠相关性阈值。
dedup_by_index)| 层 | 分组依据 | 保留规则 |
| ---- | --------- | --------- |
| 第一层:底层指数 | underlying_index 相同(如 513100/159941 都跟 NASDAQ100) | 只留一只代表:有行情快照时按「组内成交额百分位 50% + 跨境溢价分 50%」打分;无快照回退为因子分最高者 |
| 第二层:名称家族 | NAME_FAMILIES 关键词命中(创业板/科创、恒生、黄金、纳指) | 2026-10-24 起不再只留一只:同族成员按排名逐个过 0.92 相关性阈值,只有"几乎完全重合"才剔;另设宽上限 FAMILY_MAX_MEMBERS = 6 防极端堆叠。无快照时保守回退为只留排名最高者 |
> 为什么家族层要改:NAME_FAMILIES 是名称关键词硬映射,不看相关性。纳指ETF(513100) 与 纳指生物科技ETF(513290) 都命中「纳指」→ 旧逻辑强行同族只留一只,但实测 60 日收益相关仅 0.200(2026-10-23),剔掉等于删掉真实分散来源。同理 恒生ETF(159920) vs 恒生科技ETF(513180) 相关 0.898,也该同时持有。
---
| 大类(Category) | 最多入选 | 备注 |
| --------------- | :-------: | ------ |
| 宽基指数 | 3 | 沪深300/中证500/上证50/创业板等 |
| 行业主题 | 3 | 科技/医药/消费/金融等 |
| 跨境 | 5 | 含所有QDII |
| 债券 | 2 | 国债/金融债 |
| 商品 | 2 | 黄金/原油 |
| REITs | 1 | |
| 策略风格 | 2 | 红利/低波等 |
---
变更背景:v2版本选出的Top10中A股占70-80%,严重偏离全天候初衷;美股只留1只(NAME_FAMILIES bug导致纳指/道琼斯全被"美股家族"去重掉);国芯ETF(ob=0.07)严重超买仍排#1次日暴跌-6.58%。
变更内容:
| 变更项 | v2(旧) | v3(新,当前) |
| ------- | --------- | -------------- |
| 动量窗口 | [60, 120] 权重[0.5,0.5] | [20,60,120] [0.4,0.3,0.3] — 加入短周期 |
| 反追高权重(震荡市) | 22% | 27% |
| 稳定性权重(震荡市) | 20% | 25% |
| 极端超买硬惩罚 | ❌ 无 | ✅ ob<0.15 ×0.7,ob<0.25 ×0.85 |
| NAME_FAMILIES美股家族 | 纳指/标普/道琼/美国50全归一类,只留1只 | 只留"纳指家族"(纳指+纳斯达克互斥,同跟踪NASDAQ100),标普/道琼/美国50各自独立。⚠️2026-10-24 起家族层不再强制只留一只,改为按 0.92 相关性判定 + 最多 6 只,见上文「同克隆去重的两层口径」 |
| 区域CAP | ❌ 无 | ✅ 6大区域硬上限 |
| 大中华合计上限 | ❌ 无 | ✅ ≤50% |
| QDII保底 | ❌ 无 | ✅ 跨境≥4只,非大中华≥2只,港股≥1只 |
| 相关性阈值 | 统一0.65 | ~~区域差异化 0.65/0.70/0.80~~ → 2026-10-24 起统一 0.92 |
| 防御类硬惩罚 | 债券×0.82, REITs×0.88, 商品×0.95(无脑) | 按regime动态,熊市加成/牛市扣分 |
| QDII软加成 | ❌ 无 | 非大中华×1.08,大中华×1.03 |
| 相关性候选池 | 只取top_n=10只做相关性过滤 | min(top_n×2, top_n+10)=18~20只,防止池耗尽 |
| 因子明细展示 | 排名表4列,持仓表无 | 两表都展示5列(动量/夏普/反追高/稳定性/估值锚) |
| 因子估值锚列 | DB未存储,API不返回 | ✅ DB/API/前端全链路补全 |
| ETF池 | 107只 | 108只(新增159536印度基金LOF) |
| 文档入口 | 无 | ✅ 策略持仓页直达本目录 |
v3实测结果(2026-07-10数据):A股33.1%, 美股26.7%(3只:标普/纳指/标普消费), 日股8.9%, 港股7.4%, 欧亚太7.9%, QDII合计50.9%
---
weights 字典;或编辑 multi_factor_selector.py 中 _get_regime_weights()multi_factor_selector.py 的 adaptive() 工厂方法中 MomentumFactor(windows=..., weights=...)REGION_CAPS 字典CATEGORY_CAPS / SUB_CATEGORY_CAPSdiversification.py 中 _region_pair_threshold() 方法multi_factor_selector.py 中综合分合成后的乘数代码段etf_pool.py 的 ETF_POOL 列表中添加,指定 category/sub_category,asset_region 会自动检测env -u PYTHONHOME -u PYTHONPATH bash restart.sh 重启服务,下周五推送会自动使用新参数---
页面表格里「动量/夏普/反追高/稳定性/估值锚」5列的数字都是 0~1归一化分数:
| 分数区间 | 含义 |
| :------: | ------ |
| 0.8~1.0 | 该维度极优(如动量0.9=全池动量Top10%) |
| 0.6~0.8 | 该维度良好 |
| 0.4~0.6 | 该维度中等 |
| 0.2~0.4 | 该维度较差 |
| 0.0~0.2 | 该维度极差(如反追高0.07=严重超买) |
每个因子旁边的小字(如 +0.0123 或 -0.0198)是与上周相比的变化值,绿色=改善,红色=恶化。
一个健康的入选品种通常:动量>0.5,夏普>0.5,反追高>0.3(不能太热),稳定性>0.4,估值锚>0.3(不能太贵)。