返回市场
股票流量监控

股票流量监控

作者:twolven22 星标更新:2025-02-24

项目介绍

StockFlow MCP Server

一个通过Yahoo Finance提供实时股票数据和期权分析的模型上下文协议(MCP)服务器。使大型语言模型能够访问市场数据、分析股票并评估期权策略。

功能

股票数据

  • 实时股票价格和关键指标
  • 带有OHLC值的历史价格数据
  • 公司基本面和财务报表
  • 市场指标和比率

期权分析

  • 完整的期权链数据
  • 希腊字母(Delta, Gamma, Theta, Vega)
  • 成交量和未平仓合约跟踪
  • 期权策略分析

安装

# 安装依赖
pip install mcp yfinance

# 克隆仓库
git clone https://github.com/twolven/stockflow
cd stockflow

使用方法

  1. 克隆仓库:
git clone https://github.com/twolven/mcp-stockflow.git
cd mcp-stockflow
  1. 安装依赖:
pip install -r requirements.txt
  1. 添加到你的Claude配置中: 在你的claude-desktop-config.json文件中,在mcpServers部分添加以下内容:
{
    "mcpServers": {
        "stockflow": {
            "command": "python",
            "args": ["path/to/stockflow.py"]
        }
    }
}

将"path/to/stockflow.py"替换为你保存stockflow.py文件的实际路径。

使用提示给Claude

当你与Claude一起工作时,可以使用以下提示帮助它理解可用工具:

“我已经启用了stockflow工具,这让你能够访问股市数据。你可以使用这三个主要功能:

  1. get_stock_data - 获取综合股票信息:
{
    "symbol": "AAPL",
    "include_financials": true,  # 可选
    "include_analysis": true,    # 可选
    "include_calendar": true     # 可选
}
  1. get_historical_data - 获取价格历史和技术指标:
{
    "symbol": "AAPL",
    时期: "1y",        # 1d, 5d, 1mo, 3mo, 6mo, 1y, 2y, 5y, 10y, ytd, max
    间隔: "1d",      # 1m, 2m, 5m, 15m, 30m, 60m, 90m, 1h, 1d, 5d, 1wk, 1mo, 3mo
    prepost: false       # 可选 - 包含盘前/盘后数据
}
  1. get_options_chain - 获取期权数据:
{
    "symbol": "AAPL",
    到期日: "2024-12-20",  # 可选 - 如果未指定则使用最近日期
    include_greeks: true            # 可选
}

所有响应都包含当前价格数据、错误处理和全面的市场信息。”

运行服务器

python stockflow.py

使用MCP客户端

from mcp import ClientSession, StdioServerParameters
from mcp.client.stdio import stdio_client

server_params = StdioServerParameters(
    command="python",
    args=["stockflow.py"]
)

async def run():
    async with stdio_client(server_params) as (read, write):
        async with ClientSession(read, write) as session:
            await session.initialize()
            
            # 获取当前股票数据
            result = await session.call_tool(
                "get-stock-data", 
                arguments={"symbol": "AAPL"}
            )
            
            # 获取期权链
            options = await session.call_tool(
                "get-options-chain",
                arguments={
                    "symbol": "AAPL",
                    "expiration_date": "2024-12-20"
                }
            )

if __name__ == "__main__":
    import asyncio
    asyncio.run(run())

可用工具

  1. get-stock-data

    • 当前价格和成交量
    • 市值和市盈率
    • 52周高低点
  2. get-historical-data

    • OHLC价格
    • 可配置的时间段
    • 成交量数据
  3. get-options-chain

    • 认购和认沽
    • 行权价
    • 希腊字母和隐含波动率
    • 成交量和未平仓合约

可用资源

  1. company-info://{symbol}

    • 公司描述
    • 所属行业和板块
    • 员工数量
    • 网站
  2. financials://{symbol}

    • 损益表
    • 资产负债表
    • 现金流量表

提示

  1. analyze-options
    • 期权策略分析
    • 风险/回报评估
    • 市场状况评估

要求

  • Python 3.12+
  • mcp
  • yfinance

限制

  • 数据来源于Yahoo Finance,可能会有延迟
  • 期权数据的可用性取决于市场时间
  • 根据Yahoo Finance API的限制应用速率限制

贡献

欢迎贡献!请随时提交Pull Request。

许可证

本项目根据MIT许可证发布 - 查看LICENSE文件以获取详细信息。

作者

Todd Wolven - (https://github.com/twolven)

致谢

  • 使用Anthropic的Model Context Protocol (MCP)构建
  • 数据由Yahoo Finance提供
  • 为Anthropic的Claude开发