A股市场证券代码命名规则详解¶
概述¶
本文档详细记录了A股市场(沪深两市)所有证券品种的代码命名规则,包括股票、基金、指数等各类金融工具的代码分配方案。
最后更新时间: 2025年6月20日
1. 上海证券交易所(SH)代码规则¶
1.1 股票代码¶
主板股票¶
- 600001-600999: 主板股票(最早批次)
- 示例:600000 浦发银行、600036 招商银行
- 601001-601999: 主板股票(第二批次)
- 示例:601318 中国平安、601398 工商银行
- 603001-603999: 主板股票(第三批次)
- 示例:603993 洛阳钼业、603883 老百姓
- 605001-605999: 主板股票(第四批次)
- 示例:605499 东鹏饮料
科创板股票¶
- 688001-688999: 科创板股票
- 示例:688001 华兴源创、688009 中国通号
1.2 基金代码¶
ETF基金¶
- 501001-501999: 跨境ETF
- 示例:501018 南方原油
- 502001-502999: 本市场股票ETF
- 示例:502010 易方达创业板ETF
- 510001-510999: 本市场股票ETF(主要区间)
- 示例:510050 50ETF、510300 300ETF
- 511001-511999: 债券ETF、货币ETF
- 示例:511010 国债ETF、511880 银华日利
- 512001-512999: 行业ETF、主题ETF
- 示例:512000 券商ETF、512170 医疗ETF
- 513001-513999: 境外市场ETF
- 示例:513100 纳指ETF、513500 标普500
- 515001-515999: 创新型ETF
- 示例:515050 5GETF、515030 新能源ETF
- 516001-516999: 创新型ETF(扩展)
- 示例:516160 新能源车ETF
- 518001-518999: 黄金ETF等商品ETF
- 示例:518800 黄金ETF、518880 黄金ETF
开放式基金¶
- 519001-519999: 开放式基金
- 示例:519056 海富通股票、519066 汇添富蓝筹
1.3 指数代码¶
上证指数系列¶
- 000001-000999: 上证指数
- 000001: 上证指数
- 000002: 上证A股指数
- 000003: 上证B股指数
- 000016: 上证50指数
- 000300: 沪深300指数(跨市场)
- 000905: 中证500指数(跨市场)
- 000852: 中证1000指数(跨市场)
中证指数系列¶
- 000001-009999: 中证指数公司发布的指数
- 注:部分与上证指数重叠
1.4 债券代码¶
- 010001-019999: 国债
- 020001-029999: 企业债
- 101001-109999: 国债(新编码)
- 110001-119999: 可转债
- 示例:110001 万科转债
- 113001-113999: 可转债(扩展)
- 127001-127999: 可转债(再扩展)
2. 深圳证券交易所(SZ)代码规则¶
2.1 股票代码¶
主板股票¶
- 000001-000999: 主板股票(最早批次)
- 示例:000001 平安银行、000002 万科A
- 001001-001999: 主板股票(第二批次)
- 示例:001979 招商蛇口
- 002001-002999: 中小板股票(已并入主板)
- 示例:002001 新和成、002415 海康威视
- 003001-003999: 主板股票(第三批次)
- 示例:003816 中国广核
创业板股票¶
- 300001-300999: 创业板股票
- 示例:300001 特锐德、300059 东方财富
2.2 基金代码¶
ETF基金¶
- 159001-159999: ETF基金
- 示例:159001 易方达深100ETF、159915 创业板ETF
LOF基金¶
- 160001-160999: LOF基金(第一批次)
- 示例:160105 南方积配、160119 南方中证500
- 161001-161999: LOF基金(第二批次)
- 示例:161005 富国天惠、161725 招商中证白酒
- 162001-162999: LOF基金(第三批次)
- 163001-163999: LOF基金(第四批次)
- 164001-164999: LOF基金(第五批次)
- 165001-165999: LOF基金(第六批次)
- 166001-166999: LOF基金(第七批次)
- 167001-167999: LOF基金(第八批次)
- 168001-168999: LOF基金(第九批次)
2.3 指数代码¶
深证指数系列¶
- 399001-399999: 深证指数
- 399001: 深证成指
- 399002: 深成指R
- 399003: 成份B指
- 399006: 创业板指
- 399300: 沪深300指数(跨市场)
- 399905: 中证500指数(跨市场)
2.4 债券代码¶
- 100001-109999: 国债
- 111001-119999: 企业债
- 120001-129999: 可转债
- 示例:123001 蓝思转债
- 128001-128999: 可转债(扩展)
3. 代码冲突分析¶
3.1 已知冲突案例¶
代码 | 上交所(SH) | 深交所(SZ) | 冲突类型 |
---|---|---|---|
000001 | 上证指数 | 平安银行 | 指数 vs 股票 |
000002 | 上证A股指数 | 万科A | 指数 vs 股票 |
000003 | 上证B股指数 | PT金田A | 指数 vs 股票 |
000300 | 沪深300指数 | - | 跨市场指数 |
3.2 潜在冲突区间¶
代码区间 | 上交所用途 | 深交所用途 | 冲突风险 |
---|---|---|---|
000001-000999 | 指数 | 主板股票 | 高 |
100001-109999 | 国债 | 国债 | 低(同类型) |
110001-119999 | 可转债 | 企业债 | 中 |
4. 智能识别规则建议¶
4.1 无歧义代码¶
# 明确归属上交所的代码前缀
SH_PREFIXES = [
'6', # 所有股票
'50', '51', '52', # ETF基金
'519', # 开放式基金
'68' # 科创板
]
# 明确归属深交所的代码前缀
SZ_PREFIXES = [
'30', # 创业板
'159', # ETF基金
'16', # LOF基金
'399' # 指数
]
4.2 歧义代码处理¶
# 存在歧义的代码前缀
AMBIGUOUS_PREFIXES = [
'000', # SH:指数 vs SZ:主板股票
'001', # SH:指数 vs SZ:主板股票
'002', # SH:指数 vs SZ:中小板股票
'003', # SH:指数 vs SZ:主板股票
'1', # 两市都有债券产品
]
4.3 推荐处理策略¶
- 股票优先原则: 歧义代码默认当作股票处理
- 用途频次原则: 按实际使用频率选择默认归属
- 显式指定原则: 鼓励用户使用带后缀的完整代码
- 警告提示原则: 遇到歧义代码时给出警告信息
5. 实现建议¶
5.1 代码标准化函数¶
def normalize_security_code(code: str, prefer_type: str = 'stock') -> str:
"""
证券代码标准化
Args:
code: 原始代码 (6位数字或带后缀)
prefer_type: 歧义时的偏好类型 ('stock', 'index', 'fund')
Returns:
标准化后的代码 (格式: XXXXXX.XX)
Raises:
ValueError: 无法识别的代码格式
"""
pass
5.2 歧义检测函数¶
def detect_code_ambiguity(code: str) -> List[Dict]:
"""
检测代码歧义
Returns:
可能的证券信息列表
[
{
'code': '000001.SH',
'name': '上证指数',
'type': 'index',
'exchange': 'SH'
},
{
'code': '000001.SZ',
'name': '平安银行',
'type': 'stock',
'exchange': 'SZ'
}
]
"""
pass
6. 参考资料¶
7. 更新日志¶
- 2025-06-20: 初始版本,整理基础命名规则
- TODO: 补充港股通、债券等更多品种
- TODO: 验证部分代码区间的准确性
- TODO: 添加实际代码冲突案例
注意: 1. 本文档基于公开资料整理,部分细节可能存在变化 2. 建议在实际应用前验证关键代码区间 3. 监管规则可能调整,建议定期更新此文档