release: v1.17.5 — 港股逐笔成交协议路由修复 (issue #14)

MacExClient.goods_transaction 此前对所有扩展市场统一复用 A 股 MAC 协议的
SymbolTransactionCmd(0x122F),但 0x122F 数据源未接入港股,服务器对港股
market 一律返回 39 字节空响应(count=0)。

港股股票类市场(HK_STOCK_MARKETS = {27,31,48,49,71,98})改走 ex 扩展行情
协议:query_date=None → GetExTransactionDataCmd(0x23FC 当日),指定日期 →
GetExHistoryTransactionDataCmd(0x2406 历史)。返回的 ExTransactionRecord
(price 为整数、单位 0.001 HKD)映射为与 A 股 MacTransaction 一致的 schema,
价格 ÷1000 换算为港元浮点,与港股分时图 float 价格对齐。count > 1800 时按
1800/页自动分页。其余扩展市场(美股 / 期货等)保持 MAC 0x122F 路径不变。

新增 src/easy_tdx/ex/_hk_transaction.py(市场判定 + 字段映射 + 自动分页,
同步/异步共用);回归测试 24 例(tests/unit/test_hk_transaction.py)+ 真实
fixture(港股 00700 在 2026-07-03 的 0x2406 响应)。862 单测全绿,ruff /
mypy strict 通过。
This commit is contained in:
Justin Gu
2026-07-04 01:29:17 +08:00
parent 648c9ccfaf
commit 40ae2eba53
7 changed files with 561 additions and 1 deletions
+1
View File
@@ -0,0 +1 @@
1f303037303000000000000000000a00bf03b89606002c010000000000000002bf03b896060064000000000000000002bf03b89606001f000000000000000002bf03b896060064000000000000000002bf032895060064000000000000000002bf0328950600c8000000000000000002bf03289506002c010000000000000002bf03b8960600c8000000000000000002bf03b896060064000000000000000002c803609406002c430e00000000000002
+22
View File
@@ -0,0 +1,22 @@
{
"_comment": "港股 00700 (HK_MAIN_BOARD, market=31) 2026-07-03 历史 0x2406 响应 body。issue #14 fixture。价格字段为整数(单位 0.001 HKD):431800 = 431.8 港元。时间 15:59=收盘竞价、16:08=收盘集合竞价大单。",
"market": 31,
"code": "00700",
"num_records": 10,
"first": {
"hour": 15,
"minute": 59,
"second": 0,
"price_int": 431800,
"price_hkd": 431.8,
"vol": 300
},
"last": {
"hour": 16,
"minute": 8,
"second": 0,
"price_int": 431200,
"price_hkd": 431.2,
"vol": 934700
}
}