
释放您内心的对冲基金:与 Agno 一起打造超强的 Ai 投资团队!
- Rifx.Online
- AI Applications , Large Language Models , Case Studies
- 16 Feb, 2025
评估股票时的一个常见挑战是处理来自多个来源的大量信息,以做出明智的投资决策。
传统方法
传统方法包括:
- 从各种平台收集金融数据。
- 阅读多份报告、新闻和其他文章。
- 构建和维护复杂的电子表格模型。
- 将这些信息综合成可操作的内容。
同时持有和管理所有这些输入往往看起来像这样:
毫无疑问,AI是最可行的解决方案之一,使得高效处理大数据集变得简单。
然而,目前可供公众使用的大多数大型语言模型(LLMs)仍然无法对实时股票数据进行详细深入的分析,准确性有限:
- ChatGPT和Claude有上下文日期截止。
- Perplexity非常适合实时信息,但在分析任务方面有限。
- ChatGPT Search仍然不够出色。
对于详细的研究和股票分析,我们需要更精确的工具,能够处理实时信息和结构化数据集。
事实上,如果我们能够将这一切结合起来呢?如果我们能够利用能够在一个系统中浏览新闻、谷歌搜索、金融数据集和编码任务的AI代理呢?
一个超级强大的股票分析师。
输入AI代理解决方案
为了解决这个问题,我开发了一个系统,协调多个专门的AI代理,每个代理处理股票分析的特定方面。
多代理系统架构的高级概述,展示了不同专门代理如何协同工作以进行处理。
代理团队
该团队代表了一个系统,其中每个代理专注于金融分析的特定方面。这些代理无缝协作,结合各自独特的能力提供投资见解。
每个代理都经过精心设计,配备了最适合其预期功能的特定模型和工具。不同AI模型(GPT-4o和Claude)的组合使我们能够利用每个模型的优势,以在各自的任务中实现最佳性能。
以下是每个代理的角色和能力的详细介绍:
Phidata: The Agentic Framework
Phidata是一个AI代理框架,使开发者能够:
- 构建具有记忆、知识和外部连接的代理
- 构建可以协同工作的代理团队
- 监控、评估和优化代理
Phidata允许我们开箱即用地集成几个强大的工具:
- Yahoo Finance API用于实时价格数据和历史金融数据
- 谷歌搜索用于新闻和情感分析
- Python工具用于AI导向的代码执行和定量分析(谨慎使用)
注意: 代码执行代理需要严格的控制和严格的提示工程。
代码代理可能会遇到多个错误,例如递归函数或保存和读取文件。
入门
您可以在我的 GitHub 仓库中找到完整的代码和其他食谱。
您需要:
- OpenAI 和 Anthropic 的 API 密钥(我们对不同的代理使用不同的模型,但您可以选择更统一的工作流程)
- 安装 Phidata 框架,请查看文档 https://phidata.com
- 一些基本的 Python 知识以便跟随
所需的包
!pip install phidata openai anthropic yfinance googlesearch-python pycountry -q
导入库和API密钥
from phi.agent import Agent
from phi.model.openai import OpenAIChat
from phi.model.anthropic import Claude
from phi.tools.yfinance import YFinanceTools
from phi.tools.googlesearch import GoogleSearch
import requests
from google.colab import userdata
OPENAI_API_KEY = userdata.get('OPENAI_API_KEY')
ANTHROPIC_API_KEY = userdata.get('ANTHROPIC_API_KEY')
import os
os.environ["OPENAI_API_KEY"] = OPENAI_API_KEY
os.environ["ANTHROPIC_API_KEY"] = ANTHROPIC_API_KEY
定义一个代理 — 情感分析示例
sentiment_agent = Agent(
name="Sentiment Analysis Agent",
role="Search and interpret news articles",
model=OpenAIChat(id="gpt-4o"),
tools=[GoogleSearch(), YFinanceTools(company_news=True)],
instructions=[
"Find relevant news articles for each company and critically analyze the news sentiment.",
"Provide sentiment scores from 1 (negative) to 10 (positive) with reasoning and sources.",
"Cite your sources. Be specific, critical and provide relevant links."
],
show_tool_calls=True,
markdown=True,
)
定义一个代理 — 基本股票信息示例
basic_stock_agent = Agent(
name="Basic Financial Data Agent",
role="Retrieve basic company financial data and expertly interpret trends and data using a rigorously analytical approach",
model=Claude(id="claude-3-5-sonnet-latest"),
tools=[YFinanceTools(stock_price=True, company_info=True, stock_fundamentals=True, analyst_recommendations=True)],
instructions=[
"Retrieve stock prices, analyst recommendations, and key summary financial data.",
"Focus on company fundamentals and trends, presenting the data in tables with key insights."
],
show_tool_calls=True,
markdown=True,
)
用户可以根据他们独特的需求选择添加更多代理,包括可视化代理和其他格式。
构建您的代理团队
只需几行代码,我们就可以建立一个强大的多代理系统,具有特定角色,协作分析股票。
_agent_team_
充当指挥,选择合适的代理工作流程,确保每个代理都能贡献其见解,并且最终输出结构良好、数据驱动且易于理解。
agent_team = Agent(
model=Claude(id="claude-3-5-sonnet-latest"),
team=[sentiment_agent, basic_stock_agent],
instructions=[
"结合您团队中所有代理的专业知识,提供一个连贯的、高度分析的和有力支持的响应",
"始终为所有数据点和来源包含参考和日期。您的上下文截至[在此插入日期]",
"以结构化表格形式呈现数据,以确保所有结论都是数据驱动的。",
"解释方法论,并始终确定买入、卖出或持有的建议。"
],
show_tool_calls=True,
markdown=True,
)
开始与您的代理团队聊天
您现在可以开始查询您的代理团队了!以下是示例提示和输出的样子:
示例提示:
agent_team.print_response(
"Perform a public comparable companies analysis for CALM Cal Maine Foods. Identify its main competitors and market positioning. Assess each comp in a structured table format",
stream=True
)
示例输出:
┏━ Response (59.0s) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
┃ ┃
┃ 我将帮助您对Cal-Maine Foods (CALM)进行全面的比较分析。我将通过使用我们的代理系统地收集必要的信息。 ┃
┃ ┃
┃ 首先,我将把任务转交给我们的代理,以收集所需的数据: ┃
┃ ┃
┃ • 运行中:transfer_task_to_basic_financial_data_agent(task_description=..., expected_output=A list of 3-4 ┃
┃ direct public competitors with ticker symbols, additional_information=Focus on companies in egg production, ┃
┃ processing, and distribution) ┃
┃ ┃
┃ 现在,我将收集一些额外的市场定位信息: ┃
┃ ┃
┃ • 运行中:transfer_task_to_comprehensive_financial_data_agent(task_description=..., expected_output=Detailed ┃
┃ analysis of CALM's market share, unique positioning, and competitive strengths, additional_information=Focus ┃
┃ on production capacity, distribution network, and market differentiation) ┃
┃ ┃
┃ 让我以结构化格式汇编全面的比较分析: ┃
┃ ┃
┃ ┃
┃ Cal-Maine Foods (CALM) 的公开可比公司分析 ┃
┃ ┃
┃ 比较公司概述 ┃
┃ ┃
┃ ┃
┃ 公司 股票代码 市值 (美元) 主要焦点 鸡蛋生产重点 ┃
┃ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┃
┃ Cal-Maine Foods CALM $4.96B 专业鸡蛋生产商 主要业务 ┃
┃ Post Holdings POST $6.66B 包装食品 次要业务 ┃
┃ Tyson Foods TSN $20.65B 肉类和食品产品 较小的业务线 ┃
┃ Vital Farms VITL $1.64B 放养鸡蛋 专业领域 ┃
┃ Seaboard Corporation SEB $2.34B 多元化企业 较小的业务线 ┃
┃ ┃
┃ ┃
┃ 比较财务指标 ┃
┃ ┃
┃ ┃
┃ 指标 CALM POST TSN VITL SEB ┃
┃ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ┃
┃ 市盈率 11.59 16.11 13.80 31.31 N/A ┃
┃ 每股收益 $8.73 $5.64 $2.25 $1.12 -$5.30 ┃
┃ 收入增长 (同比) 71.1% 变化 中等 高 变化 ┃
┃ 毛利率 28.02% 15-20% 12-15% 25-30% 变化 ┃
┃ ┃
┃ ┃
┃ Cal-Maine Foods 的竞争定位 ┃
┃ ┃
┃ 独特优势 ┃
┃ ┃
┃ 1 鸡蛋生产市场领导地位 ┃
┃ 2 多元化产品组合 ┃
┃ 3 强大的区域分销网络 ┃
┃ 4 专注于特色鸡蛋细分市场 ┃
┃ 5 强劲的财务表现 ┃
┃ ┃
┃ 关键差异化因素 ┃
┃ ┃
┃ • 品牌:Egg-Land's Best, Land O' Lakes, Farmhouse Eggs ┃
┃ • 产品范围:常规、有机、自由放养、放养鸡蛋 ┃
┃ • 地理覆盖:西南部、东南部、中西部、东北部、中大西洋地区 ┃
┃ ┃
┃ 市场建议 ┃
┃ ┃
┃ 比较评估: ┃
┃ ┃
┃ • Cal-Maine Foods似乎是最专注和纯粹的鸡蛋生产公司 ┃
┃ • 与多元化竞争对手相比,财务指标强劲 ┃
┃ • 在特色鸡蛋市场细分中持续增长的潜力 ┃
┃ ┃
┃ 推荐:强烈买入 ┃
┃ ┃
┃ • 扎实的基本面 ┃
┃ • 市场领导地位 ┃
┃ • 对消费者趋势的适应能力 ┃
┃ • 与同行相比,估值具有吸引力 ┃
┃ ┃
┃ 注意:此分析基于当前市场数据,可能会有所变化。在做出投资决策之前,请始终进行个人尽职调查。 ┃
┃ ┃
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
这就是您构建个人股权分析师的方式,帮助您提升投资过程。
真实世界的结果
对各种股票进行系统测试显示出良好的结果:
- 研究效率:缩短股票研究时间,并且能够同时处理多家公司,实现更广泛的覆盖而无需增加人手。
- 竞争分析:快速生成同业比较和行业定位。
- 金融分析:减少对初级分析师在数据收集方面的依赖,使他们能够专注于更高价值的分析。
- 成本降低:通过自动聚合数据,可能消除对多个金融数据库订阅的需求。
- 多模型支持:插入 Claude、GPTs、Groq、HF模型或任何其他最适合您需求的LLM提供者。
限制
虽然功能强大,但该系统存在一些限制:
- 超出LLM训练截止日期的数据分析能力有限
- 依赖外部API数据的质量和可用性
- 使用额外工具和代理会增加计算成本
- 需要精确的提示工程
- 复杂决策仍需人工监督
潜在增强
未来的增强可以包括:
- 额外的数据源和API
- 更复杂的代理间通信
- 增强的可视化和代码执行能力
- 用于模式识别的机器学习模型
结论
这个多代理框架是自动化金融分析的重要一步。通过结合不同AI模型和工具的优势,我们可以创建更强大和全面的分析工作流程。
** 请记住:此帖子仅用于教育目的,不应被视为财务建议。在做出投资决策之前,请始终进行自己的研究。**
** 虽然AI可以大大增强我们的分析能力,但它应当补充,而不是取代,在投资决策中的人类判断。**
** 免责声明:这不是投资建议。我在这里表达的观点和意见仅代表我个人,并不一定反映我雇主或任何其他关联组织的立场。**