本指南详细介绍了如何使用TradingAgentsCN系统中的新闻获取和分析功能,帮助您获取实时新闻并进行专业分析,为投资决策提供重要参考。
在开始使用新闻分析系统前,了解以下基本概念将有助于更好地利用系统功能:
使用新闻分析系统需要配置以下API密钥:
# 在config.py或.env文件中配置
FINNHUB_API_KEY = "your_finnhub_api_key"
ALPHA_VANTAGE_API_KEY = "your_alpha_vantage_api_key"
NEWSAPI_API_KEY = "your_newsapi_api_key"
您可以从以下网站获取API密钥:
系统已集成AKShare库,用于获取东方财富网的个股新闻。AKShare是一个优秀的Python金融数据接口库,无需API密钥,但需要确保已正确安装:
pip install akshare
注意:AKShare的东方财富新闻功能会自动用于A股和港股的新闻获取,无需额外配置。
# 导入基本工具包
from tradingagents.agents.utils.agent_utils import Toolkit
# 如果需要使用新闻分析师
from langchain_openai import ChatOpenAI
from tradingagents.agents.analysts.news_analyst import create_news_analyst
# 创建工具包实例
toolkit = Toolkit()
# 获取特定股票的实时新闻
ticker = "AAPL" # 股票代码
curr_date = "2023-07-01" # 当前日期
news_report = toolkit.get_realtime_stock_news(ticker, curr_date)
print(news_report)
实时新闻聚合器会返回一个格式化的新闻报告,包含:
统一新闻接口能够自动识别股票类型并选择合适的新闻源:
# 使用统一接口获取新闻
# A股示例
cn_ticker = "000001" # A股股票
news_report = toolkit.get_stock_news_unified(cn_ticker, curr_date)
print(news_report)
# 美股示例
us_ticker = "AAPL" # 美股股票
us_news = toolkit.get_stock_news_unified(us_ticker, curr_date)
print(us_news)
# 港股示例
hk_ticker = "00700" # 港股股票
hk_news = toolkit.get_stock_news_unified(hk_ticker, curr_date)
print(hk_news)
统一新闻接口会根据股票类型自动选择合适的新闻源:
如果您只需要获取东方财富网的个股新闻,可以直接使用AKShare接口:
from tradingagents.dataflows.akshare_utils import get_stock_news_em
# 获取特定股票的东方财富新闻
ticker = "000001" # 股票代码(不带后缀)
news_df = get_stock_news_em(ticker)
# 显示新闻标题和时间
for _, row in news_df.iterrows():
print(f"标题: {row['标题']}")
print(f"时间: {row['时间']}")
print(f"链接: {row['链接']}")
print("---")
新闻分析师是一个专业的财经新闻分析智能体,能够分析新闻对股票价格的潜在影响:
# 创建LLM和工具包
llm = ChatOpenAI() # 使用OpenAI模型
toolkit = Toolkit()
# 创建新闻分析师
news_analyst = create_news_analyst(llm, toolkit)
# 准备状态
state = {
"trade_date": "2023-07-01",
"company_of_interest": "AAPL",
"messages": []
}
# 执行新闻分析
result = news_analyst(state)
# 获取分析报告
print(result["news_report"])
新闻分析师的分析报告包含:
# 获取全球宏观经济新闻
global_news = toolkit.get_global_news_openai(curr_date)
print(global_news)
您可以自定义实时新闻聚合器的新闻源优先级:
from tradingagents.dataflows.realtime_news_utils import RealtimeNewsAggregator
# 创建自定义新闻聚合器
aggregator = RealtimeNewsAggregator(
finnhub_enabled=True,
alpha_vantage_enabled=True,
newsapi_enabled=False, # 禁用NewsAPI
chinese_finance_enabled=True, # 启用中文财经新闻(包括东方财富新闻)
akshare_enabled=True # 启用AKShare东方财富新闻
)
# 获取新闻
news_items = aggregator.get_news(ticker, curr_date)
# 格式化报告
report = aggregator.format_news_report(news_items, ticker, curr_date)
print(report)
您可以自定义新闻紧急程度评估的关键词:
from tradingagents.dataflows.realtime_news_utils import RealtimeNewsAggregator
# 自定义紧急程度关键词
high_urgency_keywords = ["破产", "诉讼", "收购", "合并", "FDA批准", "盈利警告"]
medium_urgency_keywords = ["财报", "业绩", "合作", "新产品", "市场份额"]
# 创建自定义新闻聚合器
aggregator = RealtimeNewsAggregator()
# 设置自定义关键词
aggregator.high_urgency_keywords = high_urgency_keywords
aggregator.medium_urgency_keywords = medium_urgency_keywords
# 获取新闻
news_items = aggregator.get_news(ticker, curr_date)
# 格式化报告
report = aggregator.format_news_report(news_items, ticker, curr_date)
print(report)
优先使用实时新闻聚合器:对于需要最新市场动态的场景,优先使用 get_realtime_stock_news
方法。
使用统一接口处理多市场:当需要分析不同市场(A股、港股、美股)的股票时,使用 get_stock_news_unified
方法可以自动选择合适的新闻源。
利用东方财富新闻:对于A股和港股分析,系统会自动获取东方财富网的专业财经新闻,提供更准确的中文市场信息。
结合全球宏观新闻:使用 get_global_news_openai
获取全球宏观经济新闻,与股票特定新闻结合分析,获得更全面的市场视角。
注意API密钥配置:确保已正确配置 FinnHub、Alpha Vantage、NewsAPI 等服务的API密钥,以获取完整的新闻数据。
考虑时效性:新闻的时效性对投资决策至关重要,始终关注新闻发布时间与当前时间的差距。
定期更新关键词:根据市场变化和投资策略,定期更新紧急程度评估的关键词,以提高新闻分析的准确性。
如果遇到API限制问题,可以尝试以下解决方案:
如果新闻质量不佳,可以尝试以下解决方案:
新闻分析系统提供了全面的新闻获取和分析功能,能够从多个数据源获取实时新闻,并进行专业的分析和评估。统一的新闻获取接口使得系统能够自动识别股票类型并选择合适的新闻源,提供格式化的新闻分析报告。新闻分析师能够分析新闻对股票价格的潜在影响,提供量化的交易建议和价格影响评估。
系统现已集成AKShare的东方财富新闻功能,为A股和港股提供更专业、更本地化的中文财经新闻,大幅提升了中文市场的新闻覆盖率和分析准确性。
通过本指南,您应该能够熟练使用TradingAgentsCN系统中的新闻分析功能,为您的投资决策提供重要参考。