con un clic
stock-picker
全栈多因子量化选股系统 — 14直连数据源/30+因子/短线尾盘+长线持股/历史快照回测/自学习权重/Ridge三段式优化
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Menú
全栈多因子量化选股系统 — 14直连数据源/30+因子/短线尾盘+长线持股/历史快照回测/自学习权重/Ridge三段式优化
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Basado en la clasificación ocupacional SOC
| name | stock-picker |
| description | 全栈多因子量化选股系统 — 14直连数据源/30+因子/短线尾盘+长线持股/历史快照回测/自学习权重/Ridge三段式优化 |
| origin | custom |
| version | 4.2 |
14 个直连数据源 · 30+ 量化因子 · 短线/长线双策略 · 回测引擎(历史快照) · Ridge 自学习权重三段式 · 数据源级独立熔断
兼容 Claude Code · OpenClaw · Codex · Hermes
项目路径
C:\Users\Administrator\Documents\stock-pickerC:\Users\Administrator\AppData\Local\Programs\Python\Python310\python.execonfig.ymlSKILL.mdCHEATSHEET.md快速命令表
# 短线策略(全流程 ~4 分钟)
python scripts/eod_stock_picker.py --mode short
# 查看状态和近期表现
python scripts/eod_stock_picker.py --status
# 长线策略
python scripts/eod_stock_picker.py --mode long
# 回测验证(默认近 3 个月 2026-04-01 ~ 2026-06-27)
python scripts/run_backtest.py --mode short
# 指定区间回测
python scripts/run_backtest.py --mode short --start 2026-01-01 --end 2026-06-27
# 回测版本查看 / 对比
python scripts/run_backtest.py --list
python scripts/run_backtest.py --compare 1 2
# K 线因子专项回测(仅量价+动量+技术)
python scripts/run_backtest.py --mode kfactor --start 2026-01-01 --end 2026-06-27
# 健康检查 23 项
python scripts/verify.py
# 权重优化(仅报告,不写入)
python -c "from feedback.optimizer import WeightsOptimizer; from feedback.tracker import PredictionTracker; import yaml; cfg = yaml.safe_load(open('config.yml')); t = PredictionTracker(); o = WeightsOptimizer(); r = o.check_and_report(t, cfg.get('weights',{}), 'short'); print(r['summary'])"
飞书格式铁律(每条消息前自检)
| 符号 — 飞书表格降级成纯文本,不用表格线### #### 标题 — 用 **粗体** 替代--- 分隔 — 保持阅读节奏``` 包裹因子架构表(7 因子 + risk)
数据源熔断状态(当前)
big_deal — 通ths_fund_flow — 通north_flow — 通(asharehub)lockup — 通asharehub_moneyflow — 通asharehub_tech_factors — 通asharehub_concepts — 通asharehub_financial — 通ASHareHub 4 端共享日配额 100 次,用满静默降级,独立熔断。熔断每 10 分钟自动恢复。
审计框架
业务 4 层
工程 3 维
short_term.weights / API Key 必须环境变量 / sell 参数必须从 config 读取而非硬编码回测与优化器的关系
回测能验证的(量价 + 动量 + 技术因子)
volume_price / momentum / technical 从历史 K 线重新计算,在回测中有真实方差回测不能验证的(资金流 + 北向 + 热点 + 龙虎榜)
优化器的工作
check_and_report() → 审批 → apply_from_report()最佳实践:先用默认权重跑实盘积累记录 → 让 Ridge 回归纳一化调整 → 审批后 apply → 下次回测对比效果。
代码改动纪律(三步走)
禁止的改动模式
predictions.db 的 SQLite 结构——那是优化器的数据来源em_get 已经是串行的config.yml sell 段读取np.random——必须用真实 K 线import——统一放文件顶部所有常见陷阱(编号 1-22)
true/false 不是 Python 字面量。optimizer._load_history() 已修复。em_get 已经是串行的。short_term.weights,不是 short_term.weights_model。adjustflag='1'(后复权),不是 '2'(前复权)。self._save_state() 保存运行状态。run_backtest.py --start 默认 2026-04-01,--end 默认 2026-06-27。_get_capital_flow_push2() 方法已移除。push2.eastmoney.com 仅存在于板块归属 URL 中(走 em_get 限流),不是数据源。core/model_registry.py 整文件移除(144 行死代码),版本管理通过带时间戳的权重文件实现。check_and_report() 只产出报告不写入 → 审批 → apply_from_report() 写入。maybe_optimize() 保留原签名但降级为只报告。.last_optimize_short 计数文件在 data/cache/,不在 data/weights/。predictions(date, code, mode) 有 UNIQUE 索引,重复插入会抛异常。json.dumps(factor_scores, default=str) 处理 numpy 类型。_load_factor_data() 连接无 try/finally(已知遗留,低风险)。sell_config 参数传入 ScoringModel,short_term.sell.take_profit / stop_loss,不再硬编码。数据状态(截至 2026-06-27)
最新回测成绩(2026-04-01 ~ 2026-06-27)
因子 IC(近 3 个月回测)
volume_price — IC +0.1202 / 强有效technical — IC +0.0916 / 强有效hot_theme — IC -0.0394 / 反向momentum — IC -0.0382 / 反向dragon_tiger — IC -0.0076 / 噪声系统运行状态
策略运行时序
14:50 启动
├── get_all_codes() 0.001s
├── get_all_quotes() ~46s
├── get_ths_hot_stocks() ~0.22s
├── _prefilter() ~0.5s
├── 5维预评分 ~0.3s
├── get_main_fund() ~25s(首次)/ 毫秒(有缓存)
├── get_kline() × 200 ~25s(3线程并行)
├── RPS 排名 ~0.1s
├── scoring_model.score() ~0.2s
├── portfolio_optimizer ~0.05s
├── 板块 + 龙虎榜(Top 3) ~8s(em_get 限流)
└── 输出简报 15:00 前完成
数据源优先级速查
铁律:K 线不要走 baostock(~8s/只),用 mootdx TCP(~0.1s/只)。