AI驱动的新闻交易信号生成器

我如何使用LangGraph和GPT-4创建一个每日市场情报系统,以分析AI新闻并在市场开盘前发送投资建议

AI驱动的新闻交易信号生成器
一键发币: Aptos | X Layer | SUI | SOL | BNB | ETH | BASE | ARB | OP | Polygon | Avalanche | 用AI学区块链开发

每天早上东部时间凌晨5点,当我还在睡觉时,我的AI代理已经在辛勤工作。它正在扫描前一天的数十篇AI新闻文章,分析哪些可能影响股票价格,并准备一份详细的的投资分析,比市场开盘早几小时就发送到我的邮箱中。

这个周末项目最初是为了自动化我的早晨市场研究,现在已经变成了一个出人意料有效的交易伙伴。作为一名关注AI发展和金融市场的投资者,我每天早上花费太多时间在浏览新闻文章上,试图确定哪些AI突破、合作伙伴关系或监管变化可能真正影响股价。

解决方案?建立一个能为我进行这种分析的AI代理。

使用LangGraph和GPT-4,我创建了一个系统,可以获取昨天的AI新闻,识别最相关的新闻故事,分析它们对特定股票的潜在影响,并直接通过电子邮件发送买入/卖出/持有建议。最棒的是?这一切都在凌晨5点自动完成,让我在市场开盘前有4.5小时的领先优势。

在这篇文章中,我将逐步介绍我是如何构建这个自动市场情报系统的,从LangGraph的工作流设计到日常调度设置。无论你对AI代理、算法交易感兴趣,还是只是想自动化自己的市场研究,这个项目结合了多种强大的技术来创造真正有用的东西。

让我们深入了解,几百行Python代码如何改变你的早晨交易习惯。

1、问题:AI新闻中的信息过载

AI行业发展迅速。每天都会带来新的产品发布、融资活动、监管更新和突破性公告。作为一名对AI股票感兴趣的投资者,我发现每天早上都要花30到45分钟尝试回答同样的问题:

  • 哪些昨天的AI新闻故事实际上会影响股价?
  • 在那个新芯片发布后,我应该购买NVIDIA吗?
  • OpenAI的最新合作伙伴关系会如何影响微软的股票?
  • 关于AI安全的监管新闻会对整个行业产生什么影响?

手动分析变得不可持续。我需要一个能够处理噪音并突出信号的系统。

2、解决方案:一个像交易员一样思考的AI代理

我决定构建一个AI代理,它可以:

  1. 从前一天获取相关的AI新闻
  2. 分析每篇文章的潜在市场影响
  3. 生成具体的交易建议,包括股票代码
  4. 在市场开盘前将分析发送到我的邮箱

关键的见解是使用LangGraph来创建一个结构化的工作流程,而不是仅仅把所有内容扔给一次LLM调用。

3、架构概览

以下是系统的工作方式:

def create_graph():  
    graph = StateGraph(State)  

    # 添加节点  
    graph.add_node("llm", llm_node)  
    graph.add_node("send_message", send_message_node)  

    # 定义流程  
    graph.add_edge(START, "llm")  
    graph.add_edge("llm", "send_message")  
    graph.add_edge("send_message", END)  

    return graph.compile()

该工作流有意保持简单:获取 → 分析 → 发送。有时最好的解决方案就是最简单的。

替代想法:将新闻获取器写成一个工具,并将其绑定到模型上,这样代理可以相应地循环。我没有这样做,因为没有必要将其作为ReAct代理。

3.1 构建新闻获取器

第一个挑战是获取高质量的相关新闻数据。我使用了newsapi.ai并进行了特定过滤:

def get_ai_news_articles() -> str:  
    """获取昨天的AI相关新闻"""  
    yesterday = (datetime.now() - timedelta(days=1)).strftime('%Y-%m-%d')  

    params = {  
        'apiKey': os.getenv('NEWS_API_KEY'),  
        'q': 'AI OR "artificial intelligence" OR "machine learning" OR ChatGPT OR OpenAI OR "large language model"',  
        'category': 'technology',  
        'date': yesterday,  
        'sortBy': 'rank',  
        'language': 'en'  
    }  

    response = httpx.get('https://newsapi.ai/api/v1/article/getArticles', params=params)

这里的关键决策是:

  • 昨天的新闻:市场对夜间发展做出反应
  • 相关性 + 情绪评分:API提供这些指标
  • 前20篇文章:足够的内容而不让LLM感到压力
  • 多个AI关键词:捕捉各种AI相关的故事

3.2 分析引擎

这就是魔法发生的地方。我设计了一个详细的提示,将GPT-4转变为财务分析师:

def llm_node(state: State):  
    system_prompt = """你是一个专注于AI/科技股票的财务分析师。   
    ...      
    以适合电子邮件的清晰、可操作的格式返回你的分析。  
    优先考虑最相关的前10篇新闻文章。"""  

    # 获取新闻文章  
    articles = get_ai_news_articles()  

    messages = [  
        {"role": "system", "content": system_prompt},  
        {"role": "user", "content": f"分析这些AI新闻文章: {articles}"}  
    ]  

    response = llm.invoke(messages)  

    return {"messages": [response]}

3.3 邮件发送系统

最后一部分使用Mailgun通过电子邮件发送分析:

from mailgun.client import Client  

client: Client = Client(auth=("api", mail_key))  

def send_email(content: str) -> None:  
  yesterday = get_yesterday()  
  data = {  
    "from": f'Market Analyzer <analysis@{mailgun_domain}>',  
    "to": recipients.split(","),  
    "subject": f"Market News - {yesterday.strftime('%B %d, %Y')}",  
    "text": content  
  }  

  req = client.messages.create(data=data, domain=mail_domain)

3.4 调度:凌晨5点的奇迹

该系统每天早上东部时间5点运行,使用langgraph cloud上的cron作业。对于plus客户,已启用cron功能。

3.4 输出效果

这是我邮箱中收到的内容示例:

4、技术栈

这是推动这个系统的技术:

  • LangGraph:工作流编排和状态管理
  • OpenAI GPT-4:财务分析和推理
  • newsapi.ai:带有情感分析的高质量新闻数据
  • Mailgun:可靠的电子邮件传递
  • Python:核心实现语言

5、总结和计划

构建这个AI代理让我学到了几个重要的教训:

  1. 简单的流程通常效果最好:线性的LangGraph流程易于调试和修改
  2. 提示工程很重要:分析的质量高度依赖于系统提示
  3. 时机至关重要:凌晨5点的执行提供了最大价值
  4. 自动化带来回报:节省的时间每天都在累积

我正在考虑的一些未来改进:

  • 投资组合集成:分析对我实际持仓的影响
  • 历史回测:跟踪推荐的准确性随时间的变化
  • 多模型分析:比较GPT-4与Claude等其他模型
  • 实时警报:推送通知用于突发新闻

这个系统的优势在于其模块化。每个组件都可以独立改进,而LangGraph结构使其易于添加新的分析节点或数据源。

6、结束语

这个简单的周末项目已经成为了我交易程序中不可或缺的一部分。通过结合AI新闻分析和自动交付,我创建了一个节省时间同时可能改善投资决策的系统。

关键的见解是,AI代理不需要复杂才能有价值。有时候最有力量的应用是那些能非常有效地解决特定个人问题的。

如果你有兴趣构建类似的系统,代码是直接的,组件是模块化的。无论你是分析AI新闻、加密货币发展,还是任何其他市场动向的信息,这种获取 → 分析 → 交付的模式可以适应几乎任何领域。

个人金融的未来可能就是拥有一个在你睡觉时工作的AI代理。


原文链接:Building an AI Agent That Turns News into Trading Signals

DefiPlot翻译整理,转载请标明出处

免责声明:本站资源仅用于学习目的,也不应被视为投资建议,读者在采取任何行动之前应自行研究并对自己的决定承担全部责任。