stocks-insights-ai-agent-股票相关新闻和金融数据洞察-开源-量化框架-09009


这个仓库 stocks-insights-ai-agent 是一个用于提取股票市场相关新闻和金融数据洞察的项目。它利用 Agentic 检索增强生成(RAG)工作流,结合大语言模型(LLMs)、ChromaDB 向量数据库、LangChain、LangChain 表达式语言(LCEL)和 LangGraph 来提供全面的分析。

主要特性

  1. 股票表现可视化:展示所选股票的历史表现图表。
  2. 特定属性数据检索:获取特定股票的详细属性信息。
  3. 新闻聚合:提供特定股票或公司的通用新闻或专题文章。

项目结构

stocks-insights-ai-agent/
├── LICENSE.md
├── README.md
├── rest_api/
   ├── main.py
   ├── routes/
   └── tests/
├── images/
   ├── classes_stock_proj.png
   ├── news-rag-graph.png
   ├── packages_stock_proj.png
   ├── stock-charts-rag-graph.png
   └── stock-data-rag-graph.png
├── config/
   ├── __init__.py
   ├── config.json
   └── config_loader.py
├── rag_graphs/
   ├── news_rag_graph/
   ├── stock_charts_graph/
   └── stock_data_rag_graph/
├── documentation/
   ├── high_level_design.png
   └── openapi.json
├── db/
   ├── __init__.py
   ├── models/
   ├── mongo_db.py
   └── postgres_db.py
├── scraper/
   ├── ...
├── utils/
   ├── logger.py
   ├── logger_config.py
   └── tests/

主要模块和功能

数据抓取

  • scraper/:包含各种数据抓取器的实现。
    • scraper_factory.py:使用工厂模式创建不同类型的抓取器实例,如 StockScraperFactoryNewsScraperFactory
    • stock_data_scraper.py:从 Yahoo Finance 同步获取股票历史数据,并将其插入到 PostgreSQL 数据库中。
    • news_scraper.py:从 Yahoo News 抓取特定股票的新闻文章,并将其存储在 MongoDB 中。

数据库操作

  • db/:包含数据库操作的实现。
    • mongo_db.py:提供 MongoDB 客户端的单例实现,支持插入、查询、更新和删除操作。
    • postgres_db.py:提供 PostgreSQL 客户端的单例实现,支持执行 SQL 查询和 CRUD 操作。

RAG 工作流

  • rag_graphs/:包含不同类型的 RAG 图实现。
    • news_rag_graph/:用于搜索新闻数据的 RAG 图,包括从向量数据库检索、文档评分、网络搜索和结果生成等节点。
    • stock_data_rag_graph/:用于搜索金融数据的 RAG 图,包括生成 SQL 查询、执行 SQL 查询和结果生成等节点。
    • stock_charts_graph/:用于检索金融数据并生成可视化图表的 RAG 图。

REST API

  • rest_api/:包含 FastAPI 实现的 REST API。
    • main.py:初始化 FastAPI 应用,启动后台数据抓取任务,并包含根路由。
    • routes/:包含具体的 API 路由实现。

配置管理

  • config/:包含项目的配置文件和配置加载器。
    • config.json:存储项目的配置信息,如要抓取的股票代码和抓取间隔。
    • config_loader.py:用于加载和解析配置文件。

API 接口

  • GET /stock/{ticker}/price-stats:获取特定股票代码的价格统计信息。
  • GET /stock/{ticker}/chart:获取特定股票代码的价格统计信息并返回直方图/图表。

总结

这个项目通过异步数据抓取、RAG 工作流和 REST API 提供了一个全面的股票数据洞察解决方案,能够帮助用户从新闻和金融数据中提取有价值的信息。

Github