尧图精选

A股产业链关系数据集:实体设计、构建逻辑与投研应用实战

🕒 发布时间:2026/9/1 6:05:59 📁 来源:尧图网络
简介面向金融科技、产业链研究与知识图谱构建场景该数据集覆盖A股4654家上市公司整合公司、行业、产品三类核心实体梳理出公司所属行业、行业上下级隶属、产品上游原材料、下游应用产品、公司主营产品、产品细分小类共6种语义关系可直接支撑行业关联分析、供应链风险建模与图神经网络训练。数据以JSON格式组织来自公开权威来源并经清洗整合包含511个行业节点、9.5万条产品记录及多份关系映射文件并附带build_graph.py图谱构建脚本及10张可视化示意图。压缩包共23个文件约5.4MB涵盖8份JSON数据、可视化示意图与readme文档便于导入Neo4j、NetworkX或PyTorch Geometric等图计算框架。目前已有22人学习适合需要快速获取标准产业关联数据、开展图谱项目或模型实验的数据分析师与研究人员可有效减少数据采集和结构化处理的时间成本。 看到这个标题我第一反应是终于有人把这件事当成一个正经项目来做了。长期做基本面研究和行业梳理的人应该都有同感市面上能免费拿到整洁、成体系、带上下游逻辑的A股产业链关系数据难度非常大。大多数时候我们只能靠手动翻年报、拆招股书、读券商研报一家一家去拼图。所以这篇内容我决定围绕这个数据集的构建逻辑、字段设计、实体关联方法以及在实际研究中的用法和容易踩的坑做一次完整的拆解。如果你是做投研、量化选股或者是数据产品和BI方向的开发者这篇文章应该能帮你省掉不少自己从头折腾的时间。1. 为什么需要一份“带方向”的产业链数据而不是简单的行业分类光有行业分类是远远不够的。做投研的人通常会有这样的经历某个上游原材料突然涨价你需要在半小时内判断出对哪些上市公司有正负向影响。申万一级行业这时候能给你的信息极其有限——它只告诉你某家公司属于有色金属还是电子但当电解铝涨价时哪些公司是受益方哪些公司成本承压哪些公司的下游需求会被抑制行业分类完全无法回答。你需要的是“关系”而不是“标签”。产业链关系数据集的核心价值就在于它把公司之间的关联从静态的“属于某行业”变成了动态的“处于某链条环节、与谁是上下游、依赖什么产品”。这种带方向、带产品映射的关系才是分析师真正需要的信息骨架。我在设计这个数据集时最核心的出发点就一句话让使用者能通过一家公司顺藤摸瓜找到它的供应商、客户、竞争对手以及所处的产业环节。因此数据模型的底层不是以公司为孤立的实体而是以“公司—产品—产业环节—关联公司”作为基本单位来组织。举个例子当动力电池龙头宣布扩产逻辑上应该传导到上游的正极材料、负极材料、电解液、隔膜再向上游追溯到锂矿、钴矿、石墨化加工。如果数据集中只存了“宁德时代属于电力设备”那这个扩产消息就失去了可推演的延展性。但如果存的是“宁德时代—动力电池—上游正极材料/负极材料/电解液/隔膜—对应供应商A/B/C”那么整个产业链的传导链条就活了。这种设计让数据集不再是一张静态的公司清单而变成了一张可以沿着供需方向来回游走的动态图谱。对于做行业比较、公司调研、甚至事件驱动策略的人来说这个底座的差异是决定性的。2. 数据集的实体设计与字段层级从公司到产业环节的三种映射既然要做产业链数据第一步必须是清晰定义“实体”和“关系”。我在这个项目里把数据主体拆成了四个层级每层都有独立的主键和字段说明这样才能保证后续扩展时不会结构混乱。2.1 公司层基础档案与经营边界公司层是最容易的部分但也是坑最多的部分。基础字段上每家公司我会记录股票代码、证券简称、公司全称上市板块主板/创业板/科创板/北交所注册地、实际控制人性质国资/民营/外资核心主营产品名称这里不是财报里那种笼统的“XX制品”而是具体到可用于产业链匹配的产品品类申万或中信行业分类同时保留一级和二级这里最需要注意的是一家公司可能同时横跨多个产业链环节。比如很多化工企业既生产上游的基础原料也有自己的精细化工终端产品。如果数据集中只给这家公司分配一个产业环节那么后续做产业链传导分析时就会漏掉关系。我的处理方式是为每家公司维护多条“经营条线记录”每条条线对应一个产品品类、一个产业环节、一组上下游关联。一个公司可以有五条甚至更多条线只是权重不同。数据集里会用主营占比去标注这条线在公司整体业务中的重要程度方便后续做加权计算。2.2 产品层建立公司之间最实在的连接点公司本身不直接发生业务联系真正产生供需关系的是产品。所以产品层是整个数据集里信息密度最高、也最需要花功夫去清洗的部分。每条产品记录我会维护产品名称规范化后的标准名例如“电解液”统一不写成“锂电池电解液”或“电解质溶液”产品所属的大类原材料、中间品、制成品、服务产品对应的核心上游原材料比如电解液的上游是六氟磷酸锂、溶剂、添加剂产品对应的主要应用下游领域比如隔膜的下游是动力电池、储能电池、消费电池这个层的核心价值在于它让“公司A—产品X—公司B”的关联成为可能。你在分析时输入任何一家公司通过它的产品集合就能自动找到所有与这些产品有供需关系的其他公司不管它们是同行业竞争者还是上下游合作伙伴。我不建议在一个字段里塞太长文本描述产品一定要拆成标准化字段。比如“动力电池用湿法隔膜”最好拆成“产品隔膜”加“应用领域动力电池”加“工艺类型湿法”这样后期做筛选和匹配时效率会高得多。2.3 产业链环节层把公司放到正确的“水位线”上产业环节这个字段决定了上下游传导方向能不能被正确识别。我采用了相对通用的三段式框架上游、中游、下游并在每个环节下给出细分的环节标签。上游资源开采与初级加工如锂矿、钴矿、稀土、原油开采中游材料与零部件制造如正极材料、晶圆代工、轴承、连接器下游终端产品制造与运营服务如整车、消费电子品牌、储能系统集成每个环节标签会配备一个“相对位置编号”目的是支持程序自动化判断方向。比如上游编号为1中游为2下游为3那么当我们需要识别两个公司之间的供需方向时系统可以直接通过“下游公司环节编号大于上游公司环节编号”的方式做初步过滤再结合具体产品关系做二次校验。但这里有一个我踩过的坑必须提醒环节划分并不是绝对的。比如光伏玻璃在光伏产业链里是中游材料但在玻璃产业链里它已经是下游深加工产品。解决这个问题的关键在于环节标签必须与产品组合绑定而不是单纯绑定公司。一个公司如果同时生产光伏玻璃和浮法玻璃它在两个产业链里的环节定位是不同的。所以我的做法是环节标签挂在“公司-产品-产业链”的三元组上而不是挂在公司主档或产品主档上。2.4 关系层上下游关联与关系强度权重关系层是整个数据集的灵魂。这里记录的是“A公司—B公司”之间存在哪种产业链关联以及关联的方向。我会把关系拆成三类供应商-客户关系直接供需关系通常来自财报披露的前五大客户和供应商同链竞争关系双方生产同类可替代产品处于同一环节的同一产品分支协同配套关系彼此不是直接买卖但服务于同一个下游场景比如手机镜头和芯片组共同配套于手机整机每条关系都会附带两个重要字段方向和强度。方向包括正向和反向。正向代表A为B提供产品或服务反向则相反。在数据表格里我会用“关系发起方”和“关系接受方”来显式表达方向避免歧义。强度字段则是一个自定义评分从1到5。5级表示直接披露的供应商/客户关系财报里有名字3级表示通过行业公开信息可确认的间接配套关系1级表示仅通过产品逻辑推测的潜在关系。这个强度等级很重要因为在实际做量化分析时你可以通过过滤强度级别来控制信号的可靠性。3. 数据构建流程从公开资料到结构化关系我踩过的三个大坑数据来源是这套数据集的生死线。没有内容供应链的维护方案再漂亮的数据模型都是空架子。在构建流程上我尝试过纯人工整理、半自动脚本人工审核、以及引用第三方数据库三种路线最终形成了混合流程但过程中的几个坑值得单独拿出来说。3.1 财报披露的客户供应商名单信息密度最高但噪音也很大A股年报中会披露前五大客户和前五大供应商的采销占比这是建立直接供需关系最可靠的信息源之一。问题在于年报披露的口径经常是“客户一”、“客户二”这样的隐名或者只披露集团母公司名称而不披露具体上市公司主体。举个例子某家材料公司年报里写“第一大客户为某知名新能源汽车集团”但你并不知道这个集团对应的上市公司是哪个因为整车集团下面可能有多个上市主体。这时候如果直接建“材料公司—整车集团”的关系那么整车集团这个实体在数据集中根本没有对应的股票代码这条关系就断了。我的处理方式是建立一个“非上市实体别名表”把财报中出现的模糊客户名称先归集到别名表再通过公开信息人工确认其背后的上市公司主体。只有能够映射到明确股票代码的关联关系才会进入正式的关系表。映射不上的保留在补充表里作为可追溯的半成品线索。3.2 招股书的业务与技术章节产业链位置的最佳来源如果只看年报你对一家公司的产业链理解往往停留在“它的产品是什么”这个层面。而招股书里通常会有专门章节描述公司在产业链中的位置、上下游情况、主要竞争对手。这是目前公开资料中结构化程度最高的产业链信息来源。对于次新股招股书的价值尤其大。因为上市时间短覆盖这些公司的卖方研报相对少数据集中如果缺少它们会形成明显的空白区。我在构建流程中专门设置了一个“招股书解析任务”对近三年上市的次新股做逐一拆解提取链条位置和关键竞对信息。这里要注意的是招股书的时效性问题。公司上市后业务可能发生调整比如并购了新业务、剥离了旧业务产业链定位可能和招股书披露时有差异。所以招股书信息适合作为初始框架最终关系和业务状态还需要用最新定期报告做校正。3.3 行业研报与公司公告用来做关系补全和置信度校验行业研报是行业内竞争格局、上下游关系信息的重要来源。但因为研报数量大、格式不统一、不同券商对同一产业链的划分也有分歧直接取数容易出错。我一般把研报定位为“线索输入”而不是“事实输入”。比如一份行业深度里提到某公司是某国外厂商在国内的唯一供应商这类信息就会形成一条“潜在关系待验证”我会回溯到公司公告或互动易回复中确认后才将其转为正式关系。此外很多上市公司会在互动易、投资者关系活动记录表中回答“是否为某公司供应商”这些信息真实度较高且时效性好但需要逐条筛选。这一块比较费人力但在判断关系细分和排除虚假信号上回报明显。3.4 质量控制每个环节的交叉校验机制数据集的可靠性必须通过交叉校验来保障。我推荐三套校验机制一致性校验检查A公司如果披露B公司为其前五大客户那么B公司通常为大型企业的供应商列表中应能看到A公司或其产品类别的匹配项。如果不匹配至少有一侧数据存在问题。行业闭环校验上游的产品类别应能在中游公司的原材料清单里找到对应中游公司的产出品类应能在下游公司的采购需求里找到对应。如果某个环节的上下游匹配不上说明中间有遗漏关系。时间戳校验每一条关系必须记录“信息截止日期”。因为供应关系是动态的某公司去年是A的供应商不代表今年还是。没有时间戳的关系表在应用时几乎没有可用性。这套校验机制虽然不能保证100%无错但至少能把数据集的准确率控制在一个可用区间内。4. 用这份数据能做什么四个我认为最实用的分析方向数据集的构建不是目的能落地分析才是。根据我自己的使用经验产业链关系数据在以下几个方向上的价值最突出。4.1 产业链传导推演让“涨价受益”“需求传导”从拍脑袋变成可追踪这是最直接、最刚需的应用场景。比如市场预期光伏装机量大幅增长那么受影响的不仅是光伏组件公司还包括上游的硅料、硅片、胶膜、玻璃、逆变器、支架等环节。通过产业链数据集你可以输入“光伏装机量增长”这个事件然后沿着产业链向下游或上游遍历找出所有存在供需关系的公司并且根据关系强度排序快速输出一份受影响公司名单。这一过程如果手动做通常需要两三天而且容易遗漏隐性受益或受损方。数据集能让这个推演过程缩短到一个小时内并且可以重复迭代。4.2 上下游集中度风险分析识别“被单一客户绑架”的公司通过关联关系表可以直接计算一家公司上下游的集中度指标。如果一家公司80%的销售额都集中在两个客户身上那么当其中一个客户减少订单时这家公司的业绩稳定性就会受到较大冲击。这类信息在财报中虽然通过前五大客户占比有所体现但结合产业链数据后你能更清晰地识别出“客户集中风险”的传导路径——不仅仅是占比数字而是客户所在的行业、客户的景气度以及客户自身的上游供应商结构。我习惯把“上游供应商集中度”和“下游客户集中度”做成两个交叉维度对全市场公司做一个四象限分类两头分散安全边际最高、上游集中下游分散成本波动风险、上游分散下游集中需求依赖风险、两头集中脆弱性最高。这个分类对筛选稳健型标的非常有用。4.3 同业竞争格局分析从“产品同质”到“环节纠缠”传统的同业竞争分析往往依赖行业分类但行业分类粒度较粗容易把实际不构成竞争的公司放在一起。产业链数据可以通过产品层精确匹配只要两个公司都有“湿法隔膜”这类产品记录它们就构成竞争关系无论它们在报表里属于“电力设备”还是“基础化工”。同时通过上下游关系的反向追溯你还能找到“隐形竞争者”——比如一家公司原本做B端材料开始向下游延伸做终端产品那它就和原有的下游客户形成了竞争关系。这类“产业链渗透”信号往往被传统分类忽略但在实际投资中非常重要。4.4 事件驱动与舆情分析快速定位事件影响的范围每当出现突发新闻比如某个地区发生停电导致某上游原料停产你可以快速在数据集中定位该原料相关的所有上市公司然后沿着供需链逐级展开评估影响的宽度。这类场景下数据集的时效性和关系完整度直接决定了分析质量。我的经验是在关系表中应该增加“影响扩散路径”的分析字段记录“事件起点公司—直接受影响公司—次级受影响公司”的路径链这对解读市场异动有很强的辅助作用。5. 使用这份数据时最需要警惕的模型缺陷与维护建议再好的数据集也有边界。我必须坦诚地列出这套数据在实际使用中的局限性帮助大家建立更合理的预期而不是把这份数据当成万能钥匙。5.1 关系的时效性上市公司动态变化带来的滞后产业链关系不是静态的。供应商可能被替换客户可能自研上游材料公司可能通过并购进入新环节。我的处理方式是为每一条关系增加“更新时间”字段同时按季度做一次巡检重点核查发生过重大并购、重大客户变动、大额资本开支的公司。但即便如此数据集的更新频率理想情况是季度级必然滞后于现实业务变化所以在做高频交易或短期事件分析时需要结合最新公告交叉验证。5.2 公司主营构成的复杂性多业务线公司容易造成误判对于多元化经营的公司只看到公司主档和主营产品是远远不够的。比如某知名企业既做品牌手机也做供应链上游的精密零部件还涉足半导体设计和制造。如果数据集只记录了它的品牌业务那么它作为供应商的关系就会被漏掉如果只记录零部件业务那么它的品牌终端业务与对手公司之间的直接竞争又会被遗漏。因此我特别强调多元业务公司必须维护多条业务条线每条条线分别挂产品、环节和上下游关系。使用者在调用数据时应通过“业务条线维度”而非“公司维度”进行筛选才能避免误判。5.3 间接关系与直接关系的混淆强度评分是重要护栏我曾经犯过一个错误在分析某家材料公司时因为没有严格区分直接供应商关系和间接配套关系把一条强度仅有1级的推测关系当成了确定性利好结果实际业务并不相关分析了半天全是对着空气打拳。后来我强制自己在分析框架中加入关系强度作为前置过滤条件如果是做短中期事件驱动只使用强度4级和5级的关系如果是做长期产业趋势梳理才允许将2级和3级纳入考量1级关系一般只作为研究线索不直接用于投资决策。5.4 产业链粒度的选择同一家公司不同产业链中的位置差异这一点前面提过但值得再强调一遍同一种产品在不同产业链里可能处于不同环节。以工业气体为例在钢铁产业链里它是辅助材料在半导体产业链里它是核心消耗品在医疗健康里它又是直接产品。如果数据集中没有把“产品产业链”作为绑定维度来记录环节那么下游传导方向就很容易错乱。使用者在选择产业链视图时一定要先明确自己关注的是哪一个产业脉络再在对应的产业链下读取环节信息不要跨产业拉取信息做堆叠式分析。6. 我自己的一些体会和后续规划做这份产业链关系数据集最深的感受是它不是一次性建成的而是需要持续运营和不断修正的活体项目。数据质量不是靠代码能完全解决的行业知识、公司经营信息、甚至产业链上下游的细微变化都需要有人定期去盯。自动化和人工审核必须结合缺了哪一块都会让数据集的可靠性打折扣。另外一点是数据集的边界和适用场景必须在初期就定清楚。如果你想建立的是全市场的精细产业链图谱那么从数千家公司的产品、客户、供应商关系做起数据和人工成本会非常大但如果你的目标是聚焦某个重点行业例如新能源、半导体、创新药做深做透那么产出的性价比会高很多。目前我在规划中的下一步是把产业链关系数据与行情因子数据打通。比如计算“上下游行业景气度加权因子”将一家公司的上游原材料价格指数、下游需求景气度指数做成可计算的量化因子输出到选股模型里取代过去手工进行行业景气传导分析的流程。理想情况下每个公司都会有一个“产业链景气得分”和“产业链风险得分”这样产业链数据就不只是静态的分析背景板而能直接成为策略信号的一部分。这个方向还在打磨但已经能感受到它能把产业链研究从“描述性分析”推到“可计算、可回测”的层面我自己比较期待。如果你也在做类似的尝试欢迎一起交流数据模型设计和校验机制方面的经验。本文还有配套的精品资源点击获取
上一篇/下一篇内容由系统自动关联 返回资讯列表 →