关于 market-data
market-data 是面向交易系统、金融仪表板和数据应用的市场数据处理技能,可获取股票、ETF、外汇的实时或历史数据并计算指标。它支持多数据源配置,以及分页和缓存处理。
主要功能
- 01获取股票、ETF 和外汇行情
- 02处理实时与历史数据
- 03计算移动平均和波动率
- 04通过 JSON 配置多个数据源
- 05使用分页和缓存处理大型数据集
适用场景
- 01监控交易系统中的实时行情
- 02为投资组合分析获取历史数据
- 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}} 进行配置。始终验证输入,以防止请求格式错误。
具体使用示例
-
在 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}")此操作会输出实时价格,可立即用于交易算法。
-
通过 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(集成市场数据以进行资产配置)。