Files
aiagents-stock/新闻公告分析师集成完成说明.md
T

9.7 KiB
Raw Blame History

新闻公告分析师集成完成

📋 任务概述

已成功在市场情绪分析师后面增加新闻公告分析师,使用pywencai获取最新新闻和公告,并将所有数据喂给新闻公告分析师进行专业分析。

完成的工作

1. 创建新闻公告数据模块

文件: news_announcement_data.py

功能:

  • 使用pywencai查询"股票代码新闻"
  • 使用pywencai查询"股票代码公告"
  • 提取所有返回的文字数据
  • 格式化为AI可读的文本
  • 最多获取20条新闻/公告(可配置)

核心方法:

class NewsAnnouncementDataFetcher:
    def get_news_and_announcements(symbol)  # 获取新闻和公告
    def _get_news_data(symbol)               # 获取新闻
    def _get_announcement_data(symbol)       # 获取公告
    def format_news_announcements_for_ai()   # 格式化为AI文本

2. 创建新闻公告分析师

修改文件: ai_agents.py

新增方法:

def news_announcement_analyst_agent(stock_info, news_announcement_data)

分析维度:

  1. 新闻分析

    • 梳理最新重要新闻
    • 分析新闻性质(利好/利空/中性)
    • 评估对股价的影响
    • 识别市场热点
  2. 公告分析

    • 梳理最新重要公告
    • 分析公告类型(业绩、重组、增持等)
    • 评估实质性影响
    • 解读战略意图
  3. 重大事件识别

    • 识别影响股价的重大事件
    • 评估紧迫性和重要性
    • 预判后续发展
  4. 市场反应分析

    • 分析市场反应
    • 判断预期差
    • 识别交易机会
  5. 风险提示

    • 识别风险信号
    • 评估负面影响
  6. 投资建议

    • 基于新闻公告的操作建议
    • 关键时间节点提示

3. 集成到分析流程

修改文件: app.py

流程更新:

旧流程(5位分析师):
技术 → 基本面 → 资金 → 风险 → 情绪 → 讨论 → 决策

新流程(6位分析师):
技术 → 基本面 → 资金 → 风险 → 情绪 → 新闻公告 → 讨论 → 决策

进度条更新:

  • 40%:资金流向数据
  • 45%:市场情绪数据
  • 50%:新闻公告数据 新增
  • 55%:初始化AI
  • 75%AI分析完成
  • 88%:团队讨论
  • 100%:最终决策

4. 更新团队讨论

修改: ai_agents.py 中的 conduct_team_discussion 方法

更新内容:

  • 加入新闻公告分析师的报告
  • 讨论中考虑新闻公告的影响和时效性
  • 团队成员从5位增加到6位

📊 实际效果

数据获取示例

📰 正在获取最新新闻数据...
   使用问财查询: 000001新闻
   ✓ 成功获取 15 条新闻

📢 正在获取最新公告数据...
   使用问财查询: 000001公告
   ✓ 成功获取 12 条公告

✅ 新闻公告数据获取完成

格式化数据示例

【最新新闻】
查询时间:2025-10-07 15:30:22
新闻数量:15条

新闻 1:
  股票简称: 平安银行
  新闻标题: 平安银行三季度业绩超预期
  发布时间: 2025-10-06
  新闻内容: ...(完整新闻内容)

新闻 2:
  ...

【最新公告】
查询时间:2025-10-07 15:30:25
公告数量:12条

公告 1:
  公告标题: 关于2025年第三季度业绩预告
  公告类型: 业绩预告
  发布日期: 2025-10-05
  公告摘要: ...(完整公告内容)

公告 2:
  ...

新闻公告分析师输出

📰 新闻公告分析师正在分析中...
   ✓ 已获取 15 条新闻,12 条公告

【新闻公告分析报告】

一、新闻分析
1. 最新重要新闻梳理
   - 业绩超预期新闻(利好)
   - 行业政策变化(中性偏利好)
   ...

二、公告分析
1. 业绩预告公告
   - 第三季度净利润增长25%
   - 超出市场预期...
   
三、重大事件识别
...

四、市场反应分析
...

五、风险提示
...

六、投资建议
...

🎯 核心特点

1. 数据全面

  • 使用pywencai获取实时新闻
  • 使用pywencai获取最新公告
  • 所有文字数据完整传递给AI
  • 最多获取20条(避免数据过载)

2. 分析专业

  • 6个分析维度全面覆盖
  • 识别利好利空性质
  • 评估实质性影响
  • 提供操作建议

3. 流程完整

  • 数据获取 → AI分析 → 团队讨论 → 最终决策
  • 新闻公告分析融入整体分析框架
  • 与其他分析师协同工作

4. 用户友好

  • 清晰的进度提示
  • 详细的数据统计(X条新闻,X条公告)
  • 友好的错误处理

🚀 使用方法

自动使用(推荐)

  1. 启动应用:
streamlit run app.py
  1. 输入A股代码(如:000001

  2. 点击"开始分析"

  3. 系统会自动:

    • 获取新闻公告数据
    • 传递给新闻公告分析师
    • 生成专业分析报告
    • 参与团队讨论
    • 影响最终决策

单独测试模块

python news_announcement_data.py

代码中使用

from news_announcement_data import NewsAnnouncementDataFetcher

# 创建获取器
fetcher = NewsAnnouncementDataFetcher()

# 获取新闻公告数据
data = fetcher.get_news_and_announcements("000001")

# 检查是否成功
if data.get("data_success"):
    # 查看新闻数量
    news_count = data['news_data']['count']
    announcement_count = data['announcement_data']['count']
    print(f"获取了 {news_count} 条新闻,{announcement_count} 条公告")
    
    # 格式化为AI文本
    formatted_text = fetcher.format_news_announcements_for_ai(data)
    print(formatted_text)

📈 分析师团队

更新后的团队结构(6位分析师)

序号 分析师 职责 数据来源
1 技术分析师 技术指标、趋势 yfinance/akshare
2 基本面分析师 财务、估值 yfinance/akshare
3 资金面分析师 资金流向 pywencai
4 风险管理师 风险识别 技术指标
5 市场情绪分析师 ARBR、情绪 akshare
6 新闻公告分析师 新闻、公告 pywencai

团队讨论

现在团队讨论包含6位分析师的观点:

主持人:现在进行投资决策团队会议,参会人员包括:
  - 技术分析师
  - 基本面分析师
  - 资金面分析师
  - 风险管理师
  - 市场情绪分析师
  - 新闻公告分析师 ⭐ 新增

各位,针对XX股票,请发表你们的观点...

📁 修改的文件列表

新增文件

  • news_announcement_data.py - 新闻公告数据模块(核心)
  • 新闻公告分析师集成完成说明.md - 本文档

修改的文件

  • ai_agents.py

    • 新增 news_announcement_analyst_agent 方法
    • 更新 run_multi_agent_analysis 方法(加入news_announcement_data参数)
    • 更新 conduct_team_discussion 方法(加入新闻公告报告)
  • app.py

    • 新增新闻公告数据获取步骤(步骤5
    • 更新进度条百分比
    • 更新步骤编号(6→7, 7→8, 8→9)
    • 更新侧边栏帮助信息

⚙️ 配置选项

调整获取数量

编辑 news_announcement_data.py

class NewsAnnouncementDataFetcher:
    def __init__(self):
        self.max_items = 20  # 改为你想要的数量

建议值:

  • 10-15条:快速分析,响应快
  • 20-30条:全面分析(默认20
  • 30+条:深度分析,但AI处理时间更长

⚠️ 注意事项

1. 仅支持A股

  • 当前仅支持中国A股(6位代码)
  • 美股暂不支持新闻公告功能

2. 数据依赖

  • 依赖pywencai库和问财数据源
  • 需要稳定的网络连接
  • 可能受到API频率限制

3. 数据量控制

  • 默认最多获取20条新闻/公告
  • 过多数据会增加AI处理时间
  • 过少数据可能信息不全

4. 数据时效性

  • 新闻公告数据为实时获取
  • 建议及时分析,避免过时

🎯 使用建议

1. 关注重点

  • 利好新闻:业绩增长、政策支持、战略合作等
  • 利空新闻:业绩下滑、监管处罚、重大亏损等
  • 重要公告:业绩预告、增持减持、重大重组等

2. 时效把握

  • 新闻公告往往有时效性
  • 重大事件前后是关键时期
  • 结合技术分析判断介入时机

3. 风险意识

  • 注意公告中的风险提示
  • 识别可能的负面影响
  • 谨慎对待炒作性新闻

📊 分析流程对比

之前(5位分析师)

技术分析 → 基本面分析 → 资金分析 → 
风险管理 → 市场情绪 → 团队讨论 → 最终决策

现在(6位分析师)

技术分析 → 基本面分析 → 资金分析 → 
风险管理 → 市场情绪 → 新闻公告 ⭐ → 
团队讨论(6人) → 最终决策

测试验证

已通过测试:

  • 新闻数据获取正常
  • 公告数据获取正常
  • 数据格式化正常
  • AI分析正常
  • 团队讨论包含新闻公告观点
  • 无语法错误

🎉 总结

任务完成!现在系统拥有6位专业分析师:

  1. 技术分析师 - 技术指标和趋势
  2. 基本面分析师 - 财务和估值
  3. 资金面分析师 - 资金流向和主力行为
  4. 风险管理师 - 风险识别和控制
  5. 市场情绪分析师 - ARBR等情绪指标
  6. 新闻公告分析师 - 新闻事件和公司公告

新闻公告分析师的加入使得:

  • 分析更全面(增加事件驱动维度)
  • 时效性更强(实时新闻公告)
  • 风险识别更准确(及时发现利空)
  • 机会把握更精准(及时发现利好)

系统现在能够从技术、基本面、资金、风险、情绪、新闻6个维度进行全方位分析!🎯📈


完成日期: 2025年10月7日
功能状态: 已完成并测试通过
分析师数量: 5 → 6