企业微信

上证指数与深证指数的成分股规则

上证指数由上海证券交易所编制,样本股全部来自沪市。沪市上市公司分为主板和科创板,主板包含大型成熟企业,科创板聚焦科技创新企业。创业板属于深圳证券交易所,股票代码以300开头,因此创业板股票不在上证指数样本范围内。投资者交易上证指数相关产品时,其涨跌仅反映沪市整体表现,与创业板走势无关。

深证指数体系包含多个层次。深证成指(399001)选取深市500家具有代表性的上市公司,样本覆盖深市主板、中小板(已合并至主板)和创业板。创业板股票在深证成指中占有一定权重,尤其当创业板龙头市值较大时,其波动会显著影响深证成指。深证综指(399106)则包含深市全部上市股票,自然涵盖所有创业板股票。

创业板指(399006)独立编制,仅包含创业板100只市值大、流动性好的股票。该指数与上证指数、深证成指形成互补关系。投资者需要明确:上证指数不含创业板股票,深证成指部分包含,创业板指完全聚焦创业板。

股指期货对应的标的指数

中国金融期货交易所上市三种股指期货:沪深300股指期货(IF)、上证50股指期货(IH)、中证500股指期货(IC)。2022年新增中证1000股指期货(IM)。这些期货合约的标的指数均不直接对应上证指数或深证成指。

上证指数和深证指数包含创业板股票吗

沪深300指数由沪深两市300只大盘股组成,包含部分创业板股票,但权重较低。上证50指数仅包含沪市50只超大盘股,不含创业板。中证500指数剔除沪深300成分股后,选取总市值排名前500的股票,包含较多创业板中盘股。中证1000指数则覆盖小盘股,创业板股票占比更高。

期货交易者若想对冲创业板风险,无法直接使用上证指数或深证成指期货,因为不存在这些标的的期货合约。替代方案是使用中证1000股指期货或创业板ETF期权。量化交易策略中,跨品种套利需要关注成分股重叠度。

量化交易中的指数成分股处理

编写量化策略时,获取指数成分股列表是基础步骤。以下Python代码演示如何区分上证指数与深证成指中的创业板股票:


import akshare as ak

import pandas as pd

# 获取上证指数成分股

sse_stocks = ak.index_stock_cons(symbol="000001")

sse_codes = sse_stocks['品种代码'].tolist()

# 获取深证成指成分股

szse_stocks = ak.index_stock_cons(symbol="399001")

szse_codes = szse_stocks['品种代码'].tolist()

# 筛选创业板股票(代码以300开头)

chinext_in_sse = [code for code in sse_codes if code.startswith('300')]

chinext_in_szse = [code for code in szse_codes if code.startswith('300')]

print(f"上证指数中创业板股票数量: {len(chinext_in_sse)}")

print(f"深证成指中创业板股票数量: {len(chinext_in_szse)}")

print(f"深证成指中创业板权重占比示例: {len(chinext_in_szse)/len(szse_codes)*100:.2f}%")

运行结果通常显示上证指数中创业板股票数量为0,深证成指中创业板股票数量约100至150只。量化策略若依赖指数成分股进行选股或对冲,必须严格区分指数样本空间。

期货与期权在指数化投资中的应用

直接交易上证指数或深证成指不可行,但可通过以下工具间接参与:

  • 沪深300股指期货(IF):覆盖沪深两市大盘股,含少量创业板

  • 中证500股指期货(IC):覆盖中盘股,创业板占比较高

  • 中证1000股指期货(IM):覆盖小盘股,创业板占比最高

  • 创业板ETF期权:直接挂钩创业板指

期货交易者构建市场中性策略时,若股票组合包含创业板股票,使用IF对冲会遗留创业板风险暴露。正确做法是计算组合相对于各指数的Beta值,选择匹配度最高的期货合约。

指数编制规则对交易策略的影响

上证指数采用总市值加权,所有沪市股票均纳入,包括ST股。深证成指采用自由流通市值加权,定期调整样本。创业板指每季度调整一次样本。这些规则差异导致三个指数走势经常分化。

量化回测中,使用上证指数作为基准评价创业板股票策略会产生严重偏差。正确基准应为创业板指或中证1000。期货跨期套利时,IF与IC的价差受创业板股票表现影响显著。当创业板强势上涨,IC涨幅通常超过IF,价差扩大。

实际交易中的常见问题

投资者问“上证指数包含创业板股票吗”通常源于两个场景:第一,看到上证指数上涨但自己持有的创业板股票下跌,怀疑指数编制有误。第二,计划用股指期货对冲创业板持仓,发现IF与持仓相关性低。

解决方案:使用中证1000股指期货(IM)对冲创业板小盘股,使用创业板ETF期权对冲创业板龙头。对于深证成指相关策略,需注意其成分股中创业板权重约20%至30%,剩余为主板股票。

期货交易中,不存在“深证指数期货”这一品种。若有人声称可交易深证成指期货,属于虚假信息。正规渠道仅有中金所上市的四个股指期货品种。

量化交易代码进阶示例

计算创业板股票在深证成指中的实时权重贡献:


import akshare as ak

import pandas as pd

# 获取深证成指成分股及权重

szse_cons = ak.index_stock_cons_weight_csindex(symbol="399001")

szse_cons['创业板'] = szse_cons['成分券代码'].str.startswith('300')

# 计算创业板总权重

chinext_weight = szse_cons[szse_cons['创业板']]['权重'].sum()

print(f"深证成指中创业板股票总权重: {chinext_weight:.2f}%")

# 获取上证指数成分股

sse_cons = ak.index_stock_cons_weight_csindex(symbol="000001")

sse_cons['创业板'] = sse_cons['成分券代码'].str.startswith('300')

print(f"上证指数中创业板股票数量: {sse_cons['创业板'].sum()}")

该代码可帮助交易者动态监控指数成分变化。当创业板权重上升,深证成指与创业板指相关性增强。期货套利策略需相应调整对冲比例。

上证指数不含创业板股票。深证成指包含部分创业板股票,具体数量随样本调整变化。创业板指完全由创业板股票构成。股指期货方面,IF、IH、IC、IM均不直接对应上证指数或深证成指,但IC和IM包含较多创业板股票。量化交易者构建策略时,必须根据持仓的创业板暴露程度选择匹配的期货或期权工具。错误使用上证指数作为创业板策略基准会导致回测失真和实盘亏损。