Python SDK 历史 K 线开启夜盘后仍无法返回 20:00-04:00 ET 数据
你好,我们在使用 Python SDK 拉取美股历史 1m K 线时,发现即使账号已有 Nasdaq Basic、并且开启了 overnight 配置,history_candlesticks_by_offset(..., TradeSessions.All) 仍然不会返回美股夜盘 20:00-04:00 ET 数据。
环境
- Python SDK:
longbridge 4.3.2
- 也测试过旧包:
longport 3.0.23
- Symbol:
NVDA.US, QQQ.US, SPY.US
- Period:
Period.Min_1
- AdjustType:
AdjustType.ForwardAdjust
- Trade session:
TradeSessions.All
- 环境变量:
LONGBRIDGE_ENABLE_OVERNIGHT=true
LONGPORT_ENABLE_OVERNIGHT=true
账号行情包
quote_package_details() 可以看到:
US_QBBO: 纳斯达克 Basic 行情 | 纳斯达克实时成交行情及最优买卖一档报价
根据最新文档,夜盘行情已包含在 Nasdaq Basic 中免费提供,仅需开启 LONGBRIDGE_ENABLE_OVERNIGHT=true。
参考文档:
复现代码
from datetime import datetime
from zoneinfo import ZoneInfo
from longbridge.openapi import Config, QuoteContext, Period, AdjustType, TradeSessions
config = Config.from_apikey(
app_key,
app_secret,
access_token,
enable_overnight=True,
)
ctx = QuoteContext(config)
ny = ZoneInfo("America/New_York")
for start in [
datetime(2026, 6, 11, 20, 0, tzinfo=ny),
datetime(2026, 6, 11, 23, 0, tzinfo=ny),
datetime(2026, 6, 12, 2, 0, tzinfo=ny),
datetime(2026, 6, 12, 3, 59, tzinfo=ny),
]:
rows = ctx.history_candlesticks_by_offset(
"NVDA.US",
Period.Min_1,
AdjustType.ForwardAdjust,
True,
20,
start,
TradeSessions.All,
)
first = rows[0] if rows else None
print(start, len(rows), first.timestamp if first else None, first.trade_session if first else None)
实际结果
从夜盘窗口内任意时间开始请求,第一根都跳到 04:00 ET 的盘前数据:
start=2026-06-11T20:00:00-04:00 -> first=2026-06-12T04:00:00-04:00 session=TradeSession.Pre
start=2026-06-11T23:00:00-04:00 -> first=2026-06-12T04:00:00-04:00 session=TradeSession.Pre
start=2026-06-12T02:00:00-04:00 -> first=2026-06-12T04:00:00-04:00 session=TradeSession.Pre
start=2026-06-12T03:59:00-04:00 -> first=2026-06-12T04:00:00-04:00 session=TradeSession.Pre
同时按日期拉取一天数据:
rows = ctx.history_candlesticks_by_date(
"NVDA.US",
Period.Min_1,
AdjustType.ForwardAdjust,
date(2026, 6, 12),
date(2026, 6, 12),
TradeSessions.All,
)
返回 960 根,即 04:00-19:59 ET,sessions 只有:
TradeSession.Pre
TradeSession.Intraday
TradeSession.Post
没有 Overnight。
期望结果
根据文档,开启 enable_overnight=true 且账号已有 Nasdaq Basic 后,历史 K 线使用所有延长时段时应该可以返回:
的夜盘数据。
问题
请帮忙确认:
- Python SDK 的
TradeSessions.All 是否等价于历史 K 线文档里的 trade_session=100?
- 如果不是,Python SDK 应该如何传 raw
trade_session=100?
- 如果
TradeSessions.All 已经等价于 trade_session=100,为什么账号已有 US_QBBO 且 enable_overnight=true 时,历史 K 线仍然只返回 Pre / Intraday / Post,不返回 Overnight?
- 是否需要更新 Python SDK 或服务端配置,才能让历史 K 线返回 overnight bars?
谢谢。
Python SDK 历史 K 线开启夜盘后仍无法返回 20:00-04:00 ET 数据
你好,我们在使用 Python SDK 拉取美股历史 1m K 线时,发现即使账号已有 Nasdaq Basic、并且开启了 overnight 配置,
history_candlesticks_by_offset(..., TradeSessions.All)仍然不会返回美股夜盘20:00-04:00 ET数据。环境
longbridge 4.3.2longport 3.0.23NVDA.US,QQQ.US,SPY.USPeriod.Min_1AdjustType.ForwardAdjustTradeSessions.AllLONGBRIDGE_ENABLE_OVERNIGHT=trueLONGPORT_ENABLE_OVERNIGHT=true账号行情包
quote_package_details()可以看到:根据最新文档,夜盘行情已包含在 Nasdaq Basic 中免费提供,仅需开启
LONGBRIDGE_ENABLE_OVERNIGHT=true。参考文档:
复现代码
实际结果
从夜盘窗口内任意时间开始请求,第一根都跳到
04:00 ET的盘前数据:同时按日期拉取一天数据:
返回
960根,即04:00-19:59 ET,sessions 只有:没有
Overnight。期望结果
根据文档,开启
enable_overnight=true且账号已有 Nasdaq Basic 后,历史 K 线使用所有延长时段时应该可以返回:的夜盘数据。
问题
请帮忙确认:
TradeSessions.All是否等价于历史 K 线文档里的trade_session=100?trade_session=100?TradeSessions.All已经等价于trade_session=100,为什么账号已有US_QBBO且enable_overnight=true时,历史 K 线仍然只返回Pre / Intraday / Post,不返回Overnight?谢谢。