Stock Theme Events — Stock Theme 事件
v2.0.0获取 A 股市场炒作题材对应的真实新闻事件。使用场景:(1) 分析近 N 日涨幅前列股票的题材分布,(2) 将相似题材聚类合并,(3) 从金十数据等新闻源获取对应题材的真实资讯事件,(4) 生成题材 - 事件关联分析报告。支持被其他 技能 调用或独立运行。
运行时依赖
安装命令
点击复制技能文档
Stock Theme 事件 - 股票题材与新闻事件关联分析 概述
本技能将市场炒作的题材概念与真实新闻事件对应起来,输出结构化的 Markdown 报告。核心流程:获取热门股票 → 提取题材 → 聚类合并 → 搜索新闻 → 生成报告。
核心功能
- 获取个股题材
调用 ths-stock-themes 技能 获取股票的题材/概念列表。
输入:股票代码列表 输出:{股票代码:[题材 1, 题材 2, ...]}
- 题材聚类合并
使用语义相似度 + 同义词词典将相似题材合并。
示例:
"人工智能" + "AI" + "大模型" → "人工智能/AI" "芯片" + "半导体" + "集成电路" → "半导体/芯片"
输出:{题材方向:[相关股票列表]}
- 获取对应新闻事件
优先使用 ak分享 财经新闻接口,缺失时用 browser 工具从金十数据搜索。
搜索范围:近 15 天 每题材选取:2-5 条高相关度新闻
输出:{题材方向:[新闻列表]}
- 生成 Markdown 报告
结构化输出题材方向、涉及股票、对应新闻事件。
使用方法 被其他 技能 调用(推荐) # 在调用方 技能 中 from stock_theme_事件 导入 analyze_theme_事件
结果 = analyze_theme_事件( stock_列出=["600519", "000858", ...], # 可选,默认获取近 10 日涨幅前 30 输出_path="~/桌面/A 股每日复盘/", # 可选 date_range=15, # 新闻搜索天数,默认 15 top_themes=8 # 主流题材数量,默认 8 )
独立运行 生成题材事件分析报告 分析近 10 日涨幅前 30 股票的题材和对应新闻 获取市场炒作题材的真实事件驱动
执行流程 完整流程
获取热门股票(如未提供)
调用 ths-stock-themes 获取近 10 日涨幅前 30 股票 排除 ST 股票
获取个股题材
遍历股票列表 调用 ths-stock-themes 获取每只股票的题材 缓存结果避免重复请求
题材聚类
统计题材频次 使用语义相似度模型聚类 应用同义词词典合并 按频次排序取 TOP N
搜索新闻
对每个题材方向,先尝试 ak分享 接口 如结果不足,用 browser 工具搜索金十数据 筛选近 15 天内的资讯 去重并按相关性排序
生成报告
使用模板生成 Markdown 保存到指定路径 返回报告文件路径 输出格式 # A 股题材 - 事件关联分析报告
数据日期:2026-03-21 统计周期:近 10 个交易日 新闻范围:近 15 天 样本股票:涨幅前 30 只(排除 ST)
一、主流炒作题材方向
| 排名 | 题材方向 | 涉及股票数 | 代表股票 |
|---|---|---|---|
| 1 | 人工智能/AI | 8 | 中科曙光、浪潮信息... |
| 2 | 半导体/芯片 | 6 | 中芯国际、北方华创... |
| ... | ... | ... | ... |
二、题材 - 事件对应分析
1. 人工智能/AI(8 只股票)
涉及股票:中科曙光、浪潮信息、科大讯飞...
对应新闻事件:
- [新闻标题 1] (2026-03-20)
- [新闻标题 2] (2026-03-19)
三、总结
- 当前市场主要炒作方向:XXX、XXX、XXX
- 新闻事件驱动明显:XXX 政策/事件催化
- 风险提示:...
脚本说明 cluster_themes.py
题材聚类脚本,使用语义相似度 + 同义词词典。
python3 scripts/cluster_themes.py --输入 themes.json --输出 clustered.json
参数:
--输入: 输入题材 JSON 文件 --输出: 输出聚类结果 --top: 保留 TOP N 个题材方向(默认 8) --similarity-threshold: 相似度阈值(默认 0.7) 搜索_news.py
新闻搜索脚本,ak分享 + browser 混合方案。
python3 scripts/搜索_news.py --theme "人工智能" --days 15 --limit 5
参数:
--theme: 题材关键词 --days: 搜索天数范围(默认 15) --limit: 返回新闻数量(默认 5) --输出: 输出 JSON 文件路径 生成_报告.py
报告生成脚本。
python3 scripts/生成_报告.py --themes clustered.json --news news.json --输出 报告.md
参数:
--themes: 聚类后的题材 JSON --news: 新闻数据 JSON --输出: 输出 Markdown 路径 --template: 模板文件路径(可选) 配置说明 config/theme_synonyms.json
题材同义词配置,用于聚类合并。
{ "人工智能/AI": ["人工智能", "AI", "大模型", "AIGC", "算力", "机器学习"], "半导体/芯片": ["芯片", "半导体", "集成电路", "光刻机", "存储芯片"], "新能源": ["光伏", "风电", "储能", "锂电池", "新能源汽车", "氢能"], "医药生物": ["创新药", "医疗器械", "生物医药", "CXO", "疫苗"], "金融": ["券商", "银行", "保险", "多元金融", "互联网金融"], "大消费": ["白酒", "食品饮料", "家电", "零售", "旅游"], "周期资源": ["钢铁", "煤炭", "有色", "化工", "石油"], "军工": ["军工", "航天", "船舶", "国防", "航空发动机"], "科技通信": ["5G", "通信", "物联网", "云计算", "数据中心"], "房地产": ["房地产", "物业", "园区开发", "REITs"] }
依赖安装 pip 安装 ak分享 sentence-转换ers scikit-learn
注意事项 数据时效性:新闻数据实时变化,建议在报告中注明数据获取时间 浏览器自动化:金十数据搜索需要 browser 工具,避免高频请求 ST 股票:自动排除名称包含"ST"的股票 语义模型:首次使用会下载 sentence-转换ers 模型(约 500MB) API 限制:ak分享 有频率限制,建议添加请求间隔 错误处理 题材获取失败:重试 3 次,跳过该股票并记录警告 新闻搜索失败:降级到 browser 工具,仍失败则标记"暂无相关新闻" 聚类失败:降级到简单频次统计 报告生成失败:返回错误信息,提示检查模板文件 性能优化 缓存机制:个股题材结果缓存到 缓存/themes/ 目录 并行搜索:多个题材的新闻搜索可并行执行 增量更新:支持基于已有报告增量更新 示例调用 被 stock-dAIly-报告 调用 # 在 stock-dAIly-报告 技能 中 结果 = analyze_theme_事件( stock_列出=top_gAIners, # 近 10 日涨幅前 30 输出_path=dAIly_报告_dir, date_range=15 ) # 将 结果 整合到每日复盘报告中
独立运行 用户:分析当前市场炒作的题材和对应新闻 助手:正在获取近 10 日涨幅前 30 股票... 正在提取题材信息... 正在聚类合并... 正在搜索对应新闻... 报告已生成:~/桌面/A 股每日复盘/theme-事件-2026-03-21.md