GitHub
eeed45b171
fix(bars): 指数/个股 K 线 vol 字段协议语义修正(#64)
通达信服务端 K 线记录第一个 4 字节字段的语义随周期/品种变化,此前原样
透传错误数据(逐字节拆包 + 新浪实时行情/东方财富三方交叉验证锁定):
- 指数分钟线(MIN_1/3/5/15/30/60,含 880xxx 板块指数):f1 实为
成交额(百元),与 amount 恒差 100 倍,真实分钟成交量不在报文中
(15:00 上证 5min 真值 13,954,814 手 vs 返回 208,748,512≈amount/100)
→ vol 置 NaN,不拿成交额冒充成交量;
- 指数与个股周/月/季/年线(cat 5/6/10/11):f1 = 真实成交量/100
(上证本周三日日线 vol 合计 1,666,668,288 手 vs 周线 16,666,683)
→ ×100 还原,与日线单位对齐(指数=手、个股=股);
- 日线(cat 4)与 cat 9(日线变体,枚举名误标 YEAR,真年线是 cat 11)
不受影响,cat 9 明确不套 ×100 并由测试锁定。
配套:DataFrameResponse NaN→null(Starlette allow_nan=False 透传会 500);
client/路由 docstring 写明各单位;回归测试 7 例(实抓原始字节构造报文);
验收脚本 scripts/verify_issue64.py 连真实服务器复测。附带发现仅记录:
指数分时 vol=成交额(万元)、/bars?category=YEAR 实际返回日线(cat 9)。
2026-09-02 17:12:00 +08:00
..
2026-04-11 19:55:19 +08:00
2026-08-26 15:00:53 +08:00
2026-05-22 22:44:45 +08:00
2026-06-12 21:10:50 +08:00
2026-06-09 18:15:37 +08:00
2026-06-10 15:03:41 +08:00
2026-09-01 23:47:06 +08:00
2026-07-04 00:08:38 +08:00
2026-06-12 20:59:59 +08:00
2026-09-01 22:16:44 +08:00
2026-09-01 22:17:08 +08:00
2026-07-04 00:08:38 +08:00
2026-07-09 20:34:23 +08:00
2026-07-10 15:17:00 +08:00
2026-09-01 22:17:57 +08:00
2026-06-12 20:47:03 +08:00
2026-07-09 20:16:12 +08:00
2026-06-09 16:43:44 +08:00
2026-09-01 22:17:08 +08:00
2026-09-02 17:12:00 +08:00
2026-05-22 04:19:07 +08:00
2026-06-11 22:56:23 +08:00
2026-08-26 15:21:35 +08:00
2026-06-10 15:03:41 +08:00
2026-06-11 02:25:42 +08:00
2026-06-17 18:17:32 +08:00
2026-07-02 03:37:37 +08:00
2026-06-14 23:58:24 +08:00
2026-07-02 03:37:37 +08:00
2026-06-30 15:02:27 +08:00
2026-05-21 23:21:21 +08:00
2026-05-21 23:21:21 +08:00
2026-05-21 23:21:21 +08:00
2026-09-01 17:45:07 +08:00
2026-07-07 20:36:44 +08:00
2026-07-07 20:13:39 +08:00
2026-09-01 22:56:38 +08:00
2026-07-13 15:59:28 +08:00
2026-09-01 17:58:12 +08:00
2026-06-13 21:21:33 +08:00
2026-06-13 21:21:33 +08:00
2026-06-13 21:21:33 +08:00
2026-06-13 21:21:33 +08:00
2026-06-13 21:21:33 +08:00
2026-08-05 15:58:00 +08:00
2026-06-10 15:03:41 +08:00
2026-09-01 22:17:57 +08:00
2026-09-01 22:17:57 +08:00
2026-09-02 11:53:53 +08:00
2026-09-01 22:17:08 +08:00
2026-07-13 15:59:28 +08:00
2026-06-10 15:03:41 +08:00
2026-07-04 02:11:27 +08:00
2026-06-10 15:03:41 +08:00
2026-06-30 15:02:27 +08:00
2026-07-03 22:42:04 +08:00
2026-07-04 00:17:06 +08:00
2026-07-03 15:42:06 +08:00
2026-07-04 21:07:39 +08:00
2026-06-14 18:46:02 +08:00
2026-09-01 22:17:08 +08:00
2026-08-19 18:55:48 +08:00
2026-07-03 03:34:34 +08:00
2026-07-09 20:16:12 +08:00
2026-07-10 15:17:00 +08:00
2026-06-13 21:21:33 +08:00
2026-08-26 15:00:53 +08:00
2026-09-02 10:44:09 +08:00
2026-09-01 22:16:44 +08:00
2026-09-01 17:45:07 +08:00
2026-09-01 23:21:42 +08:00
2026-09-01 23:21:42 +08:00
2026-06-11 02:34:00 +08:00
2026-07-02 03:37:37 +08:00
2026-06-25 03:46:57 +08:00
2026-08-21 16:57:12 +08:00
2026-06-15 00:31:13 +08:00
2026-07-04 20:50:07 +08:00
2026-06-13 21:09:55 +08:00
2026-09-01 22:16:44 +08:00
2026-09-02 10:44:09 +08:00
2026-09-01 22:17:28 +08:00
2026-09-01 17:52:36 +08:00
2026-09-01 18:33:49 +08:00
2026-08-19 19:00:42 +08:00
2026-06-07 21:13:49 +08:00
2026-08-31 20:43:35 +08:00
2026-06-07 21:13:49 +08:00