with one click
openclaw-stock-skill
使用 data.diemeng.chat 提供的接口查询股票日线、分钟线、财务指标等数据,支持 A 股等市场。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Menu
使用 data.diemeng.chat 提供的接口查询股票日线、分钟线、财务指标等数据,支持 A 股等市场。
Install with Codex or Claude Copy this prompt, paste it into Codex, Claude, or another assistant, and let it review the skill page and install it for you.
Based on SOC occupation classification
| name | openclaw-stock-skill |
| description | 使用 data.diemeng.chat 提供的接口查询股票日线、分钟线、财务指标等数据,支持 A 股等市场。 |
| user-invocable | true |
| metadata | {"openclaw":{"emoji":"📈","skillKey":"openclaw-stock-skill","requires":{"env":["STOCK_API_KEY"]},"primaryEnv":"STOCK_API_KEY"}} |
本技能提供强大的股票数据查询与分析能力,主要包含:
npx skills add https://github.com/1018466411/openclaw-stock-data-skill
安装时按提示选择:
本技能教会代理如何使用你自建的股票数据服务(注册账号 https://data.diemeng.chat),通过 API Key 进行鉴权,查询股票的日线、分钟线、财务指标等数据。
⚙️ API Key 配置约定
- OpenClaw 会按照
skills.entries.<key>配置 把 API Key 和自定义配置注入到进程环境变量中。- 本技能约定使用环境变量
STOCK_API_KEY作为主密钥,并在metadata.openclaw.primaryEnv中声明,以便通过skills.entries.openclaw-stock-skill.apiKey统一配置。- 推荐的 OpenClaw 配置示例(
~/.openclaw/openclaw.json):{ skills: { entries: { "openclaw-stock-skill": { enabled: true, // 建议在 OpenClaw UI 的 Skill 参数面板里填写 apiKey, // Gateway 会自动将其写入 STOCK_API_KEY 环境变量 apiKey: { source: "env", provider: "default", id: "STOCK_API_KEY" }, env: { // 可在这里直接写死,或通过系统环境变量覆盖 STOCK_API_KEY: "YOUR_REAL_STOCK_API_KEY" }, config: { // 可选:覆盖默认域名 baseUrl: "https://data.diemeng.chat" } } } } }参考文档:Skills Config、Skills
如果 API 返回 403 错误,说明您的账号没有开通对应接口的权限。
请务必访问官网 https://data.diemeng.chat/(海外请访问 https://mg.diemeng.chat/),在个人中心开通所需权限(如股票行情、实时快照、可转债等)。
get_stock_snapshot_daily(不传日期或传今日):获取最新实时快照(价格、成交量、五档盘口等)。get_stock_snapshot_push_history:获取实时推送的历史记录。get_call_auction:获取集合竞价数据。get_daily_data:获取历史日 K 线。get_kline_data:获取历史周期K线(周K、月K)。get_kline_adj_data:获取复权历史周期K线(周K、月K)。get_history_data:获取历史分钟线。get_finance_data:获取历史财务指标。get_financial_indicator:获取财务指标报表数据(stock_financial_indicator)。get_income_statement:获取利润表数据(stock_income)。get_balancesheet:获取资产负债表数据(stock_balancesheet)。get_cashflow_statement:获取现金流量表数据(stock_cashflow)。get_main_fund_flow:获取大小单资金金流向。get_main_fund_flow_overview:获取主力资金流向总览。get_cyq_chips:获取筹码峰分布。get_holder_number:获取股东人数数据。get_pledge_stat:获取股票质押统计数据。get_margin_detail:获取融资融券明细数据。get_stock_snapshot_daily(传历史日期):获取历史快照。get_index_history:获取指数分钟级历史数据。get_index_realtime_history:获取指数当天实时 1 分钟级别分时数据。get_index_weight:获取指数月度成分和权重数据(index_code 必传,可按 stock_code 和 trade_date 筛选)。get_ths_sector_categories:获取同花顺板块分类数据。get_ths_constituent_stocks:获取同花顺成分股数据。get_dc_blocks:获取东方财富板块列表。get_dc_daily:获取东方财富板块日K(按交易日或板块代码)。get_dc_block_stocks:获取东方财富板块成分股(支持板块/日期/股票筛选,空参默认最新日期)。get_tdx_block_stocks:获取通达信板块成分股,返回分页结构 data.total/page/page_size/list,其中 list 项包含 block_code、block_name、block_type、stock_code。STOCK_API_KEY 读取,或从当前目录的 config.json 获取。如果在 Skill 面板配置了也会注入到环境变量中。data.diemeng.chat,如果是海外 IP 则访问 mg.diemeng.chat。apiKey: <STOCK_API_KEY>(强制要求)Content-Type: application/json{ "code": 200, "msg": "成功", "data": { ... } }DataAccessVerifier 实现)。代理应将本技能视作一组 HTTP 能力,而不是单一接口:
代理在规划调用时,应根据用户自然语言意图,选择以上能力并组合使用。
POST /api/stock/daily{baseUrl}/api/stock/dailyPOSTContent-Type: application/jsonapiKey: <STOCK_API_KEY>DailyDataRequest):{
"stock_code": "000001.SZ",
"start_time": "2024-01-01",
"end_time": "2024-01-31",
"volType": "share",
"page": 0,
"page_size": 1000
}
stock_code 可以是单个字符串,也可以是字符串数组。start_time、end_time 格式为 YYYY-MM-DD。volType 可选:share(默认,按股返回)或 lot(按手返回,1手=100股)。page 从 0 开始。data.total:总记录数data.list:每条记录包含 stock_code, stock_name, trade_date, open, high, low, close, vol, amount 等字段,价格与成交量已在后端统一保留 2 位小数,vol 单位由 volType 决定。data.total:总记录数data.list:每条记录包含 stock_code, trade_date, open, high, low, close, vol, amount 等字段,价格与成交量已在后端统一保留 2 位小数。POST /api/stock/daily_adjPOST /api/stock/daily 基本一致,额外支持 algo(recursive/factor)。volType 可选参数:share(默认,按股)或 lot(按手)。volType 时保持旧行为(按股返回)。代理在需要“某股某段时间的日 K 线”时,应优先选择该接口。
POST /api/stock/history{baseUrl}/api/stock/historyPOSTHistoryDataRequest):{
"stock_code": "000001.SZ",
"level": "5min",
"start_time": "2024-01-01 09:30:00",
"end_time": "2024-01-01 15:00:00",
"page": 0,
"page_size": 1000
}
stock_code:仅支持单个股票代码字符串(不支持数组)level:"1min" | "5min" | "15min" | "30min" | "60min"start_time / end_time:
YYYY-MM-DD HH:MM:SSdata.list 中每条包含:stock_code, trade_time, open, high, low, close, vol, amount。用于用户询问“某天/某段时间内的分钟级行情、分时数据”等场景。
POST /api/stock/macd|mavol|kdj|rsi|boll|maPOST /api/etf/macd|mavol|kdj|rsi|boll|maPOST /api/bond/macd|mavol|kdj|rsi|boll|maPOST /api/index/macd|kdj|rsi|boll|ma,指数不提供 MAVOLget_stock_indicator、get_etf_indicator、get_bond_technical_indicator、get_index_indicatorget_<market>_macd|mavol|kdj|rsi|boll|ma;指数提供 get_index_macd|kdj|rsi|boll|ma。通用请求示例:
{
"indicator": "mavol",
"stock_code": "600000.SH",
"level": "daily",
"start_time": "2026-01-01",
"end_time": "2026-07-15",
"mavol_periods": [5, 10],
"vol_type": "share",
"page": 0,
"page_size": 10000
}
level 支持 daily/1min/5min/15min/30min/60min,一次只支持一个代码。adjust=none/qfq;ETF、可转债和指数当前按不复权行情计算。index_code,例如 000001.SH;分钟行情源不含成交量,因此分钟级指标响应不返回 vol。volType 可省略,默认 share(股);page 可省略,默认 0;page_size 可省略,默认 10000,最大 10000。fast_period、slow_period、signal_period 均可省略,默认分别为 12、26、9,且 slow_period 必须大于 fast_period。mavol_periods=[5,10],返回 mavol5、mavol10 等字段。ma_periods=[5,10,20,30,60],返回 ma5、ma10 等字段。dif/dea/macd;KDJ 返回 k/d/j;RSI 返回 rsi;BOLL 返回 boll_mid/boll_upper/boll_lower。POST /api/realtime/history 及 /api/index/realtime/history{baseUrl}/api/realtime/history 或 {baseUrl}/api/index/realtime/historyPOST{
"stock_code": "000001.SZ",
"trade_time": "2026-03-15 09:31:00",
"date": "2026-03-15"
}
(对于指数接口,参数名为 index_code)
stock_code/index_code 或 trade_time 至少提供一个。trade_time 进行去重。调用建议(定时任务拉取全市场数据):
- 建议使用时间 (
trade_time) 来获取实时分时,一次可以获取某一分钟的全市场数据。- 使用定时任务来获取数据,每分钟获取上一分钟的数据。
- 建议在每分钟的 2 到 5 秒后开始获取。
- 如果获取不到,建议暂停 1 秒后继续获取,最多重试不要超过 60 次,避免陷入死循环。
- 建议在每分钟 15 秒之后再调用接口更新一次数据,确保数据的准确性。
POST /api/index/weight{baseUrl}/api/index/weightPOST{
"index_code": "000300.SH",
"stock_code": "600519.SH",
"trade_date": "2026-03-31",
"page": 0,
"page_size": 2000
}
index_code(必填):指数代码stock_code(可选):成分股代码,支持字符串或数组(后端按 con_code 过滤)trade_date(可选):支持 YYYY-MM 或 YYYY-MM-DD,查询时仅按年和月过滤trade_date 不传时默认返回该指数最新月份数据index_code, stock_code, trade_date, weightPOST /api/stock/finance{baseUrl}/api/stock/financePOSTFinanceDataRequest):{
"stock_code": "000001.SZ",
"start_time": "2024-01-01",
"end_time": "2024-03-31",
"page": 0,
"page_size": 1000
}
stock_code, stock_name, trade_date, close, turnover_rate, turnover_rate_f, volume_ratio, pe, pe_ttm, pb, ps, ps_ttm, dv_ratio, dv_ttm, total_share, float_share, free_share, total_mv, circ_mv 等。适合估值分析、换手率、成交金额、市值等相关问题。
POST /api/stock/financial_indicator{baseUrl}/api/stock/financial_indicatorPOST{
"stock_code": "600000.SH",
"end_date": "2025-12-31",
"ann_date": "2026-03-28",
"page": 0,
"page_size": 1000
}
stock_code:股票代码,支持字符串或数组end_date:报告期最后日期,格式 YYYY-MM-DDann_date:公告日期,格式 YYYY-MM-DDstock_code / end_date / ann_date 三选一至少提供一个page 从 0 开始,page_size 最大 10000stock_financial_indicator 全字段):
stock_code, ann_date, end_date, update_flag, create_timeeps, dt_eps, profit_dedt, op_income, ebit, ebitda, gross_margin, grossprofit_margin, netprofit_marginroe, roe_dt, roe_yearly, roa, roa_yearly, roic, roic_yearlybps, ocfps, cfpscurrent_ratio, quick_ratio, debt_to_assetsbasic_eps_yoy, netprofit_yoy, dt_netprofit_yoy, tr_yoy, or_yoy, q_sales_yoy, q_netprofit_yoyrd_expstock_financial_indicator 全字段(除 update_flag、create_time)。POST /api/stock/income{baseUrl}/api/stock/incomePOST{
"stock_code": "600000.SH",
"end_date": "2025-12-31",
"ann_date": "2026-03-28",
"page": 0,
"page_size": 1000
}
stock_code:股票代码,支持字符串或数组end_date:报告期最后日期,格式 YYYY-MM-DDann_date:公告日期,格式 YYYY-MM-DDstock_code / end_date / ann_date 三选一至少提供一个page 从 0 开始,page_size 最大 10000stock_income 全字段(除 update_flag、create_time)。POST /api/stock/balancesheet{baseUrl}/api/stock/balancesheetPOST/api/stock/income 完全一致(stock_code / end_date / ann_date 三选一至少传一个)。stock_balancesheet 全字段(除 update_flag、create_time)。POST /api/stock/cashflow{baseUrl}/api/stock/cashflowPOST/api/stock/income 完全一致(stock_code / end_date / ann_date 三选一至少传一个)。stock_cashflow 全字段(除 update_flag、create_time)。POST /api/stock/main_fund_flow{baseUrl}/api/stock/main_fund_flowPOST{
"start_time": "2026-04-03",
"end_time": "2026-04-03",
"stock_code": ["600000.SH", "000001.SZ"],
"page": 0,
"page_size": 1000
}
start_time / end_time:交易日期范围,格式 YYYY-MM-DD,闭区间;当 start_time = end_time 时可查询当天数据stock_code:股票代码,支持字符串或数组stock_code 和 (start_time + end_time) 至少提供其一page 从 0 开始,page_size 最大 10000trade_date, stock_codebuy_sm_vol, buy_sm_amount, sell_sm_vol, sell_sm_amountbuy_md_vol, buy_md_amount, sell_md_vol, sell_md_amountbuy_lg_vol, buy_lg_amount, sell_lg_vol, sell_lg_amountbuy_elg_vol, buy_elg_amount, sell_elg_vol, sell_elg_amountnet_mf_vol, net_mf_amountPOST /api/stock/main_fund_flow_overview{baseUrl}/api/stock/main_fund_flow_overviewPOST{
"start_time": "2026-04-03",
"end_time": "2026-04-03",
"stock_code": "600000.SH",
"page": 0,
"page_size": 1000
}
start_time / end_time:交易日期范围,格式 YYYY-MM-DD,闭区间;当 start_time = end_time 时可查询当天数据stock_code:股票代码,支持字符串或数组stock_code 和 (start_time + end_time) 至少提供其一page 从 0 开始,page_size 最大 10000trade_date, stock_code, name, close, pct_changenet_amount, net_amount_ratebuy_elg_amount, buy_elg_amount_ratebuy_lg_amount, buy_lg_amount_ratebuy_md_amount, buy_md_amount_ratebuy_sm_amount, buy_sm_amount_ratePOST /api/stock/cyq_chips{baseUrl}/api/stock/cyq_chipsPOST{
"start_time": "2026-04-03",
"end_time": "2026-04-03",
"stock_code": "600000.SH",
"page": 0,
"page_size": 1000
}
start_time / end_time:交易日期范围,格式 YYYY-MM-DD,闭区间;当 start_time = end_time 时可查询当天数据stock_code:股票代码,支持字符串或数组stock_code 和 (start_time + end_time) 至少提供其一page 从 0 开始,page_size 最大 10000trade_date, stock_code, price, percentGET /api/stock/list{baseUrl}/api/stock/listGETstock_code(可选):精确股票代码筛选page:默认 0page_size:默认 20000success 结构中):
data.totaldata.list:包含 stock_code, name, area, industry, list_date, symbol, list_status, delist_date, is_hs 等。当用户只给出股票名称、地区、行业等描述时,可先通过该接口获取匹配列表,再提示用户选择具体代码。
GET/POST /api/basic/calendar{baseUrl}/api/basic/calendarGET / POSTstart_time: YYYY-MM-DDend_time: YYYY-MM-DDdata 为数组,每条含 date, is_open(1 为交易日,0 为休市)。当用户问“某段时间哪些是交易日”“下一个交易日是什么时候”等,可使用此接口。
POST /api/stock/search{baseUrl}/api/stock/searchPOSTContent-Type: application/jsonapiKey: <STOCK_API_KEY>{
"query": "pe_ttm < 20 且 turnover_rate > 3%",
"stock_code": "000001.SZ",
"date": "2024-01-01",
"page": 0,
"page_size": 100,
"sort_by": "pe_ttm",
"sort_order": "asc"
}
query(必填):搜索条件,支持自然语言或表达式
pe_ttm < 20、turnover_rate > 3%、pe_ttm < 20 且 turnover_rate > 3%市盈率小于20、换手率大于3%circ_mv > 100亿、volume > 1000万stock_code(可选):精确股票代码筛选date(可选):日期,格式 YYYY-MM-DD 或 MM-DD(默认为当年)
stock_snapshot_daily(最新实时数据)stock_finance_daily(历史财务数据)page:页码,从 0 开始page_size:每页数量,最大 1000sort_by(可选):排序字段,如 pe_ttm、turnover_ratesort_order(可选):排序方向 asc 或 desc(默认 desc)price / close:股价/收盘价pct_chg:涨跌幅turnover_rate:换手率pe / pe_ttm:市盈率pb:市净率total_mv / circ_mv:总市值/流通市值total_share / float_share:总股本/流通股本volume / turnover:成交量/成交额dividend_ratio:股息率data.total:总记录数data.list:符合条件的股票列表重要提醒:该接口单次请求最多返回 1000 条数据。如需获取更多结果,请使用分页功能。
适用场景:用户需要根据财务指标筛选股票,如"帮我找出 PE<20 的股票"、"换手率大于 5% 的股票有哪些"。
get_future_basic):获取期货合约的基础信息数据,包括乘数、交割方式、上市日期等。get_future_mapping):获取期货主连或连续合约与实际月合约的映射关系。get_future_minute):获取期货合约的历史分钟K线数据。POST /api/stock/call_auction{baseUrl}/api/stock/call_auctionPOSTapiKey: <STOCK_API_KEY>{
"stock_code": "000001.SZ",
"start_time": "2024-01-01 09:15:00",
"end_time": "2024-01-01 09:25:00",
"page": 0,
"page_size": 100
}
start_time / end_time:时间范围,支持仅日期(自动补全时间)page_size:最大 10000stock_code, name, trade_time, close, open, high, low, pre_close, vol, amount, turnover_rate, pe, pb, pe_ttm, dv_ttm 等重要提醒:单次请求最多返回 10000 条数据。
POST /api/stock/closing_snapshot{baseUrl}/api/stock/closing_snapshotPOSTapiKey: <STOCK_API_KEY>{
"stock_code": "000001.SZ",
"start_time": "2024-01-01 15:00:00",
"end_time": "2024-01-01 15:05:00",
"page": 0,
"page_size": 100
}
重要提醒:单次请求最多返回 10000 条数据。
POST /api/stock/snapshot_daily{baseUrl}/api/stock/snapshot_dailyPOSTapiKey: <STOCK_API_KEY>{
"stock_code": "000001.SZ",
"date": "2024-01-01",
"page": 0,
"page_size": 10000
}
date 或提供今日日期,系统优先从 Redis 缓存读取最新的实时快照数据。page_size:最大 10000。重要提醒:这是获取实时行情快照的主要接口。
POST /api/stock/snapshot_push_history{baseUrl}/api/stock/snapshot_push_historyPOSTapiKey: <STOCK_API_KEY>GET /api/stock/suspension{baseUrl}/api/stock/suspensionGETapiKey: <STOCK_API_KEY>stock_code(可选)trade_date(可选)page, page_sizePOST /api/stock/adj_factor{baseUrl}/api/stock/adj_factorPOSTapiKey: <STOCK_API_KEY>{
"stock_code": "000001.SZ",
"start_time": "2024-01-01",
"end_time": "2024-01-31",
"page": 0,
"page_size": 10000
}
stock_code, stock_name, trade_date, factor_a, factor_b(自定义复权因子)重要提醒:单次请求最多返回 10000 条数据。
POST /api/stock/daily_dump{baseUrl}/api/stock/daily_dumpPOSTapiKey: <STOCK_API_KEY>{
"date": "2024-01-01",
"level": "daily"
}
level 参数:daily | 1min | 5min | 15min | 30min | 60minPOST /api/bond/daily{baseUrl}/api/bond/dailyPOSTapiKey: <STOCK_API_KEY>{
"stock_code": "128136.SZ",
"start_time": "2024-01-01",
"end_time": "2024-01-31",
"page": 0,
"page_size": 10000
}
stock_code(可选):可转债代码,如 128136.SZ,支持数组start_time、end_time:格式为 YYYY-MM-DDstock_code, stock_name, trade_date, open, high, low, close, prev_close, change, pct_chg, factor, vol, amount单次请求最多返回 10000 条数据。
POST /api/bond/indicator_daily{baseUrl}/api/bond/indicator_dailyPOSTapiKey: <STOCK_API_KEY>{
"stock_code": "128136.SZ",
"start_date": "2024-01-01",
"end_date": "2024-01-31",
"page": 0,
"page_size": 10000
}
stock_code(可选):可转债代码,支持数组start_date、end_date(可选):日期范围,至少提供一个stock_code, stock_name, trade_date, name, pre_close, open, high, low, close, change, pct_chg, vol, amount, remain_size, pure_bond, pure_premium, conv_value, conv_premium 等单次请求最多返回 10000 条数据。
POST /api/bond/list{baseUrl}/api/bond/listPOSTapiKey: <STOCK_API_KEY>{
"bond_code": "128136.SZ",
"stock_code": "000001.SZ",
"exchange": "SZSE",
"page": 0,
"page_size": 10000
}
bond_code(可选):可转债代码筛选stock_code(可选):正股代码筛选exchange(可选):交易所筛选(SZSE/SSE)bond_code, bond_name, bond_short_name, conv_code, stock_code, stock_name 等完整可转债信息POST /api/stock/limit_up{baseUrl}/api/stock/limit_upPOSTapiKey: <STOCK_API_KEY>{
"stock_code": ["603716.SH", "000001.SZ"],
"start_time": "2026-04-10",
"end_time": "2026-04-10",
"page": 0,
"page_size": 10000
}
stock_code(可选):股票代码,支持字符串或数组start_time、end_time(必填):日期范围,格式 YYYY-MM-DDpage:页码,从 0 开始page_size:每页数量,最大 10000trade_date, stock_code, stock_name, price, change_percentsealed_volume, sealed_amount, sealed_turnover_ratio, sealed_flow_ratiofirst_limit_time, final_limit_time, open_count, consecutive_days, boardslimit_type, is_limit_up, reason_textGET /api/ths/hot / POST /api/ths/hot{baseUrl}/api/ths/hotGET / POSTapiKey: <STOCK_API_KEY>market(可选):热榜类型 (默认:热股)。可选值:热股, ETF, 可转债, 行业板块, 概念板块, 期货trade_date(可选):指定交易日期,支持 YYYY-MM-DD 或 YYYYMMDD;不传默认返回最新交易日GET 使用 Query 参数,POST 使用 JSON Bodytrade_date: 交易日期update_time: 排行榜更新时间list: 热榜数据列表,包含 name (名称), code (代码), rank (排名), pct_change (涨跌幅%), hot (热度值)GET {{WS_BASE_URL}}/ws/streamURL:{{WS_BASE_URL}}/ws/stream?token=<STOCK_API_KEY>&types=...
协议:WebSocket
鉴权:Query 参数 token(使用 API Key)
订阅参数:types(逗号分隔,支持多选)
六类推送与订阅值:
limit_uplimit_up_brokenstock_limit_up(包含 limit_up + limit_up_broken)limit_downlimit_down_brokenstock_limit_down(包含 limit_down + limit_down_broken)连接示例:
{{WS_BASE_URL}}/ws/stream?token=<STOCK_API_KEY>&types=stock_limit_up,stock_limit_down动态订阅示例:
{"action":"subscribe","types":["stock_limit_up","stock_limit_down"]}
{
"type": "stock_limit_event",
"data": {
"type": "limit_up",
"stock_code": "600000.SH",
"stock_name": "浦发银行",
"change_rate": 10.0,
"source": "fast",
"timestamp": "2026-04-17 11:23:45"
}
}
type 固定为 stock_limit_eventdata.type 可能值:limit_up / limit_up_broken / limit_down / limit_down_brokenstock_code, stock_name, change_rate, source, timestampSTOCK_API_KEY 读取(由 OpenClaw 按 skills.entries.openclaw-stock-skill.apiKey 注入)。apiKey 或 api_key,后端会视为安全风险。code = 401:API Key 无效或缺失,应提示用户检查在 OpenClaw Skill 配置中的 API Key。code = 403:权限不足或下载次数/访问次数限制,应向用户说明权限/限流约束。code = 429:请求过于频繁,需减少调用频率或提示用户稍后再试。data.total 很大,代理应分批分页请求,并在回答中做汇总,而不是一次性获取全部数据。POST /api/stock/daily,stock_code = "000001.SZ",时间区间为 2024-01-01 至 2024-01-31。data.list 进行整理,总结涨跌幅、最大回撤、平均成交额等。GET/POST /api/basic/calendar。is_open = 1 的日期列出,说明哪些是交易日。本技能不包含额外可执行脚本,完全通过指导代理调用现有 HTTP 接口工作。所有请求都应优先使用 STOCK_API_KEY 环境变量,并遵守上述限流与安全约定。