股票交易时间的基本框架
中国A股市场股票交易时间固定为两个时段,上午9:30至11:30,下午13:00至15:00。每个交易日总交易时长为4小时。周末与法定节假日休市。开盘前存在集合竞价阶段,9:15至9:25为开盘集合竞价,其中9:15至9:20可撤单,9:20至9:25不可撤单,9:25产生开盘价。9:25至9:30为静默期,委托单暂存但不撮合。14:57至15:00为收盘集合竞价,产生收盘价。连续竞价在9:30至11:30和13:00至14:57进行,遵循价格优先、时间优先原则。
期货交易时间与股票的差异
期货市场交易时间更长,且不同品种存在差异化安排。日盘交易通常为9:00至11:30,其中10:15至10:30为休息时间,13:30至15:00继续交易。部分商品期货如铜、铝、锌、铅、镍、锡、黄金、白银、原油、螺纹钢、热轧卷板、燃料油、石油沥青、天然橡胶、纸浆、20号胶、国际铜等设有夜盘。夜盘时间从21:00开始,结束时间因品种而异,常见为23:00、次日1:00或次日2:30。金融期货如沪深300股指期货、中证500股指期货、上证50股指期货、中证1000股指期货,日盘为9:30至11:30和13:00至15:00,无夜盘。国债期货日盘为9:30至11:30和13:00至15:15。
期货集合竞价在日盘开盘前5分钟进行,即8:55至9:00,其中8:55至8:59可撤单,8:59至9:00不可撤单,9:00产生开盘价。夜盘集合竞价在20:55至21:00进行。连续竞价在集合竞价后开始。
股票与期货交易时间对比表
| 市场 | 交易时段 | 具体时间 | 备注 |

|------|----------|----------|------|
| 股票 | 上午连续竞价 | 9:30-11:30 | 开盘集合竞价9:15-9:25 |
| 股票 | 下午连续竞价 | 13:00-14:57 | 收盘集合竞价14:57-15:00 |
| 期货 | 日盘第一节 | 9:00-10:15 | 集合竞价8:55-9:00 |
| 期货 | 日盘休息 | 10:15-10:30 | 部分品种无休息 |
| 期货 | 日盘第二节 | 10:30-11:30 | 金融期货9:30开始 |
| 期货 | 日盘第三节 | 13:30-15:00 | 国债期货至15:15 |
| 期货 | 夜盘 | 21:00起 | 结束时间因品种不同 |
集合竞价与连续竞价的量化细节
集合竞价采用最大成交量原则确定开盘价。所有有效委托集中撮合,选取能达成最大成交量的价格。高于该价格的买入委托与低于该价格的卖出委托全部成交。连续竞价阶段,每一笔新委托进入系统后,与对手方最优价格撮合。量化交易策略需要精确处理时间戳。股票开盘集合竞价期间,9:20至9:25不可撤单,策略需提前挂单。期货夜盘集合竞价在20:55至21:00,策略需调整时钟同步。
时间同步在跨市场交易中至关重要。交易所使用NTP服务器校准时钟。量化系统需定期与交易所时间对齐。延迟超过500毫秒可能导致订单被拒绝。股票连续竞价期间,交易所每3秒发布一次行情快照。期货行情更新频率更高,部分品种达到每秒2次。
代码示例 交易时间判断与订单调度
使用Python判断当前是否处于可交易时段,适用于股票与期货。
from datetime import datetime, time
def is_stock_trading(now=None):
if now is None:
now = datetime.now()
t = now.time()
return (time(9,30) <= t <= time(11,30)) or (time(13,0) <= t <= time(15,0))
def is_futures_trading(now=None, night_end=time(23,0)):
if now is None:
now = datetime.now()
t = now.time()
day_session = (time(9,0) <= t <= time(11,30)) and not (time(10,15) <= t <= time(10,30))
day_session2 = time(13,30) <= t <= time(15,0)
night_session = time(21,0) <= t <= time(23,59,59) or time(0,0) <= t <= night_end
return day_session or day_session2 or night_session
print(is_stock_trading())
print(is_futures_trading(night_end=time(1,0)))
量化策略在开盘前完成参数计算。股票策略在9:15前准备好委托列表。期货策略需区分日盘与夜盘。夜盘品种的收盘价对次日日盘开盘价有指引作用。跨日夜盘持仓需注意保证金变化。交易所可能在节假日前调整保证金比例。
交易时间对策略执行的影响
股票T+1制度下,当日买入无法当日卖出。交易时间窗口4小时,策略换手率受限。期货T+0制度,当日可多次开平仓。夜盘提供额外交易机会,但流动性低于日盘。部分品种夜盘成交量占全日30%以上。黄金、白银、原油夜盘活跃。股指期货无夜盘,策略仅能在日盘执行。
量化系统需处理不同品种的交易时间表。使用配置字典存储每个品种的时段。避免在非交易时段发送订单。交易所会在非交易时段拒绝委托。集合竞价期间的委托在连续竞价开始后继续有效。未成交委托在15:00后自动撤销。期货夜盘未成交委托在次日日盘开盘前撤销。
时间管理是量化交易的基础模块。精确到毫秒的时钟同步可减少滑点。回测引擎必须还原历史交易时间。节假日与临时休市需单独处理。股票与期货的交易时间差异直接影响套利策略。跨品种套利需找到同时可交易的时段。股指期货与ETF套利仅在日盘进行。商品期货跨期套利可利用夜盘。