项目
宏观分析与资产配置报告流水线
一个面向投研和投顾场景的宏观信息处理流水线,用于把研报、新闻和宏观指标整理成可追溯的资产配置参考报告。
这个项目不是一个公开产品,而是一套面向金融投研和投顾内部工作的宏观分析流水线。它把每天进入系统的研报、新闻、政策文本和宏观指标拆成多个处理环节,再汇总成一份结构稳定、来源可追溯的资产配置参考报告。
项目目标不是让模型自由写一篇“市场怎么看”,而是把分散信息变成可复用的工程资产:原始资料可回查,指标洞察可追踪,政策温度有历史惯性,最终报告有固定结构,方便投研和投顾人员持续使用。
问题定义
宏观研究的难点不只是资料多,而是资料之间的时间频率、表达方式和信号强度都不一样。研报是 PDF,新闻是日频流式文本,GDP、PMI、通胀、就业、央行操作等指标又有各自的发布节奏。直接把这些材料丢给大模型,会得到一篇看起来完整但很难复核的文章。
这个项目要解决的是三件事:
- 把非结构化资料转换成可检索、可分组、可追溯的中间数据。
- 把政策、通胀、就业、行业景气等宏观信号整理成稳定的指标级洞察。
- 在报告生成阶段强制保留多空两侧逻辑,避免模型只输出单边观点或每天风格大幅漂移。
技术栈
主要技术栈包括 Python 数据处理任务、PDF OCR 与 Markdown 转换、LLM 信息抽取与总结、结构化 Prompt、任务调度、数据库落库、时间序列平滑和报告模板生成。
LLM 在这里不是单一“聊天接口”,而是被拆成多个角色:主题标签、发布日期提取、政策倾向判断、指标洞察生成、共识与分歧合并、最终报告撰写。不同环节用不同提示词和输出约束,减少一个大提示词包打天下带来的不可控。
架构与模块
流水线按“原料层、信号层、汇总层、报告层”拆分。
原料层负责把研报 PDF 转成 Markdown,提取标题、发布日期、主题标签和来源信息,并把新闻、政策文本、宏观指标按统一元数据入库。这个阶段强调可追溯,后续每条洞察都要能回到原始材料。
信号层分成几类任务:政策倾向、海外宏观、国内宏观、通胀与就业、行业变化、央行操作和资金面观察。每类任务只处理自己的输入范围,输出结构化字段,不直接写最终报告。
汇总层把同一指标下的多条原始洞察合并成较少的指标级观点。这里会显式区分共识和分歧,避免把相互冲突的观点简单平均,也会过滤明显不适合进入全国性宏观判断的局部噪声。
报告层读取前面模块的结果,生成资产配置参考报告。报告结构被强约束为多资产类别、多空理由和配置建议并存的格式,避免模型只顺着当天新闻情绪写单边结论。
我的负责部分
我主要负责流水线的工程设计和关键模块实现,包括 PDF 研报处理、LLM 抽取任务设计、政策信号评分逻辑、指标洞察合并、报告结构约束和端到端结果落库。
在政策信号部分,我把纯定性判断改成了内部连续分数和外部定性展示分离的设计。系统会根据政策文本和市场解读生成倾向判断,再通过带权聚合和平滑处理形成连续时间序列。对使用者展示时只保留宽松、中性、收紧等更稳妥的区间表达,避免把内部计算分数误读成精确预测。
在报告生成部分,我重点处理了两个问题:第一,要求每个资产类别同时给出支持和反对配置的理由;第二,把不同市场状态下容易混淆的风格判断写进结构化约束,减少模型两边都说好的情况。
难点与处理
第一个难点是宏观信息的噪声很大。一天内同一主题可能有多条相反观点,如果直接让模型总结,结果容易变成“既要又要”的空泛判断。处理方式是先在指标层保留观点方向和来源,再在汇总时单独标注共识与分歧,而不是强行合成一句中庸结论。
第二个难点是政策信号不能每天剧烈跳变。实际使用中,使用者更关心趋势变化,而不是单条新闻造成的瞬时波动。因此内部评分会结合历史状态做平滑,既保留当天新信息,也避免因为噪声导致报告口径频繁反转。
第三个难点是不同数据源的频率不同。项目没有把所有指标每天重复跑一遍,而是按数据发布节奏和任务类型触发对应模块。这样既减少无效调用,也能让报告更接近真实研究流程。
运行与交付形态
交付形态是一套可部署的后台流水线和报告生成任务,不是面向公众的 Web Demo。整条流水线在每日凌晨约 00:30–05:00 跑完、5 点前报告就绪,覆盖 23+ 个宏观监控指标(国内约 14 个景气指标、美国约 9 个),日处理量从数千条新闻洞察收敛到上百条指标级洞察。系统按预设任务批次读取数据源、生成中间洞察、写入数据库,并在报告任务中组装最终内容。
最终产物包括:
- 可回溯到原文的研报和新闻洞察。
- 按宏观指标归档的每日或周期性观点。
- 内部使用的政策倾向时间序列。
- 固定结构的资产配置参考报告。
- 便于排查的中间表、日志和任务结果记录。
链接
该项目包含非公开数据源、客户侧流程和内部报告模板,没有公开仓库或演示地址。公开身份链接保留为 GitHub 主页。
如果你正在做企业 RAG、知识库、AI 客服或 Agent 工作流,可以通过页面下方微信二维码或邮件沟通,邮箱:contact@aildnc.com。