Install
openclaw skills install @yyri/themepica-finance-data-publicopenclaw skills install @yyri/themepica-finance-data-public本技能封装了语势科技(Themepica)金融数据API的公开版接口,无需私有权限即可使用。支持主题投资分析、热点榜单、ETF叙事、指数行情等功能。
本技能是
themepica-finance-data-v2的公开版子集,包含所有公开API(APPCODE认证),不含私有API。
语势科技是面向投资的叙事数据分析平台,致力于捕获、量化和深度分析那些能够影响资金流向、资产定价、投资者风险偏好的"市场故事"。
"人类作为一种'讲故事的物种'(homo narrans),本质上是通过叙事来构建认知、理解因果关系并在复杂世界中进行意义建构的。" —— 罗伯特·席勒
核心价值:捕捉传统金融数据难以量化的"认知动能",提前捕捉未来价值迁移信号。
| 对比维度 | 舆情数据 | 叙事数据(ThemePica) |
|---|---|---|
| 底层问题 | 市场情绪温度是多少? | 市场正在相信什么底层逻辑? |
| 时间跨度 | 瞬时、易逝 | 长期、生命周期演进 |
| 技术侧重 | 词频、正负面判定 | 语境理解、因果逻辑构建 |
| 抗噪能力 | 弱,易受噪音干扰 | 强,侧重影响力与逻辑性 |
| 应用场景 | 高频套利因子 | 趋势拐点预判、主题全周期管理 |
| 模块 | 核心能力 | 对应API |
|---|---|---|
| 热点数据 | 热点词/热点事件/热点搜索 | hotspot_*, board_hotspots* |
| 主题数据 | 主题叙事跟踪/股票池/指数池 | themes, theme_* |
| 策略数据 | 年度/季度/月度/日度策略 | 需私有API |
| 应用场景 | 量化·投研·投顾·营销 | 公开API可覆盖 |
语势科技的叙事数据围绕三大核心概念构建,形成从"事件发现→主题跟踪→策略生成"的完整投资闭环:
热点(Hotspot) 主题(Theme) 策略(Strategy)
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ 每日热词榜单 │───→│ 主题诊断 │───→│ 季度重点主题 │
│ 热点关联证券 │ │ 热度/情绪/ │ │ 主题热度对比 │
│ 热点关联指数 │ │ 共识度/象限 │ │ 指数机会榜单 │
│ 热点关联主题 │ │ 主题叙事数据 │ │ AIGC异动写作 │
└──────────────┘ └──────────────┘ └──────────────┘
| 维度 | 说明 | 投资含义 |
|---|---|---|
| 热度(Heat) | 市场关注度(0~1) | 高热度=市场聚焦 |
| 情绪(Sentiment) | 市场情感光谱(0~1) | 积极=利好预期 |
| 共识度(Consensus) | 观点一致性(0~1) | 高共识=方向明确 |
| 象限(Quadrant) | 热度+情绪状态 | 蓄力/明星/分歧/沉寂 |
| 信号(Signal) | 未来演化方向 | 机会/风险/观察 |
情绪高 ↑
│ 蓄力(春季) │ 明星(夏季) │
│ 热度低+情绪高 │ 热度高+情绪高 │
│ → 关注布局 │ → 核心持仓 │
────────┼────────────────┼────────────────
│ 沉寂(冬季) │ 分歧(秋季) │
│ 热度低+情绪低 │ 热度高+情绪低 │
│ → 等待观察 │ → 警惕风险 │
└────────────────┴────────────────→ 热度高
| 场景 | 说明 | 典型用法 |
|---|---|---|
| 量化投资 | 构建叙事驱动因子、策略回测 | 主题热度/情绪作为因子输入 |
| 投研分析 | 理解市场底层逻辑、趋势拐点预判 | 主题诊断+叙事数据时间序列 |
| 投顾支持 | 主题信息推送、投资建议参考 | 热点榜单+指数机会榜 |
| 线上营销 | 热点事件营销、用户搜索推荐 | 推荐热词+ETF异动写作 |
2026 Q1 重点主题收益:超额验证(平均+3.11% vs 基准+0.3%)
2026年度策略(截至2026/06/30):十大趋势股票池平均 +18.80%(沪深300:+7.55%),超额收益 +11.25%
| 类型 | 数量 | 说明 |
|---|---|---|
| 自有主题 | 47 | 语势自建主题体系 |
| 指数主题 | 38 | 对应市场指数 |
| 孵化主题 | 29 | 新兴主题培育 |
主题调整频率:季度调整
方式一:配置文件(推荐用于本地开发)
打开 mcp_config.json,将 YOUR_APPCODE_HERE 替换为你的真实APPCODE。
方式二:环境变量(推荐用于生产/CI/CD)
设置环境变量 THEMEPICA_APPCODE:
export THEMEPICA_APPCODE=你的APPCODE
环境变量优先级高于配置文件。两者都不配置时会提示错误。
联系语势科技商务获取APPCODE,或通过阿里云API网关市场购买。
需要 Node.js 环境(已内置 call-node.js,无需额外依赖)
发布前务必删除 mcp_config.json 中的真实APPCODE!
将值改回 YOUR_APPCODE_HERE 占位符,或使用环境变量方式避免密钥泄露。
| 接口名 | 方法 | 路径 | 说明 |
|---|---|---|---|
themes | GET | /themes | 主题列表(分页) |
theme_indices | GET | /theme/indices | 主题关联指数 |
theme_etfs | GET | /theme/etfs | 主题关联ETF |
theme_diagnose | GET | /theme/diagnose | 主题诊断(热度/情绪/象限/信号) |
theme_subs_diagnose | GET | /theme/subs/diagnose | 子主题诊断 |
theme_narratives | GET | /theme/narratives | 主题叙事数据(热度/情绪时间序列) |
theme_contents | GET | /theme/contents | 主题相关资讯 |
| 接口名 | 方法 | 路径 | 说明 |
|---|---|---|---|
board_hotspots | GET | /board/hotspots | 热点榜单(周度) |
board_hotspots_detail | POST | /board/hotspots/detail | 热点榜单详情 |
board_hotspots_latest_detail | GET | /board/hotspots/latest/detail | 最新热点榜单详情 |
board_indices | GET | /board/indices | 指数机会榜单 |
| 接口名 | 方法 | 路径 | 说明 |
|---|---|---|---|
hotspot_heats | POST | /hotspot/heats | 热点热度 |
hotspot_emotions | POST | /hotspot/emotions | 热点情绪 |
hotspot_news | GET | /hotspot/news | 热点关联资讯 |
hotspot_viewpoints | GET | /hotspot/viewpoints | 热点关联观点 |
hotspot_securities | GET | /hotspot/securities | 热点关联证券 |
hotspot_indices | GET | /hotspot/indices | 热点关联指数 |
hotspot_themes | GET | /hotspot/themes | 热点相关主题 |
hotspot_etfs | GET | /hotspot/etfs | 热点关联ETF |
hotspot_policies | GET | /hotspot/policies | 热点关联政策 |
hotspot_funds | GET | /hotspot/funds | 热点关联基金 |
| 接口名 | 方法 | 路径 | 说明 |
|---|---|---|---|
fund_narratives | GET | /v2.1/fund/narratives | 基金叙事数据 |
| 接口名 | 方法 | 路径 | 说明 |
|---|---|---|---|
index_detail | GET | /index/detail | 指数详情 |
index_daily | GET | /index/daily | 指数历史日行情 |
| 接口名 | 方法 | 路径 | 说明 |
|---|---|---|---|
etf_narratives | GET | /etf/narratives | ETF叙事数据 |
node call-node.js <apiName> <paramsJSON> [--list]
# 示例
node call-node.js themes '{"pageNum": 1, "pageSize": 10}'
node call-node.js theme_diagnose '{"themeId": "1477062244"}'
node call-node.js board_hotspots '{"pageNum": "1", "pageSize": "5"}'
node call-node.js hotspot_heats '{"keywords": ["英伟达"], "startTime": "2026-08-03 00:00:00", "endTime": "2026-08-12 12:34:32"}'
# 列出所有可用API
node call-node.js --list
const { call } = require('./call-node.js');
// 调用公开API
const result = await call('themes', { pageNum: 1, pageSize: 10 });
const diagnose = await call('theme_diagnose', { themeId: '1477062244' });
const hotspots = await call('board_hotspots', { pageNum: '1', pageSize: '10' });
所有请求需要在Header中传入APPCODE:
Authorization: APPCODE your_appcode_here
主题热度:市场关注度的量化指标
主题情绪:市场参与者的情感光谱
主题象限:基于热度和情绪的状态判定
主题信号:未来演化方向预测
热点热度:
热点情绪:
详细的API参数和返回格式请参考 references/ 目录下的文档:
YYYY-MM-DDYYYY-MM-DD HH:mm:sspageSize 参数调整theme_contents 接口必须同时传 startDate、endDate、newsCategory 三个参数,缺一不可,否则返回 HTTP 400API返回的错误码说明:
0 - 成功101 - 查询关键词为空102 - 查询关键词过长103 - 查询对象不存在201 - startTime为空301 - endTime为空302 - endTime晚于当天401 - start为负501 - end为负1001 - startTime晚于endTime1002 - 查询时间区间过长2001 - end小于start2002 - 返回条数大于100条HTTP状态码说明:
403 - 流控限制、配额用完、欠费等400 - 请求参数错误500 - 服务器内部错误503 - 服务不可用504 - 后端服务超时