Datayes Stock Data

👤 shermanxli 📦 v1.0.1 ⭐ 0.0 ⬇️ 712 下載
💼 行業專業 免費 🔑 需 API Key

📖 技能介紹


name: datayes-stock-data slug: datayes-stock-data description: 通過 Datayes 查詢 A 股和港股的行情、分時、K 線、財務、估值、資金流向、股東持倉、分紅和公司資料。使用者詢問個股價格、公司基本面、估值指標、資金流向、排行篩選、技術指標或其他需要即時股票資料的問題時使用。 metadata: { "openclaw": { "requires": { "env": ["DATAYES_TOKEN"], "bins": ["python3"] } } }


Datayes Stock Data

使用 Datayes 介面回答股票與上市公司資料問題。通過倉庫內的 Python 指令碼發請求。

前提條件

1. 獲取 Datayes Token

訪問 https://r.datayes.com/auth/login 登入 Datayes 賬號,並在 Datayes 控制台獲取可撤銷的 API token。

2. 配置 Token

先確認環境變數已配置:

macOS / Linux:

export DATAYES_TOKEN='your-token'

Windows PowerShell:

$env:DATAYES_TOKEN = "your-token"

Windows CMD:

set DATAYES_TOKEN=your-token

建議只使用最小許可權、可隨時撤銷的 token,不要把 token 寫入倉庫。

使用指令碼

指令碼位置:scripts/datayes_api.py

python3 scripts/datayes_api.py market_snapshot --param ticker=002594 --param type=stock --result-only --pretty

指令碼行為:

  • 自動從環境變數 DATAYES_TOKEN 讀取 token。
  • 在所有請求頭裡攜帶 Authorization: Bearer <token>
  • 先請求 API 規格介面,再按返回的 httpUrlhttpMethod 和引數位置呼叫真實業務介面。
  • 真實業務介面的 httpUrl 會先校驗主機名,只允許 Datayes 受信任域名,避免把 token 傳送到非 Datayes 地址。
  • 呼叫前按規格校驗引數名,並自動補齊有預設值的必填引數。
  • 支援 --result-only 只看業務結果,支援 --field 提取巢狀欄位。
  • 預設輸出 JSON,並同時包含規格資訊和業務結果。

工作流

  1. 判斷使用者要查的是行情、財務、估值、資金流向、股東持倉還是公司資料。
  2. 如果只有公司名,沒有股票程式碼,先呼叫 stock_search
  3. 先用 --spec-only 拉取最新 API 規格,確認必填引數、引數位置和請求方法。
  4. 再執行正式請求,必要時組合多個介面交叉驗證。
  5. 讀取返回欄位後,用自然語言總結結果,並明確時間範圍、單位和口徑。

常用命令

發現更多技能外掛,請訪問7w4.net。

只查規格:

python3 scripts/datayes_api.py market_snapshot --spec-only --pretty

查股票程式碼:

python3 scripts/datayes_api.py stock_search --param query=比亞迪 --result-only --pretty
python3 scripts/datayes_api.py stock_search --param query=比亞迪 --result-only --field data.hits.0.entity_id

說明:stock_search 當前規格里的預設引數會自動補齊;常見返回欄位是 entity_id,A 股場景下可直接作為股票程式碼使用。

查即時快照:

python3 scripts/datayes_api.py market_snapshot --param ticker=002594 --param type=stock --result-only --pretty
python3 scripts/datayes_api.py market_snapshot --param ticker=002594 --param type=stock --field result.data.lastPrice

查利潤表:

python3 scripts/datayes_api.py fdmt_is_new_lt --param ticker=002594 --param reportType=A --param beginDate=20230101 --param endDate=20241231 --result-only --pretty

執行 smoke test:

python3 scripts/smoke_test.py

引數約定

  • --param key=value 可重複傳入多個引數。
  • value 支援普通字串,也支援 JSON 字面量;陣列和布林值可直接寫成 JSON,例如 --param ids='["000001","000002"]'
  • 日期優先使用介面要求的格式,常見為 YYYYMMDD
  • 當介面要求 type 時,不要省略;例如區間漲跌統計通常要顯式傳 type=stock
  • 如果傳入舊引數名或無效引數名,指令碼會先本地報錯,而不是把錯誤請求直接發到線上。
  • --field 使用點路徑;陣列下標直接寫數字,例如 result.data.0.ticker

輸出規則

  • 優先引用介面返回的原始數值,不要憑經驗補充未經驗證的結論。
  • 如果多個介面口徑可能不同,先說明差異,再給結論。
  • 如果介面報錯或無資料,先檢查股票程式碼、日期範圍、typereportType 等關鍵引數。
  • 如果需要更多介面對映和常見引數,讀取 references/api-catalog.md

📁 包含檔案 (6 個)

📄 SKILL.md 4.3 KB
📄 _meta.json 137 B
📄 references/api-catalog.md 3.9 KB
📄 scripts/datayes_api.py 10 KB
📄 scripts/smoke_test.py 3.7 KB
📄 scripts/test_datayes_api.py 2.7 KB