mirror of
https://ghfast.top/https://github.com/aeroxw/easy-tdx.git
synced 2026-09-12 16:54:17 +08:00
feat(kline): 分钟级K线时间戳可选bar_time对齐Tushare (Discussion #7)
通达信协议用bar开始时间打时间戳(5min线上午最后一根标11:25、下午第一根标13:00;午休11:30-13:00无bar),而Tushare/同花顺/聚宽用bar结束时间(标11:30/13:05)。新增bar_time参数让用户一键切换,避免自行+5分钟偏移。
- 全部3条K线路径覆盖:A股get_security_bars/get_index_bars、扩展行情get_instrument_bars、MAC get_stock_kline(含同步+异步、get_stock_kline_with_indicators)
- CLI kline新增--bar-time {start,end}选项;Web /bars、/bars/index新增bar_time查询参数
- bar_time=start(默认)保持完全向后兼容;bar_time=end仅对分钟级周期(1/5/15/30/60min)生效,自动按周期时长右移并处理跨小时/跨日边界
- 协议解码层零改动,偏移作为纯展示语义在client层后处理,单一工具函数_apply_bar_time_align_df/_apply_bar_time_align_bars复用于全部路径
- 新增27个单元测试(test_codec_datetime.py偏移逻辑 + test_kline_bar_time.py三路径覆盖),全量700单测通过
- bump 版本号至 1.16.0
This commit is contained in:
+10
-3
@@ -177,7 +177,7 @@ c.get_security_quotes(stocks: list[tuple[Market, str]]) -> list[SecurityQuote]
|
||||
|
||||
```python
|
||||
c.get_security_bars(market: Market, code: str, category: KlineCategory,
|
||||
start: int, count: int = 800) -> list[SecurityBar]
|
||||
start: int, count: int = 800, *, bar_time: str = "start") -> pd.DataFrame
|
||||
```
|
||||
|
||||
获取个股 K 线数据。
|
||||
@@ -189,15 +189,22 @@ c.get_security_bars(market: Market, code: str, category: KlineCategory,
|
||||
| category | `KlineCategory` | K 线周期 |
|
||||
| start | `int` | 分页偏移(0 为最新) |
|
||||
| count | `int` | 请求数量(最多 800) |
|
||||
| bar_time | `str` | 时间戳语义,见下方说明 |
|
||||
|
||||
**bar_time(分钟级周期时间戳对齐)**:通达信协议默认用 bar **开始时间**打时间戳
|
||||
(5min 线上午最后一根标 11:25、下午第一根标 13:00;午休 11:30–13:00 无 bar)。
|
||||
传 `bar_time="end"` 切换为 bar **右端点**(= 开始 + 周期时长,标 11:30/13:05),
|
||||
对齐 Tushare / 同花顺 / 聚宽约定。仅对分钟级周期(MIN_1/5/15/30/60)生效,
|
||||
日线及以上不受影响。默认 `"start"` 保持完全向后兼容。
|
||||
|
||||
### get_index_bars
|
||||
|
||||
```python
|
||||
c.get_index_bars(market: Market, code: str, category: KlineCategory,
|
||||
start: int, count: int = 800) -> list[SecurityBar]
|
||||
start: int, count: int = 800, *, bar_time: str = "start") -> pd.DataFrame
|
||||
```
|
||||
|
||||
获取指数 K 线数据。参数同 `get_security_bars`。
|
||||
获取指数 K 线数据。参数(含 `bar_time`)同 `get_security_bars`。
|
||||
|
||||
**常用指数**:
|
||||
| 指数 | market | code |
|
||||
|
||||
Reference in New Issue
Block a user