3、投资数据源概览:结构化数据、半结构化数据、非结构化数据

做知识图谱投资,第一步不是写代码,而是搞清楚——数据从哪里来

我刚开始接触这个领域时,也犯过傻。以为只要把财报数据爬下来,就能跑通一切。结果呢?模型预测出来的东西,跟实际市场走势差了十万八千里。后来我才明白,投资决策依赖的数据,远不止数字本身

今天,我们就来拆解三类核心数据源。它们分别是:结构化数据半结构化数据非结构化数据。每一类,我都会结合自己的踩坑经验来讲。

3.1 结构化数据:财报与行情

结构化数据,说白了就是表格里的数据。行是记录,列是字段。计算机处理起来最舒服。

在投资领域,最常见的结构化数据有两类:

  • 财报数据:营收、净利润、资产负债率、现金流等。
  • 行情数据:开盘价、收盘价、成交量、换手率等。

这些数据的特点是:干净、规范、容易对齐。你想想看,每家公司的利润表,科目名称都是统一的。这就给知识图谱的构建提供了极大的便利。

我个人习惯:把财报数据作为知识图谱的“骨架”。因为它是经过审计的,可信度最高。行情数据则作为“血肉”,用来补充市场情绪和流动性信息。

举个例子。我在做某个行业的知识图谱时,需要把“毛利率”这个指标关联到“供应链成本”节点上。如果是结构化数据,直接写个SQL就能搞定。但如果是非结构化数据,你可能得翻几十页PDF才能找到一句话。

嗯,这里要注意:结构化数据虽然好,但时效性有限。财报是季报或年报,行情是实时或日频。两者结合使用,效果才最好。

3.2 半结构化数据:新闻与研报

半结构化数据,介于“完全规整”和“完全自由”之间。它有标签、有层级,但格式不固定。

典型的例子是:

  • 财经新闻:标题、正文、发布时间、作者。
  • 券商研报:摘要、评级、目标价、风险提示。

这类数据,我建议你重点关注“事件”和“观点”。为什么呢?因为知识图谱的核心是“实体”和“关系”。新闻里提到的“公司A收购公司B”,就是一个典型的关系三元组。

我曾经在项目中遇到过一个问题:某条新闻说“公司X因原材料涨价,利润承压”。但这条新闻的发布时间,比财报早了整整两个月。如果我只用结构化数据,根本捕捉不到这个信号。但有了半结构化数据,我就能提前在知识图谱里标记出“原材料价格”这个风险节点。

避坑指南:我曾经以为研报里的“买入”评级就是真理。后来发现,很多研报的发布时间和实际交易时间有延迟。所以,不要直接拿研报结论当事实。把它当作“观点”节点,关联到对应的分析师和机构上,才是正确的做法。

处理半结构化数据时,我常用的方法是:先解析标签,再提取实体。比如,新闻的XML或JSON格式里,通常有明确的字段。先用正则或XPath把标题、正文拆出来,然后用NLP工具做实体识别。

3.3 非结构化数据:社交媒体与公告

非结构化数据,是真正的“数据沼泽”。没有固定格式,没有明确字段。在投资领域,主要包括:

  • 社交媒体帖子:微博、雪球、股吧里的用户发言。
  • 公司公告原文:PDF格式的董事会决议、关联交易公告。
  • 电话会议纪要:音频转文字后的记录。

这类数据,信息密度低,但价值密度高。你想想看,一条微博可能只有140个字,但里面可能藏着“某公司高管即将离职”的关键信息。而这条信息,财报里永远不会写。

我刚开始做非结构化数据时,踩过一个坑。当时我爬了某论坛上关于“新能源”的所有帖子,直接扔进模型里训练。结果模型学到的全是“利好”、“起飞”、“韭菜”这些噪音词。后来我才意识到,非结构化数据必须先做清洗和过滤。比如,过滤掉少于10个字的帖子,或者过滤掉重复率超过80%的灌水内容。

注意:社交媒体数据里,情绪和事实是混在一起的。我曾经因为一条“公司Y要暴雷”的帖子,差点在知识图谱里加了一个错误的关系。后来查证,那只是某个散户的猜测。所以,非结构化数据一定要做“置信度”标注。来源权威、内容客观的,权重高;来源不明、情绪极端的,权重低。

处理非结构化数据,我建议你分三步走:

  1. 文本提取:PDF转文字、音频转文字。
  2. 实体识别:找出公司名、人名、产品名、事件名。
  3. 关系抽取:判断实体之间的语义关系,比如“收购”、“减持”、“合作”。

3.4 三类数据的融合逻辑

单独看每一类数据,都有局限性。但把它们融合起来,就能产生化学反应。

我画了一张图,帮你理解这三类数据在知识图谱中的角色:

知识图谱投资数据源融合框架 结构化数据 财报 · 行情 干净、规范、易对齐 作为知识图谱的“骨架” 半结构化数据 新闻 · 研报 有标签、有层级 作为知识图谱的“事件” 非结构化数据 社交媒体 · 公告 信息密度低,价值密度高 作为知识图谱的“情绪” 知识图谱融合层 实体对齐 · 关系抽取 · 置信度评估 投资决策支持

从这张图里,你可以看到:

  • 结构化数据提供基础事实,比如“公司A的营收是100亿”。
  • 半结构化数据提供事件驱动,比如“公司A收购了公司B”。
  • 非结构化数据提供市场情绪,比如“散户对公司A的负面评价增多”。

三者融合后,知识图谱才能既知道“发生了什么”,又知道“大家怎么看”。

3.5 数据获取的实用建议

最后,分享几个我自己的实操经验:

数据类型 推荐来源 注意事项
财报数据 巨潮资讯网、东方财富Choice 注意数据更新频率,季报发布后3天内更新
行情数据 Tushare、AKShare 免费接口有调用限制,建议缓存本地
财经新闻 新浪财经、财联社 注意去重,同一事件可能被多家媒体重复报道
券商研报 慧博投研、东方财富研报中心 PDF解析时,注意表格和图片的丢失问题
社交媒体 雪球、微博、股吧 必须做情绪过滤,避免被噪音干扰

一个小技巧:我习惯把不同数据源的数据,打上不同的“来源标签”。比如,财报数据标记为“high_confidence”,社交媒体数据标记为“low_confidence”。这样在知识图谱查询时,可以按置信度排序,优先使用高可信度的数据。

好了,这一章的内容就到这里。数据源是知识图谱的“原材料”,选对了、用好了,后面的工作才能事半功倍。下一章,我们会聊聊如何把这些数据清洗成知识图谱需要的格式。


专注资料整理