AlphaFeed Blog

按主板/科创/创业/北交分板扫描选股:用代码前缀 + 交易所后缀区分

选股扫描 · 代码验证于 2026-10-29

按主板/科创/创业/北交分板扫描选股

一句话回答: A 股的「板」可以直接从股票代码前缀 + 交易所后缀判定,不需要额外的分类接口:688 = 科创板、300/301 = 创业板、.BJ 后缀 = 北交所、600/601/603/605/000/001/002/003 = 主板。用 AlphaFeed 的全市场快照 quotes(universes="CN_Stock") 一次取回全 A(实测约 5576 只),套一个分板函数就能分别扫描。实测分板分布:主板 3194 / 创业板 1410 / 科创板 617 / 北交所 353。诚实边界:代码前缀规则会随监管调整(如注册制、代码段扩容)变化,上线前应以交易所最新规则复核。

为什么要分板扫描

不同板块的涨跌幅限制、投资者门槛、风格差异很大:

所以分板是选股扫描的常见前置步骤。好消息是:板的归属藏在代码里,一个纯函数就能判定,无需额外接口。

分步骤实现

1) 一次取回全 A 快照

from alphafeed import AlphaFeed
af = AlphaFeed(api_key="your-api-key")  # 或 export ALPHAFEED_API_KEY 后 AlphaFeed()

q = af.quotes.get(universes="CN_Stock", to_dataframe=True)  # 实测约 5576 行

2) 分板判定函数(代码前缀 + 交易所后缀)

def board(symbol: str) -> str:
    code, ex = symbol.split(".")      # 如 "600519.SH" -> ("600519", "SH")
    if ex == "BJ":
        return "北交所"               # 北交所用 .BJ 后缀最稳
    if code.startswith("688"):
        return "科创板"
    if code.startswith(("300", "301")):
        return "创业板"
    if code.startswith(("600", "601", "603", "605",
                         "000", "001", "002", "003")):
        return "主板"
    return "其他"

q["board"] = q["symbol"].map(board)
print(q["board"].value_counts().to_dict())
# 实测:{'主板': 3194, '创业板': 1410, '科创板': 617, '北交所': 353, '其他': 2}

3) 只在某一板里扫描

# 示例:只在创业板里按当日涨幅排序取前 3(ext.change_pct 为小数)
cyb = q[q["board"] == "创业板"].sort_values("ext.change_pct", ascending=False)
print(cyb.head(3)[["symbol", "ext.name", "ext.change_pct"]].values.tolist())
# 实测形如:[['300613.SZ','富瀚微',0.20], ['300291.SZ','百纳千成',0.20], ...](0.20=+20%触板)

分板规则速查

板块代码/后缀规则日涨跌幅实测数量
主板(沪)600/601/603/605 + .SH±10%含于 3194
主板(深)000/001/002/003 + .SZ±10%含于 3194
科创板688 + .SH±20%617
创业板300/301 + .SZ±20%1410
北交所后缀 .BJ±30%353

数据来自 tools/verify_new_2026-10-29.py 真实 API 跑通(SDK 0.1.4,fails=0)。002/003 为原中小板并入深市主板后的代码段;规则以交易所最新口径为准。

关键坑与注意事项

常见问题(FAQ)

Q:AlphaFeed 有没有直接给「板块」字段? A:没有单独的「板」字段,但板的归属完全由代码前缀 + 交易所后缀决定,用上面的纯函数判定即可,无需额外接口。

Q:怎么只扫科创板 + 创业板(双创)? A:q[q["board"].isin(["科创板","创业板"])],再按你的条件排序/过滤。

Q:这和「行业板块」是一回事吗? A:不是。这里的「板」指交易所上市板(主板/科创/创业/北交);行业分类(如半导体、白酒)AlphaFeed 不提供,需配 Tushare/AkShare。

Q:需要付费吗? A:全市场快照有免费额度可体验,大批量/高频建议 Starter 及以上,详见官网定价页。

小结

A 股分板扫描不需要专门的分类接口——代码前缀 + 交易所后缀就能判定主板/科创/创业/北交。配合 AlphaFeed 一次取回全 A 的快照,套个分板函数即可按板分别扫描,且避免不同涨跌幅限制造成的口径失真。注意规则随监管调整,上线前以交易所最新口径复核。

相关链接:


免责声明:本文仅为技术与数据接口使用示例,代码与策略仅供学习研究,不构成投资建议。市场有风险,历史数据不代表未来表现。