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

4.8 KiB
Raw Blame History

因子研究第一批设计: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.py100 个表达式全实现)+ 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/volumevolume=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. 新 APIGET /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 可跑