83 lines
3.1 KiB
Markdown
83 lines
3.1 KiB
Markdown
---
|
||
name: finance
|
||
description: "追踪股票、ETF、指数、加密货币(如可用)和外汇货币对,具备缓存和提供商回退功能。"
|
||
metadata: {"clawdbot":{"config":{"requiredEnv":["TWELVEDATA_API_KEY","ALPHAVANTAGE_API_KEY"],"stateDirs":[".cache/finance"],"example":"# Optional (only if you add a paid provider later)\n# export TWELVEDATA_API_KEY=\"...\"\n# export ALPHAVANTAGE_API_KEY=\"...\"\n"}}}
|
||
---
|
||
|
||
# Market Tracker Skill
|
||
|
||
This skill helps you fetch **latest quotes** and **historical series** for:
|
||
- Stocks / ETFs / Indices (e.g., AAPL, MSFT, ^GSPC, VOO)
|
||
- FX pairs (e.g., USD/ZAR, EURUSD, GBP-JPY)
|
||
- Crypto tickers supported by the chosen provider (best-effort)
|
||
|
||
It is optimized for:
|
||
- fast “what’s the price now?” queries
|
||
- lightweight tracking with a local watchlist
|
||
- caching to avoid rate-limits
|
||
|
||
## When to use
|
||
Use this skill when the user asks:
|
||
- “What’s the latest price of ___?”
|
||
- “Track ___ and ___ and show me daily changes.”
|
||
- “Give me a 30-day series for ___.”
|
||
- “Convert USD to ZAR (or track USD/ZAR).”
|
||
- “Maintain a watchlist and summarize performance.”
|
||
|
||
## Provider strategy (important)
|
||
- **Stocks/ETFs/indices** default: Yahoo Finance via `yfinance` (no key, broad coverage), but it is unofficial and can rate-limit.
|
||
- **FX** default: ExchangeRate-API Open Access endpoint (no key, daily update).
|
||
- If the user needs high-frequency or many symbols, recommend adding a paid provider later.
|
||
|
||
See `providers.md` for details and symbol formats.
|
||
|
||
---
|
||
|
||
# Quick start (how you run it)
|
||
These scripts are intended to be run from a terminal. The agent should:
|
||
1) ensure dependencies installed
|
||
2) run the scripts
|
||
3) summarize results cleanly
|
||
|
||
Install:
|
||
- `python -m venv .venv && source .venv/bin/activate` (or Windows equivalent)
|
||
- `pip install -r requirements.txt`
|
||
|
||
## Commands
|
||
|
||
### 1) Latest quote (stock/ETF/index)
|
||
Examples:
|
||
- `python scripts/market_quote.py AAPL`
|
||
- `python scripts/market_quote.py ^GSPC`
|
||
- `python scripts/market_quote.py VOO`
|
||
|
||
### 2) Latest FX rate
|
||
Examples:
|
||
- `python scripts/market_quote.py USD/ZAR`
|
||
- `python scripts/market_quote.py EURUSD`
|
||
- `python scripts/market_quote.py GBP-JPY`
|
||
|
||
### 3) Historical series (CSV to stdout)
|
||
Examples:
|
||
- `python scripts/market_series.py AAPL --days 30`
|
||
- `python scripts/market_series.py USD/ZAR --days 30`
|
||
|
||
### 4) Watchlist summary (local file)
|
||
- Add tickers: `python scripts/market_watchlist.py add AAPL MSFT USD/ZAR`
|
||
- Remove: `python scripts/market_watchlist.py remove MSFT`
|
||
- Show summary: `python scripts/market_watchlist.py summary`
|
||
|
||
---
|
||
|
||
# Output expectations (what you should return to the user)
|
||
- For quotes: price, change %, timestamp/source, and any caveats (like “FX updates daily”).
|
||
- For series: confirm date range, number of points, and show a small preview (first/last few rows).
|
||
- If rate-limited: explain what happened and retry with backoff OR advise to reduce frequency.
|
||
|
||
---
|
||
|
||
# Safety / correctness
|
||
- Never claim “real-time” unless the provider is truly real-time. FX open access updates daily.
|
||
- Always cache responses and throttle repeated calls.
|
||
- If Yahoo blocks requests, propose a paid provider or increase cache TTL.
|