企业微信

中国股市交易日计算逻辑

中国股市交易日计算遵循以下核心规则:

  • 扣除双休日:每周六、周日为非交易日

  • 扣除法定节假日:包含春节、国庆等7个法定假期(具体天数每年调整)

  • 特殊调休日:国务院调休的工作日中,证券交易所仍可能休市

2023年实际交易日为250天(总天数365 - 周末104天 - 节假日11天),而2024年预计为251天。这种波动源于节假日安排的年度差异性,例如春节可能出现在1月或2月,导致当年交易日总数变化。

交易日数对量化策略的影响

年化收益率计算基准

金融工程中普遍采用250天作为年度交易日标准:

中国股市一年有多少个交易日


# Python示例:基于250天的年化收益计算

import numpy as np

daily_return = 0.001  # 日收益率0.1%

annual_return = (1 + daily_return)**250 - 1

print(f"年化收益率:{annual_return:.2%}")  # 输出结果:28.22%

该基准方便跨策略比较,但需注意实际年份差异:若2024年交易日为251天,则需调整计算参数。

回测周期设定

量化回测需精确匹配历史交易日历:


# 获取实际交易日历(示例代码)

import pandas as pd

from datetime import datetime

# 创建2023年日期范围

date_range = pd.date_range(start="2023-01-01", end="2023-12-31", freq="D")

# 过滤非交易日(实际应用中需接入交易所日历)

trading_days = date_range[~((date_range.weekday == 5) | (date_range.weekday == 6))]

print(f"有效回测天数:{len(trading_days)}")

节假日安排的特殊性

调休导致的日历差异

中国特有的节假日调休制度造成特殊现象:

  • 工作日休市:国务院调休的工作日,股市可能休市(如2023年国庆后10月7-8日休市)

  • 周末开市:极少数情况因长假调休周末开市(如2008年5月4日周日开市)

跨市场协调

港股通机制引入额外休市日:

  • 香港公众假期:如佛诞节、复活节等

  • 跨境结算日:例如2023年新增"香港特别行政区成立纪念日"休市

交易日数据获取途径

官方数据源

  1. 上海/深圳证券交易所官网发布年度休市安排

  2. 中国结算公司(CSDC)的清算交收日历

  3. 金融数据服务商(如Wind、Tushare)的API接口:


# Tushare获取交易日示例

import tushare as ts

pro = ts.pro_api("YOUR_API_KEY")

df = pro.trade_cal(exchange="SSE", start_date="20230101", end_date="20231231")

print(df[df.is_open==1].shape[0])  # 输出2023年上证所交易日数

本地化存储方案

建议建立本地交易日数据库:


# SQLite存储交易日历

import sqlite3

conn = sqlite3.connect("trading_calendar.db")

df[["exchange","cal_date","is_open"]].to_sql("calendar", conn, if_exists="replace")

交易时间配置要点

完整交易日包含4小时交易时段:

  • 上午时段:9:30 - 11:30(120分钟)

  • 下午时段:13:00 - 15:00(120分钟)

期货交易系统需严格对齐:


# 期货交易时间校验函数

def is_trading_time(current_time):

    morning_session = ("09:00", "11:30")

    afternoon_session = ("13:30", "15:00")

    night_session = ("21:00", "02:30")  # 商品期货夜盘

    return any(start <= current_time.strftime("%H:%M") <= end 

               for start, end in [morning_session, afternoon_session, night_session])

历史交易日统计规律

近十年数据显示:

  • 最低值:2017年237天(春节+中秋+国庆重叠)

  • 最高值:2014年254天(节假日分散)

  • 中位数:250天(占比70%年份)

该统计表明:量化策略设计采用250天基准具有合理性,但需预留±5天的弹性空间以适应年度波动。