Install
openclaw skills install ifind-finance-dataiFinD (同花顺) financial data query - query stocks, funds, macroeconomics, industry economics, news and announcements. Supports smart stock/fund screening, financial data queries, announcement search, and macro/industry indicator search. Trigger: ifind, 同花顺, 股票查询, 基金查询, 宏观数据, 行业数据, 金融数据, 行情数据, 财务数据, 选股, 选基, 财经新闻, 上市公司公告, 热点事件, 股票基本面, 基金业绩, 经济指标, 金融资讯, financial data, stock query, fund query, macro data, market data
openclaw skills install ifind-finance-data本技能用于查询股票、基金、宏观经济、行业经济及新闻公告数据。 This skill queries stock, fund, macroeconomic, industry economic data and news/announcements.
本 skill 封装了同花顺金融数据MCP服务的调用接口,支持 Python 和 Node.js 两种调用方式: This skill encapsulates the iFinD Financial Data MCP service, supporting both Python and Node.js:
call-node.js 脚本(无需额外依赖,使用内置模块)
call-node.js (no extra dependencies, uses built-in modules)call.py 脚本(需安装 requests 库)
call.py (requires requests library)mcp_config.json 用于存储用户密钥,如不存在有效密钥,需提示用户到"iFinD终端-工具-常用工具-数据MCP"获取密钥,帮助其完成密钥写入,或手动写入
mcp_config.json stores the user auth token. If no valid token exists, guide user to obtain one from "iFinD Terminal - Tools - Common Tools - Data MCP"search_edb 进行搜索,然后根据搜索结果指标结合上下文再发起数据查询 get_edb_data
search_edb then query with get_edb_data发起金融数据请求 / Make financial data request.
参数 / Parameters:
server_type (str): 服务类型 / Service type:
"stock" - 股票服务 / Stock service"fund" - 基金服务 / Fund service"edb" - 宏观经济/行业经济指标服务 / Macro/industry economic indicator service"news" - 新闻公告服务 / News/announcement servicetool_name (str): 工具名称 / Tool name (see tool lists below)params (dict): 请求参数 / Request parameters返回值 / Returns:
{
"ok": True/False,
"status_code": HTTP状态码/HTTP status code,
"data": ..., # ok=True时返回/when ok=True
"error": ..., # ok=False时返回/when ok=False
"raw": ... # 原始响应/raw response
}
列出指定服务类型的所有可用工具 / List all available tools for a service type.
| 工具名称 / Tool | 功能说明 / Description | 典型参数 / Example Params |
|---|---|---|
search_stocks | 智能选股 / Smart stock screening | {"query": "自然语言选股条件/NL screening condition"} 如/e.g. "电子行业市值大于100亿" |
get_stock_summary | 股票信息摘要 / Stock summary | {"query": "股票简称+查询内容/ticker+query"} 如/e.g. "茅台财务状况" |
get_stock_info | 股票基本资料、日频行情与技术指标 / Stock info, daily quotes & technical indicators | {"query": "股票简称+指标名称+时间/ticker+indicator+time"} 如/e.g. "格力电器上市时间" |
get_stock_shareholders | 股本结构与股东数据 / Share structure & shareholder data | {"query": "股票简称+指标/ticker+indicator"} 如/e.g. "光明乳业流通股占比" |
get_stock_financials | 财务数据与指标 / Financial data & indicators | {"query": "股票简称+财务指标+财报日期/ticker+financial indicator+report date"} 如/e.g. "科大讯飞2025年三季度的ROE" |
get_risk_indicators | 风险定量指标 / Risk quantitative indicators | {"query": "股票+时间+指标/ticker+time+indicator"} 如/e.g. "航天电子在2026-03-19的夏普比率" |
get_stock_events | 上市公司重大事件类指标 / Major corporate event indicators | {"query": "股票+事件相关指标/ticker+event indicator"} 如/e.g. "摩尔线程IPO首发股本数量" |
get_esg_data | ESG评级数据 / ESG rating data | {"query": "股票+ESG评级指标/ticker+ESG indicator"} 如/e.g. "诚意药业中诚信ESG评级" |
# 智能选股 / Smart stock screening
call("stock", "search_stocks", {"query": "汽车零部件行业市值大于1000亿的股票"})
| 工具名称 / Tool | 功能说明 / Description | 典型参数 / Example Params |
|---|---|---|
search_funds | 基金搜索 / Fund search | {"query": "模糊基金名称或选基需求/fund name or screening需求"} 如/e.g. "南方基金新能源ETF" |
get_fund_profile | 基金基本资料 / Fund profile | {"query": "基金名称+指标/fund name+indicator"} 如/e.g. "工银双盈债券A(010068)的发行日期与发行费率" |
get_fund_market_performance | 基金行情与业绩 / Fund quotes & performance | {"query": "基金名称+时间范围+指标/fund name+time range+indicator"} 如/e.g. "方正富邦策略精选A(010072)在近一月收益率" |
get_fund_ownership | 基金份额与持有人 / Fund shares & holders | {"query": "基金名称+日期+指标/fund name+date+indicator"} 如/e.g. "湘财长弘灵活配置混合A(010076)在2025-06-30的申购总份额和赎回总份额" |
get_fund_portfolio | 基金持仓明细 / Fund holdings detail | {"query": "基金名称+日期+指标/fund name+date+indicator"} 如/e.g. "工银优质成长混合A(010088)在2025-06-30披露报告中的股票投资占比" |
get_fund_financials | 基金财务指标 / Fund financial indicators | {"query": "基金名称+日期+指标/fund name+date+indicator"} 如/e.g. "泰康浩泽混合A(010081)在2025-06-30的利润" |
get_fund_company_info | 基金公司信息 / Fund company info | {"query": "基金名称+所属基金公司维度指标/fund name+fund company dimension indicator"} 如/e.g. "蜂巢丰瑞的所属基金公司基金经理数量" |
| 工具名称 / Tool | 功能说明 / Description | 典型参数 / Example Params |
|---|---|---|
search_edb | 指标搜索 / Indicator search | {"query": "行业/产品/指标描述/industry/product/indicator description"} 如/e.g. "光模块产业链相关指标" |
get_edb_data | 指标数据查询 / Indicator data query | {"query": "指标名称+时间范围/indicator name+time range"} 如/e.g. "光伏电池产量202301-202506" |
# 搜索可能的指标 / Search possible indicators
call("edb", "search_edb", {"query": "新能源汽车产量相关指标"})
# 获取具体数据 / Get specific data
call("edb", "get_edb_data", {"query": "新能源汽车产量当月值(202301-202506)"})
| 工具名称 / Tool | 功能说明 / Description | 典型参数 / Example Params |
|---|---|---|
search_news | 新闻资讯语义检索 / News semantic search | {"query": "内容/content", "time_start": "开始日期/start date", "time_end": "结束日期/end date", "size": 数量/count} |
search_notice | 公告语义检索 / Announcement semantic search | {"query": "内容/content", "time_start": "开始日期/start date", "time_end": "结束日期/end date", "size": 数量/count} |
search_trending_news | 热点事件资讯查询 / Trending event query | {"keyword": "关键词/keyword", "industry_name": "行业/industry", "time_scope": "时效范围/time scope", "size": 数量/count} |
# 财经新闻 / Financial news
call("news", "search_news", {
"query": "脑机接口技术最新进展",
"time_start": "2025-01-01",
"time_end": "2026-01-01",
"size": 5
})
# 上市公司公告 / Listed company announcements
call("news", "search_notice", {
"query": "光迅科技2024年度报告 光模块技术",
"time_start": "2025-01-01",
"time_end": "2026-01-01",
"size": 5
})
# 热点事件 / Trending events
call("news", "search_trending_news", {
"keyword": "智能体",
"industry_name": "计算机",
"time_scope": "24小时",
"size": 5
})
本skill提供两种调用方案,请根据您的环境选择(用户未指定且不明确python环境时,优先选择 Node.js 方案): This skill provides two invocation methods. Choose based on your environment (prefer Node.js when user doesn't specify and Python environment is unclear):
const { call, listTools } = require('./call-node.js');
async function main() {
// 查询股票数据 / Query stock data
const result1 = await call("stock", "search_stocks", { query: "电子行业市值排名前20的股票" });
console.log(JSON.stringify(result1, null, 2));
// 查询基金数据 / Query fund data
const result2 = await call("fund", "search_funds", { query: "南方基金的新能源ETF" });
console.log(JSON.stringify(result2, null, 2));
// 查询宏观经济数据 / Query macroeconomic data
const result3 = await call("edb", "get_edb_data", { query: "光伏电池产量当月值(202301-202506)" });
console.log(JSON.stringify(result3, null, 2));
// 查询新闻 / Query news
const result4 = await call("news", "search_news", {
query: "人工智能行业动态",
time_start: "2025-01-01",
time_end: "2026-01-01",
size: 5
});
console.log(JSON.stringify(result4, null, 2));
}
main().catch(console.error);
from call import call, list_tools
# 查询股票数据 / Query stock data
result = call("stock", "search_stocks", {"query": "电子行业市值排名前20的股票"})
print(result)
# 查询基金数据 / Query fund data
result = call("fund", "search_funds", {"query": "南方基金的新能源ETF"})
print(result)
# 查询宏观经济数据 / Query macroeconomic data
result = call("edb", "get_edb_data", {"query": "光伏电池产量当月值(202301-202506)"})
print(result)
# 查询新闻 / Query news
result = call("news", "search_news", {
"query": "人工智能行业动态",
"time_start": "2025-01-01",
"time_end": "2026-01-01",
"size": 5
})
print(result)
Node.js方案特点 / Node.js Solution Features:
http/https 模块
http/https modulesasync/await 语法
async/await syntaxmcp_config.json
mcp_config.json as Python solutionmcp_config.json 需要包含有效的 auth_token(两个方案共用)
mcp_config.json requires a valid auth_token (shared by both solutions)call.py 和 call-node.js 内部,无需重新配置
ok 字段确认请求是否成功
ok field in response to confirm request successYYYY-MM-DDsearch_edb 可用于不确定具体指标名称时的模糊搜索
search_edb can be used for fuzzy search when exact indicator name is unknowncall-node.js),无需安装任何依赖
call-node.js), no dependencies needed