with one click
stock-picker
全栈多因子量化选股系统 — 14直连数据源/30+因子/短线尾盘+长线持股/历史快照回测/自学习权重/Ridge三段式优化
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
全栈多因子量化选股系统 — 14直连数据源/30+因子/短线尾盘+长线持股/历史快照回测/自学习权重/Ridge三段式优化
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
| 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/只)。