finance:終端裏跑的市場行情追蹤 Skill

前言

給 Agent 加行情能力時,常見的做法是讓模型自己去網頁上找價格。問題是價格類查詢對時效性和來源一致性要求高,模型臨時抓網頁既不穩定,也容易拿到過時或對不上的數字。下面介紹的 finance Skill 把這件事換成一種更可控的方式:Agent 不自己去爬網頁,而是調用一組本地 Python 腳本,腳本負責取數、緩存和提供商故障轉移,Agent 只負責把結果整理成回覆。

這是什麼

finance 是一個基於 SKILL.md 格式的 ClawHub Skill,座標 @clawhub_anton-roos/finance,當前版本 v1.1.2,由 anton-roos 發佈,上游倉庫在 clawhub.ai。它的定位是市場數據查詢工具,覆蓋股票、ETF、指數、加密貨幣(視提供商支持情況)和外匯對,內部做了緩存與提供商故障轉移,適合“現在價格多少”“給我 30 天序列”“維護一個 watchlist 並彙總表現”這類高頻輕量查詢。

它面向終端運行:Skill 裏的腳本設計爲從命令行執行,由 Agent 負責裝依賴、跑腳本、把輸出整理成乾淨的回覆。許可證 MIT-0,ClawHub 頁面顯示安全審計通過。

核心功能

按 SKILL.md 的說明,核心能力有四塊:

1、最新報價:支持股票/ETF/指數(如 AAPL、MSFT、^GSPC、VOO)、外匯對(如 USD/ZAR、EURUSD、GBP-JPY)以及提供商支持的加密貨幣代碼,返回價格、漲跌幅和時間戳/來源。

2、歷史序列:按天數取一段歷史數據,以 CSV 輸出到標準輸出,便於 Agent 直接處理。

3、Watchlist:本地維護一個關注列表,可以添加、刪除代碼,並生成彙總表現。

4、緩存與故障轉移:股票默認走 Yahoo Finance(yfinance,無需 key,但爲非官方接口,可能觸發限流);外匯默認走 ExchangeRate-API Open Access 端點(無需 key,每日更新)。緩存用於避免限流,提供商失敗時有切換能力。

安裝與啓用

按上游倉庫頁面,安裝命令是 OpenClaw 的 skills CLI:

$ openclaw skills install @clawhub_anton-roos/finance

依賴方面,SKILL.md 要求用虛擬環境安裝 requirements.txt:

python -m venv .venv && source .venv/bin/activate
pip install -r requirements.txt

配置上,股票/ETF/指數和外匯的默認提供商都不需要 API key,因此開箱可用。如果後續要接付費提供商(如 Twelve Data、Alpha Vantage),按 SKILL.md 的說明配置環境變量即可:

export TWELVEDATA_API_KEY="..."
export ALPHAVANTAGE_API_KEY="..."

緩存目錄約定在 .cache/finance。需要注意的是,ClawHub 頁面將 TWELVEDATA_API_KEY、ALPHAVANTAGE_API_KEY 列爲配置要求項,而 SKILL.md 裏明確這兩個 key 僅在添加付費提供商時才需要,默認路徑無 key 可用——以 SKILL.md 的說明爲準。

典型用法

SKILL.md 給出的腳本都在 scripts/ 目錄下,用法如下。

查詢最新報價,支持股票、ETF、指數代碼:

python scripts/market_quote.py AAPL
python scripts/market_quote.py ^GSPC
python scripts/market_quote.py VOO

查詢外匯最新匯率:

python scripts/market_quote.py USD/ZAR
python scripts/market_quote.py EURUSD
python scripts/market_quote.py GBP-JPY

取歷史序列,用 --days 指定天數,CSV 輸出到 stdout:

python scripts/market_series.py AAPL --days 30
python scripts/market_series.py USD/ZAR --days 30

維護本地 watchlist,添加、刪除和彙總:

python scripts/market_watchlist.py add AAPL MSFT USD/ZAR
python scripts/market_watchlist.py remove MSFT
python scripts/market_watchlist.py summary

對 Agent 輸出的約定是:報價要返回價格、漲跌幅、時間戳/來源,以及注意事項(例如“FX 每日更新”);序列要確認日期範圍和數據點數量,並展示首尾幾行預覽;如果被限流,要說明原因並退避重試,或建議降低查詢頻率。

適用場景與注意

適合的場景:快速回答“某標的現在多少錢”、輕量跟蹤一組標的、需要一段歷史數據做簡單分析。它針對低延遲查詢和限流規避做了優化,比讓模型臨時抓網頁穩定。

要注意的幾點:

1、外匯 Open Access 端點每日更新,不是實時。SKILL.md 明確要求,除非提供商確實是實時,否則不要聲稱“real-time”。

2、Yahoo Finance 爲非官方接口,可能限流或封請求。遇到這種情況,SKILL.md 建議退避重試、加大緩存 TTL,或改接付費提供商。

3、加密貨幣支持取決於所選提供商,屬盡力而爲(best-effort),不是所有代碼都能取到。

4、本 Skill 只做行情數據獲取,不做持倉管理、盈虧計算或財務記賬。股票/外匯之外的資產類型不在其覆蓋範圍內。

結尾

finance 的價值在於把行情查詢從“模型臨時抓網頁”變成“腳本取數 + Agent 整理”的固定流程,默認路徑零配置可用,限流和來源問題有明確的處理策略。適合需要穩定行情數據的 Agent 工作流。官方地址:https://clawhub.ai/anton-roos/finance ,SkillHub 頁面:https://www.skillhub.cn/skills/clawhub_anton-roos/finance 。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜