mcpField
F
Financial Data Fetcher

Financial Data Fetcher

github.com/gracefullight数据与数据库49539 次安装1 天前更新
代码仓库

关于 Financial Data Fetcher

Financial Data Fetcher 是面向 AI Trading Agent 的金融数据技能,可获取市场价格、新闻、基本面数据和报价快照。数据通过 Alpaca API 和 yfinance 获取。

主要功能

  1. 01实时及历史 OHLCV 价格
  2. 02按股票代码获取金融新闻
  3. 03公司基本面指标
  4. 04实时报价与市场快照
  5. 05实时数据缓存 5 分钟

适用场景

  1. 01查看指定股票的历史价格
  2. 02汇总某股票的近期新闻
  3. 03比较多只股票的基本面
  4. 04检查当前报价和买卖价

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/gracefullight/stock-checker --skill financial-data-fetcher

安装后在 Claude Code 中输入/financial-data-fetcher确认已加载。

附带文件metadata.json

详细介绍

金融数据获取技能

为 AI 交易 Agent 提供全面的市场数据访问能力。

概述

此技能可获取:

  • 实时和历史 OHLCV 价格数据
  • 来自多个来源的财经新闻
  • 基本面数据(市盈率、收益、总市值)
  • 市场快照和报价

工具

1. get_price_data

获取标的的历史或实时价格数据。

参数:

  • symbols(必填):股票代码列表(例如,["AAPL", "MSFT"])
  • timeframe(可选):"1Min"、"5Min"、"1Hour"、"1Day"(默认值:"1Day")
  • start_date(可选):起始日期,格式为 YYYY-MM-DD
  • end_date(可选):结束日期,格式为 YYYY-MM-DD
  • limit(可选):要获取的 K 线数量(默认值:100)

返回:

{
  "success": true,
  "data": {
    "AAPL": [
      {
        "timestamp": "2025-10-30T09:30:00Z",
        "open": 150.25,
        "high": 151.50,
        "low": 149.80,
        "close": 151.00,
        "volume": 5000000
      }
    ]
  }
}

用法:

python scripts/fetch_data.py get_price_data --symbols AAPL MSFT --timeframe 1Day --limit 30
2. get_latest_news

获取标的近期的财经新闻。

参数:

  • symbols(必填):股票代码列表
  • limit(可选):新闻条数(默认值:10)
  • sources(可选):要查询的新闻来源(默认值:全部)

返回:

{
  "success": true,
  "data": [
    {
      "symbol": "AAPL",
      "headline": "Apple announces new product line",
      "summary": "...",
      "source": "Bloomberg",
      "url": "https://...",
      "published_at": "2025-10-30T08:00:00Z",
      "sentiment": "positive"
    }
  ]
}
3. get_fundamentals

获取标的的基本面数据。

参数:

  • symbols(必填):股票代码列表
  • metrics(可选):要获取的特定指标(默认值:全部)

返回:

{
  "success": true,
  "data": {
    "AAPL": {
      "market_cap": 3000000000000,
      "pe_ratio": 28.5,
      "eps": 6.42,
      "dividend_yield": 0.52,
      "beta": 1.2,
      "52_week_high": 200.00,
      "52_week_low": 120.00
    }
  }
}
4. get_market_snapshot

获取当前市场快照及实时报价。

参数:

  • symbols(必填):股票代码列表

返回:

{
  "success": true,
  "data": {
    "AAPL": {
      "price": 151.00,
      "bid": 150.98,
      "ask": 151.02,
      "bid_size": 100,
      "ask_size": 200,
      "last_trade_time": "2025-10-30T15:59:59Z",
      "volume": 50000000,
      "vwap": 150.75
    }
  }
}

实现

有关使用 Alpaca API 和 yfinance 的完整实现,请参阅 scripts/fetch_data.py。

速率限制

  • Alpaca API:每分钟 200 次请求
  • News API:每天 25 次请求(免费套餐)
  • 缓存:实时数据缓存 5 分钟

错误处理

所有工具均返回统一的错误格式:

{
  "success": false,
  "error": "Error message",
  "error_code": "INVALID_SYMBOL"
}

集成示例

from claude_skills import load_skill

skill = load_skill("financial_data_fetcher")

# Get price data
result = skill.get_price_data(
    symbols=["AAPL", "MSFT"],
    timeframe="1Day",
    limit=30
)

if result["success"]:
    prices = result["data"]
    # Use in trading strategy

评论

支持 Markdown