claude_dev
e7f9426bcd
feat(data): get_closes_panel 生产化(qfq 前复权 + UNION ALL 340x 提速 + chunk) + 000938 行情
G5-P1 接口生产化(本地已建 c8f26be 但未部署 VPS — 策略 session 报缺失的根因):
- fq 参数(raw/qfq/前复权, 默认 raw 向后兼容): 批量前复权用单次 WHERE code IN (...) 查
bs_adjust_factor + merge_asof 向量化 asof, 对齐聚宽默认前复权(RPS/均线/动量跨期必需)。
- 性能修复: 原 (symbol=? AND exchange=?) OR 大链打不动复合索引 -> SQLite 全表扫(5只10.6s);
改 UNION ALL per symbol 走 (sym,exc,interval,datetime) 索引 SEEK(5只0.03s, 340x)。
- chunk=400 抗大体量(参数<999 版本安全); interval/start/end regex 校验字面量注入。
- 部署 VPS。实测 5128只(000985) raw 68s / qfq 33s(逐只会卡死); 200只 qfq 0.9s。
qfq 与 get_price(fq=qfq) max_diff=0.00; 22 测试 0 回归。
P2 000938: sina_index_eod CODES 加 000938 -> 腾讯灌 1591 行点位(1395~2884, 非基金净值);
腾讯对该码停 2023-02-17(数据源限, 非代码问题)。
解锁: 策略02(000985 5128只选股) + 策略03 长期回测; 策略层 pandas 向量化(P2)归策略 session。
2026-07-28 23:03:32 +08:00
..
2026-07-18 18:45:24 +08:00
2026-07-18 18:45:24 +08:00
2026-07-18 18:45:24 +08:00
2026-07-18 18:45:24 +08:00
2026-07-23 09:04:01 +08:00
2026-07-23 09:04:01 +08:00
2026-07-23 09:04:01 +08:00
2026-07-23 09:04:01 +08:00
2026-07-28 20:36:11 +08:00
2026-07-23 07:20:34 +08:00
2026-07-13 11:56:23 +08:00
2026-07-23 07:20:34 +08:00
2026-07-22 10:34:22 +08:00
2026-07-22 10:34:22 +08:00
2026-07-22 10:34:22 +08:00
2026-07-22 10:34:22 +08:00
2026-07-22 10:34:22 +08:00
2026-07-22 10:34:22 +08:00
2026-07-22 10:34:22 +08:00
2026-07-22 10:34:22 +08:00
2026-07-10 07:10:36 +08:00
2026-07-22 10:34:22 +08:00
2026-07-23 07:20:34 +08:00
2026-07-28 20:36:11 +08:00
2026-07-22 10:34:22 +08:00
2026-07-23 07:20:34 +08:00
2026-07-23 07:20:34 +08:00
2026-07-07 22:19:11 +08:00
2026-07-07 19:41:07 +08:00
2026-07-22 10:34:22 +08:00
2026-07-22 10:34:22 +08:00
2026-07-22 10:34:22 +08:00
2026-07-07 19:41:07 +08:00
2026-07-23 07:20:34 +08:00
2026-07-23 12:18:41 +08:00
2026-07-23 07:20:34 +08:00
2026-07-18 18:45:24 +08:00
2026-07-12 08:26:30 +08:00
2026-07-07 19:41:07 +08:00
2026-07-23 07:20:34 +08:00
2026-07-09 19:22:36 +08:00
2026-07-22 10:34:22 +08:00
2026-07-22 10:34:22 +08:00
2026-07-22 10:34:22 +08:00
2026-07-23 12:18:41 +08:00
2026-07-15 07:12:46 +08:00
2026-07-22 10:34:22 +08:00
2026-07-07 19:41:07 +08:00
2026-07-22 10:34:22 +08:00
2026-07-22 10:34:22 +08:00
2026-07-28 21:54:46 +08:00
2026-07-23 07:20:34 +08:00
2026-07-23 07:20:34 +08:00
2026-07-23 09:04:00 +08:00
2026-07-23 07:20:34 +08:00
2026-07-15 07:12:46 +08:00
2026-07-22 10:34:22 +08:00
2026-07-28 20:36:11 +08:00
2026-07-23 12:18:41 +08:00
2026-07-28 22:15:19 +08:00
2026-07-23 08:49:56 +08:00
2026-07-23 07:20:34 +08:00
2026-07-23 07:20:34 +08:00
2026-07-22 10:34:22 +08:00
2026-07-22 10:34:22 +08:00
2026-07-22 10:34:22 +08:00
2026-07-22 10:34:22 +08:00
2026-07-22 10:34:22 +08:00
2026-07-23 08:25:44 +08:00
2026-07-15 07:12:46 +08:00
2026-07-07 19:41:07 +08:00
2026-07-12 08:26:30 +08:00
2026-07-24 00:20:36 +08:00
2026-07-23 07:20:34 +08:00
2026-07-18 18:45:24 +08:00
2026-07-13 11:56:23 +08:00
2026-07-15 21:35:59 +08:00
2026-07-28 21:54:46 +08:00
2026-07-28 23:03:32 +08:00
2026-07-23 07:20:34 +08:00
2026-07-22 10:34:22 +08:00
2026-07-22 10:34:22 +08:00
2026-07-07 19:41:07 +08:00
2026-07-18 18:45:24 +08:00
2026-07-07 19:41:07 +08:00
2026-07-23 09:06:00 +08:00
2026-07-23 07:20:34 +08:00
2026-07-23 07:20:34 +08:00
2026-07-22 10:34:22 +08:00
2026-07-23 07:20:34 +08:00
2026-07-22 10:34:22 +08:00
2026-07-22 10:34:22 +08:00
2026-07-15 07:12:46 +08:00
2026-07-23 08:25:44 +08:00
2026-07-23 07:20:34 +08:00
2026-07-27 20:56:16 +08:00