Files
sanguo_vnpy_v2/docs/superpowers/specs/2026-08-24-factor-batch1-alpha101-158.md
T

65 lines
4.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 因子研究第一批设计:Alpha101+Alpha158 全量挂载与全A重验
> 日期:2026-08-24 session:因子调研 | 状态:设计已获用户确认
> 前置调查:`docs/factor_research/2026-08-20-factor-library-survey.md`(因子库全景)
> 前端设计稿:`docs/factor_research/factor-workbench-mockup.html`(科幻终端风,用户已确认)
## 背景与目标
用户拍板「C 起步」:先建评估能力和因子库,因子研究目的(舰队增强 vs 独立策略)后定。
第一批目标:把 vnpy 自带的 Alpha101(100)+Alpha158(158) 表达式挂进 sanguo_factor,用全A 8.5 年数据批量评估,产出 IC 排行榜筛选有效因子;同时建前端「因子研究工作台」三页面。
**⚠️ 部署要求(用户 2026-08-24 明确):评估管线最终要部署到 VPS,不是仅跑 NAS。**
- 实现上:评估管线是平台代码(scripts + sanguo_factor + API + 前端),走标准 promote 链(push→NAS 自动验证→用户确认推 VPS)
- VPS 有 42.8G 权威 quant_trading.dbdbbardata),数据完全够;NAS 26G 副本用于验证
- 资源策略:冒烟先测耗时;全量错峰;因子分批算控内存;VPS 上注意与 schtask 采集任务错峰
## 本地家底(已实证)
- `sanguo_factor/`registry/library/analyzer(alphalens IC+tears)/alpha_lab/data_adapter + web APIPOST /factor/analyze、GET /factor/list+ 5 测试文件;内置仅 7 个基础因子
- vnpy 自带:`vnpy_v4.4.0/vnpy/alpha/dataset/datasets/alpha_101.py`100 个表达式全实现)+ `alpha_158.py`(qlib 同款 39 定义×多窗口);算子 46 个全覆盖 Alpha101 需求
- 接入缺口:① dbbardata 无 vwap 列(Alpha101 用 59 次)② AlphaLabSession 缓存上限 50 只(横截面不够)③ 无批量评估入口
## 评估口径(已定)
| 维度 | 选择 |
|------|------|
| 股票池 | 全A 主板+创业板,剔科创/北交、ST、上市<120日新股;退市股保留(无幸存者偏差)≈4,300-4,500 只 |
| 时间窗 | 2018-01-01 ~ 2026-06-308.5年完整牛熊) |
| 频率 | 日频因子值,日频 RankIC,前瞻收益 1/5/10 日 |
| 不做 | 行业中性化(行业数据缺口,先跑基线,IC 数据说话后再决策) |
## 后端设计
1. **因子挂载**:新模块把 alpha_101.py/alpha_158.py 的表达式注册进注册表(category=alpha101/alpha158
2. **vwap 派生列**data_adapter 层补 `vwap = turnover/volume`volume=0 置 null),不动生产库
3. **批量评估脚本** `scripts/factor_research/`:全A清单(dbbardata distinct)→分批加载→因子分批算(15-20个/批,防内存爆)→逐因子 IC/ICIR/t统计/胜率/多空/换手汇总→结果落盘(SQLite 或 CSV+markdown,供 API 读)
4. **冒烟先行**50 只 × 2024 年 × 10 因子验证管线+实测耗时,再全量
5. **股票池缓存扩容**AlphaLabSession 50 只上限改为可配置/批量路径
6. **新 API**GET /factor/leaderboard?batch=&category=&period=(读评估结果)、POST /factor/batch_eval(提交批量评估任务,走任务中心);tears 按需
## 前端设计(mockup 已确认,科幻终端风 1:1 对齐 tokens.css
路由挂侧边栏「投研」组(现只有「因子分析」):
1. **IC 排行榜** `/factor/leaderboard`:4 统计瓦片(参评/有效/观察/TOP1多空)+ 筛选栏(批次/类别chips/搜索/1D5D10D切换)+ 主表格(排名/因子名带公式缩略/类别chip/IC均值带色条/ICIR/t值/胜率/多空年化/换手/IC趋势sparkline/信号灯结论)+ 行点击进详情
2. **因子详情** `/factor/leaderboard/:factor`:表达式卡片(青色mono)+ 6 格指标条 + 月度IC柱状&累计IC线(青线glow+ 十分组收益柱状 + tears 入口
3. **批量评估** `/factor/batch`:01股票池(3预设卡:全A/中证800/自定义)→ 02因子集(按类勾选,未就绪置灰占位)→ 03时间窗(显示预估耗时)→ 提交进任务中心
- 视觉:深空黑 #05080d/荧光青 #00e5ff/琥珀 #ffb000/红涨绿跌/term-grid/信号灯结论(●绿有效/●琥珀观察/●灰淘汰)/近直角/mono数字/类别chip=青(alpha101)/紫 #b48cff(alpha158)/琥珀(内置)
## 结果筛选(评估跑完后)
|IC|+ICIR 初筛(阈值看数据分布定)→ 相关性聚类去重(同质合并)→ 产出第一批结论报告
## YAGNI(明确不做)
行业中性化、因子合成/组合权重、Alpha360、GTJA191 移植(第二批)、聚宽财务因子(第三批)、动 web 既有页面
## 验收标准
1. `/factor/list` 列出 alpha101/alpha158 类目(258 因子)
2. 冒烟跑通,IC 量级合理(|IC|普遍<0.1
3. 全量 IC 排行榜落盘,前端三页可用(NAS 验证)
4. 挂载+vwap 派生有单测;CI 绿
5. **部署链走通:NAS 验证绿 → 用户确认 → 推 VPS 可跑**