返回市场
股票MCP

股票MCP

作者:Shak20002 星标更新:2025-03-14

项目介绍

Yahoo Finance Model Context Protocol (MCP) for LLaMA 3.2 3B

此仓库包含一个模型上下文协议(MCP)实现,该实现将Yahoo Finance API与LLaMA 3.2 3B集成。MCP允许模型在获取实时金融数据、股票信息和市场新闻的同时保留LLaMA的所有常规功能。

特性

  • 在LLaMA 3.2 3B中直接获取实时股票价格
  • 获取详细的公司信息(行业、板块、市值等)
  • 获取具有自定义时间段和间隔的历史股票数据
  • 获取最新的市场新闻头条
  • 无缝增强LLaMA的功能,而不干扰非金融查询

要求

  • Python 3.8+
  • Ollama - 用于本地运行LLaMA 3.2 3B
  • 通过Ollama拉取的LLaMA 3.2 3B模型
  • Python包:
    • ollama
    • yfinance
    • requests
    • pandas

安装

  1. https://ollama.ai/安装Ollama

  2. 使用Ollama拉取LLaMA 3.2 3B模型:

    ollama pull llama3.2:3b
    
  3. 克隆此仓库:

    git clone <repository-url>
    cd mcp_yahoo_finance
    
  4. 安装所需的Python依赖项:

    pip install -r requirements.txt
    

使用方法

使用Ollama集成运行MCP

要通过Ollama使用Yahoo Finance MCP与LLaMA 3.2 3B:

python mcp_ollama_integration.py

这将启动一个交互式会话,在此会话中你可以:

  • 提出将被Yahoo Finance数据丰富化的财务问题
  • 提出任何其他问题,这些问题将由LLaMA 3.2 3B正常处理

示例查询

财务查询(增强的Yahoo Finance数据)

  • "苹果股票的当前价格是多少?"
  • "告诉我关于特斯拉作为一家公司的信息"
  • "微软的股票在过去一个月的表现如何?"
  • "最新的市场新闻头条是什么?"
  • "亚马逊的52周高点是多少?"
  • "Nvidia运营的是哪个行业?"
  • "今年S&P 500的表现如何?"

非财务查询(由LLaMA正常处理)

  • "法国的首都是什么?"
  • "解释量子计算"
  • "写一首关于秋天的诗"
  • "什么是勾股定理?"

使用不同的LLaMA模型

你可以使用--model参数指定不同的模型:

python mcp_ollama_integration.py --model llama3.2:8b

工作原理

  1. MCP分析每个用户查询以确定其是否与财务相关
  2. 对于财务查询,它:
    • 确定需要调用的相关财务函数(价格、信息、历史、新闻)
    • 通过MCP调用Yahoo Finance API
    • 格式化实时数据并将其作为上下文提供给LLaMA 3.2 3B
    • LLaMA 3.2 3B提供结合财务数据的自然响应
  3. 对于非财务查询,它直接将它们传递给LLaMA 3.2 3B而不进行修改

这种方法无缝地增强了LLaMA的功能,同时保留了其所有原始功能。

高级用法

直接API函数

如果你想在代码中直接使用Yahoo Finance MCP函数:

from yahoo_finance_mcp import YahooFinanceMCP

# 初始化MCP
mcp = YahooFinanceMCP()

# 获取股票价格
price_data = mcp.execute_function("get_stock_price", {"symbol": "AAPL"})

# 获取公司信息
company_data = mcp.execute_function("get_stock_info", {"symbol": "TSLA"})

# 获取历史数据
history_data = mcp.execute_function("get_stock_history", {"symbol": "MSFT", "period": "1mo"})

# 获取市场新闻
news_data = mcp.execute_function("get_market_news", {"limit": 10})

故障排除

  • “连接到Ollama时出错”:确保已安装并正在运行Ollama
  • 找不到公司:尝试使用官方股票代码而不是公司名称
  • 未找到LLaMA 3.2 3B模型:运行ollama pull llama3.2:3b下载模型

致谢

本项目使用yfinance库来检索Yahoo Finance数据,并使用Ollama来本地运行LLaMA 3.2 3B。