mcpField
M
market-data

market-data

github.com/alphaonedev数据与数据库112 次安装
代码仓库

关于 market-data

market-data 是面向交易系统、金融仪表板和数据应用的市场数据处理技能,可获取股票、ETF、外汇的实时或历史数据并计算指标。它支持多数据源配置,以及分页和缓存处理。

主要功能

  1. 01获取股票、ETF 和外汇行情
  2. 02处理实时与历史数据
  3. 03计算移动平均和波动率
  4. 04通过 JSON 配置多个数据源
  5. 05使用分页和缓存处理大型数据集

适用场景

  1. 01监控交易系统中的实时行情
  2. 02为投资组合分析获取历史数据
  3. 03计算指标以生成交易信号

安装

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

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill market-data

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

详细介绍

market-data

用途

此技能通过 Alpha Vantage 或 Yahoo Finance 等 API 获取并处理实时金融市场数据,助力分析和交易决策。它可处理股票、货币和指数的数据采集、标准化和基础计算。

适用场景

在交易机器人、金融仪表盘或数据驱动型应用中进行实时市场监控时,可使用此技能。需要实时股价、历史数据或移动平均线等指标时,尤其是在高频交易场景或投资组合分析中,可使用此技能。

主要功能
  • 通过 API 获取股票、ETF 和外汇的实时或历史数据。
  • 使用内置函数处理数据,例如计算简单移动平均线或波动率。
  • 支持多个数据源,可通过 JSON 配置文件进行配置。
  • 通过分页和缓存高效处理大型数据集。
  • 与其他金融工具集成,实现自动化工作流。
使用模式

始终通过环境变量进行身份验证后再初始化此技能。在管道中使用:先获取数据,再进行处理,最后输出或集成。对于脚本,将其作为模块导入并直接调用函数。在 CLI 模式下,串联命令以执行连续操作。避免直接写入数据库;此技能用于临时数据处理。

常用命令/API

使用 claw CLI 快速访问;API 端点用于编程调用。运行命令前,请设置 $MARKET_API_KEY 进行身份验证。

  • CLI 命令:获取股价
    claw market-data fetch --symbol AAPL --interval 1min
    此命令会获取 AAPL 最新的 1 分钟 OHLC 数据。

  • API 端点:获取股票数据
    端点:GET /api/v1/stocks/{symbol},可使用 ?interval=1min 等查询参数
    示例:在代码中使用:

    import requests
    response = requests.get('http://api.openclaw.ai/api/v1/stocks/AAPL', headers={'Authorization': f'Bearer {os.environ["MARKET_API_KEY"]}'})
    data = response.json()
    
  • CLI 命令:处理数据(例如计算 SMA)
    claw market-data process --input data.json --function sma --period 20
    此命令会读取 JSON 文件并计算 20 周期 SMA。

  • API 端点:处理数据
    端点:POST /api/v1/process,请求体为 JSON:{"function": "sma", "data": [...], "period": 20}
    示例:

    fetch('http://api.openclaw.ai/api/v1/process', {
      method: 'POST',
      headers: { 'Authorization': `Bearer ${process.env.MARKET_API_KEY}` },
      body: JSON.stringify({function: 'sma', data: [/* array */], period: 20})
    }).then(res => res.json());
    
  • 配置格式:使用 JSON 文件进行设置
    配置示例 config.json:

    {
      "api_endpoint": "http://api.openclaw.ai",
      "default_interval": "1min",
      "cache_ttl": 300
    }
    

    使用以下命令加载:claw market-data config load path/to/config.json

集成说明

在应用代码中封装此技能的函数即可完成集成;请确保已在环境中设置 $MARKET_API_KEY。对于 Web 应用,请使用异步调用以避免阻塞。如果与其他技能组合使用,可通过 stdin/stdout 传递输出,例如 claw market-data fetch --symbol AAPL | claw trading-execution analyze。通过添加延迟或使用内置的重试机制 --retry-count 3 来处理速率限制。请先在沙盒环境中测试集成。

错误处理

通过解析响应代码检查 API 错误;常见错误包括 401(未授权),通常是因为 $MARKET_API_KEY 缺失或无效。在代码片段中使用 try-catch:

try:
    response = requests.get(...)  # as above
    response.raise_for_status()
except requests.exceptions.HTTPError as err:
    print(f"Error: {err} - Check API key or endpoint")

对于 CLI,可添加 --verbose 记录错误,例如 claw market-data fetch --symbol AAPL --verbose。使用指数退避重试临时错误;可在 config.json 中通过 {"retry_policy": {"max_retries": 5, "backoff": 2}} 进行配置。始终验证输入,以防止请求格式错误。

具体使用示例
  1. 在 Python 脚本中获取并分析股价:
    设置 $MARKET_API_KEY=your_key。然后:

    import os
    import requests
    symbol = 'AAPL'
    response = requests.get(f'http://api.openclaw.ai/api/v1/stocks/{symbol}', headers={'Authorization': f'Bearer {os.environ["MARKET_API_KEY"]}'})
    price = response.json()['price']
    print(f"Current price of {symbol}: {price}")
    

    此操作会输出实时价格,可立即用于交易算法。

  2. 通过 CLI 处理历史数据以生成交易信号:
    首先,获取数据:claw market-data fetch --symbol TSLA --interval daily --output history.json。
    然后进行处理:claw market-data process --input history.json --function rsi --period 14。
    输出:包含 RSI 值的 JSON,可将其传入决策脚本以生成买入/卖出信号。

图关系
  • 相关:trading-execution(为下单获取数据)、financial-analysis(为报告提供处理后的数据)。
  • 依赖:authentication-service(用于验证 API 密钥)。
  • 使用方:portfolio-management(集成市场数据以进行资产配置)。

评论

支持 Markdown