用户反馈招商银行(600036)的新闻分析报告”不像新闻分析的结果”,经过深入分析发现问题根源在于东方财富新闻数据源质量问题。
东方财富API返回的新闻内容偏离主题:
查询股票:招商银行(600036)
实际返回的新闻主题:
- 上证180ETF指数基金(530280)
- A500ETF基金(512050)
- 银行ETF指数(512730)
- 大湾区发展主题指数
新闻标题示例:
问题特征:
实际新闻内容预览:
数据显示,截至2025年6月30日,上证180指数(000010)前十大权重股分别为
贵州茅台(600519)、紫金矿业(601899)、中国平安(601318)、恒瑞医药(600276)、
招商银行600036、长江电力(600900)、药明康德(603259)、兴业银行(601166)...
LLM基于低质量新闻数据生成的报告特征:
结果: LLM将这些混合信息整合成了一份”综合投资分析报告”,而不是纯粹的”新闻分析报告”。
stock_news_em
) 返回的是”相关新闻”而非”公司新闻”A. 新闻质量过滤
def filter_relevant_news(news_df, stock_code, company_name):
"""过滤与公司直接相关的新闻"""
relevant_news = []
for _, row in news_df.iterrows():
title = row.get('新闻标题', '')
content = row.get('新闻内容', '')
# 检查是否直接提及公司
if (company_name in title or company_name in content or
stock_code in title or stock_code in content):
# 排除ETF、指数基金相关新闻
if not any(keyword in title.lower() for keyword in ['etf', '指数基金', '基金']):
relevant_news.append(row)
return pd.DataFrame(relevant_news)
B. 新闻来源多样化
A. 新闻相关性评分
def calculate_news_relevance(title, content, stock_code, company_name):
"""计算新闻与公司的相关性评分"""
score = 0
# 直接提及公司名称或股票代码
if company_name in title: score += 50
if stock_code in title: score += 40
if company_name in content: score += 30
if stock_code in content: score += 20
# 减分项:ETF、指数基金等
if any(keyword in title.lower() for keyword in ['etf', '指数', '基金']):
score -= 30
return score
B. 新闻分析师提示词优化
A. 多数据源整合
B. 新闻分析专业化
# 测试东方财富新闻质量
python -c "
from tradingagents.dataflows.akshare_utils import get_stock_news_em
news_df = get_stock_news_em('600036')
print('新闻标题示例:', [row.get('新闻标题', '无标题') for _, row in news_df.head(3).iterrows()])
"
# 结果:主要是ETF和指数基金新闻,而非招商银行公司新闻
招商银行新闻分析报告质量问题的根本原因是东方财富新闻数据源返回了大量与公司本身无关的ETF、指数基金新闻,导致LLM生成了综合投资分析报告而非纯粹的新闻分析报告。
核心问题: 数据源质量 > 分析逻辑 > 输出质量
解决重点:
报告生成时间: 2025-07-28 22:59
问题严重程度: 高(影响新闻分析师核心功能)
修复优先级: P1(需要立即处理)