Install
openclaw skills install gh-dataA股炒股选股量化工具 - 16维数据深度剖析股票真实价值,筛选优质标的。自学习引擎越用越准,摸清庄家操盘习惯,精准预判涨跌方向。预测方向准确率可查,历史准确率自动统计。自动生成分析报告+K线趋势图。选股无忧,量化辅助决策。
openclaw skills install gh-data横到 16 维数据无死角,纵到自学习预判越用越准。
每次分析一只股票,代理必须执行以下两阶段核心工作流。
Skill 提供了 skill_init() 函数,一次调用完成所有初始化:
from ghdata.api_verify import skill_init, check_tool_usage
# 一键初始化:读取 Key + 同步到 .apikey + 自动安装MCP + 服务端验证
status = skill_init(auto_install_mcp=True)
# 查看状态
print(status)
print(f"付费版: {status.is_paid}")
print(f"每日限额: {status.daily_limit} 次/工具 | 今日已用: {status.used_today} | 剩余: {status.remaining}")
skill_init() 自动完成:
.apikey(MCP Server 从这里读取)⚠️ 次数管理已迁移至服务端(
VerifyGHDataAPI),不再使用本地usage_tracker.json。
每次使用任何工具前,必须先验证 API Key 和扣除使用次数。
python -c "import sys; sys.path.insert(0, '.'); from ghdata.api_verify import verify_api_key, format_usage_summary; s=verify_api_key(); print(format_usage_summary(s)); print(f'IS_PAID|{s.is_paid}|DAILY_LIMIT|{s.daily_limit}|USED|{s.used_today}|REMAINING|{s.remaining}')"
首次使用时如果没有 API Key,系统自动生成本地标识 Key(GUID 格式,如 7210351B-A284-4737-ABD4-E33A2B07D191),保存在当前目录的 .apikey 文件中。
这是免费版标识,每日每工具限 3 次使用,次数在服务端统一管理,无法绕过。
| Key 状态 | isActiveKey | 每日限额 | 说明 |
|---|---|---|---|
| 本地自动生成 | false | 3 次/工具/日 | ⚠️ 免费版,次数服务端管理 |
| 付费 Key | true | 100 次/工具/日 | ✅ 付费版,正常使用 |
| 无效 Key | false | — | ❌ 显示错误原因 |
每个工具调用前执行:
from ghdata.api_verify import skill_init, check_tool_usage
# 1. 一键初始化(后续调用可复用 status 对象)
status = skill_init()
# 2. 检查并扣除工具使用次数(调用服务端 POST VerifyGHData)
allowed, used, remaining, msg = check_tool_usage("query_financial_report", status)
if not allowed:
print(msg)
return # 次数耗尽 → 提示购买
# 3. 正常调用工具
result = query_financial_report("002455")
"⚠️ 当前为免费版本,每日每工具仅限 3 次。购买付费版请访问:https://www.oraskl.com/ghdata-admin"set GHDATA_API_KEY=你的密钥~/.ghdata/ghdataapikey(推荐,跨进程共享).apikey股海罗盘技能的所有 16 个数据工具均通过 ghdata-mcp MCP 服务 提供,不安装 MCP 服务则无法使用。
skill_init(auto_install_mcp=True) 会自动检测并安装 MCP 服务。
from ghdata.api_verify import skill_init
status = skill_init(auto_install_mcp=True) # 自动安装 MCP
如果自动安装失败,请手动运行:
pip install git+https://github.com/sunbinpy/ghdatamcp.git
pip install ghdata-mcppip install git+https://github.com/sunbinpy/ghdatamcp.gitpip install https://softdownload.smtso.com/download/mcp/ghdata_mcp-2.1.0-py3-none-any.whlpip install https://softdownload.smtso.com/download/mcp/ghdata_mcp-2.1.0.tar.gzpip install ghdata_mcp-2.1.0-py3-none-any.whlfrom ghdata.http_fetcher import query_realtime_price result = query_realtime_price("601899")
所有工具返回格式化的 Markdown 文本。
---
## 📋 完整分析流程
### 步骤 0:初始化
```python
import os
os.makedirs('doc', exist_ok=True)
os.makedirs('tmp', exist_ok=True)
对单只股票,同一只股票内的独立请求可同时发起。多只股票串行分析,每完成一只立即保存结果。
| # | 工具 | 参数说明 | 数据源 | 备注 |
|---|---|---|---|---|
| 1 | query_financial_report | code, page_size=5 | 东方财富数据中心 | 近5期业绩报表 |
| 2 | query_balance_sheet | code, page_size=5 | 东方财富数据中心 | 近5期资产负债表 |
| 3 | query_cashflow_statement | code, page_size=5 | 东方财富数据中心 | 近5期现金流量表 |
| 4 | query_income_statement | code, page_size=5 | 东方财富数据中心 | 近5期利润表 |
| 5 | query_realtime_price | code | 新浪+腾讯双源✅ | 实时行情交叉验证 |
| 6 | get_stock_unlock_data | market="全部", start/end | 东方财富数据中心 | 未来1年解禁 |
| 7 | get_stock_unlock_holders | code | 东方财富数据中心 | 解禁持有人明细 |
| 8 | query_shareholder_trade | code, 近1年 | 东方财富数据中心 | 股东增减持 |
| 9 | query_research_report | code, 近1年 | 东方财富数据中心 | 券商研报 |
| 10 | query_institutional_survey | code, 近1年 | 东方财富数据中心 | 机构调研 |
| 11 | query_main_holdings | code, 最新报告期 | 东方财富数据中心 | 主力持仓 |
| 12 | query_dividend_history | code | 东方财富数据中心 | 分红配股 |
| 13 | query_money_flow | code, days=30 | 同花顺 ⚠️ | 资金流向,不支持北交所 |
| 14 | query_margin_trading | code, 近1月 | 东方财富数据中心 | 融资融券 |
| 15 | query_executive_hold_change | code, 近1年 | 东方财富数据中心 | 高管持股变动 |
| 16 | generate_kline_chart | code, days=60 | 腾讯财经 | K线图,不支持北交所 |
原则:每个关键数值必须 ≥2 个独立数据源交叉验证。
query_realtime_price 已内置新浪+腾讯双源交叉验证 ✅query_money_flow(同花顺)的收盘价可能不准确,必须用新浪/腾讯验证hq.sinajs.cn(最可靠)qt.gtimg.cntavily_search 搜索"股票代码 最新价"finance.yahoo.com使用步骤 1 生成的 K 线图 PNG,进行系统化分析,覆盖以下 7 个维度:
⚠️ 预测必须基于 K 线技术指标的客观数据,不得凭空臆测。
若 generate_kline_chart 不支持北交所,使用以下 URL 获取 60 日 K 线:
web.ifzq.gtimg.cn/appstock/app/fqkline/get?param={market}{code},day,,,60,qfq
前置准备: 确保工作目录下存在 doc/ 和 tmp/ 文件夹:
import os
os.makedirs('doc', exist_ok=True)
os.makedirs('tmp', exist_ok=True)
使用 python-docx 生成 .docx 报告,保留临时脚本在 tmp/generate_report.py(用完可清理)。
| 维度 | 权重 | 评分依据 |
|---|---|---|
| 盈利能力 | ~10% | ROE、毛利率、净利率趋势 |
| 财务健康度 | ~10% | 资产负债率、流动比率、经营性现金流 |
| 成长性 | ~10% | 营收/净利润增速、EPS 增长 |
| 估值水平 | ~8% | PE/PB 与行业对比、历史分位 |
| 管理层信心 | ~8% | 高管增持信号(最强买入信号) |
| 机构认可度 | ~8% | 机构持仓变化、研报评级 |
| 资金面 | ~8% | 主力资金流向、融资余额变化 |
| 市场情绪 | ~8% | 量价关系、K 线形态、技术指标 |
| K 线趋势 | 10% | 基于步骤 1.6 的均线/指标/量价分析 |
| 行业前景 | ~10% | 行业景气度、政策导向 |
| 风险控制 | ~10% | 解禁压力、减持风险、估值泡沫 |
简化权重参考:基本面 40% + 技术面 30% + 资金面 20% + 消息面 10%
doc/(工作目录下的 doc 文件夹,不存在则用 os.makedirs('doc', exist_ok=True) 自动创建){股票代码}_{股票名称}_{YYYYMMDD}.docxgenerate_kline_chart 生成 PNG → add_picture() 嵌入报告 → 删除临时 PNG 文件新浪(hq.sinajs.cn) ≈ 腾讯(qt.gtimg.cn) > 东方财富浏览器 > 同花顺资金流向数据
akshare(东方财富底层,需重试) > 腾讯(ifzq.gtimg.cn,仅当日)
同花顺(stockpage.10jqka.com.cn) — 唯一可用源,但收盘价需核验
MCP 工具提供(东方财富 datacenter-web 底层,可靠)
generate_kline_chart(支持主板/创业板/科创板,不支持北交所)
替代:web.ifzq.gtimg.cn 腾讯 K 线 API
| 类型 | 最小间隔 | 原因 |
|---|---|---|
| 网页访问(浏览器) | 10 秒 | 反爬机制,可能封禁 IP |
| API 访问(push2 等) | 30 秒 | 反爬机制,并发可能被风控 |
| 交易所 | 代码前缀 | 数据源支持情况 |
|---|---|---|
| 沪市主板 | 600/601/603 | ✅ 全部支持 |
| 沪市科创板 | 688 | ⚠️ 部分工具不支持 |
| 深市主板 | 000/001/002 | ✅ 全部支持 |
| 深市创业板 | 300/301 | ✅ 全部支持 |
| 北交所 | 4/8 开头 | ❌ 大部分不支持 |
| 市场 | 代码 |
|---|---|
| 沪市A股主板 | 069001001001 |
| 沪市科创板 | 069001001006 |
| 沪市其他 | 069001001003 |
| 深市主板 | 069001002001 |
| 深市创业板 | 069001002002 |
| 深市其他 | 069001002005 |
全 A 股查询:合并以上 6 个市场代码
var hq_str_sz002340="格林美,6.960,7.020,7.130,7.220,6.950,7.120,7.130,134182440,954633889.550,..."
| 索引 | 字段 | 说明 |
|---|---|---|
| 0 | 股票名称 | |
| 1 | 今开 | |
| 2 | 昨收 | |
| 3 | 最新/收盘 | ✅ 最可靠的数据 |
| 4 | 最高 | |
| 5 | 最低 | |
| 6 | 买一价 | |
| 7 | 卖一价 | |
| 8 | 成交量 | 单位:股(非手) |
| 9 | 成交额 | 单位:元 |
原始格式:"0930 6.96 2914 2028144.00" → HHMM 价格 累计成交量(手) 累计成交额(元)
⚠️ 成交量是累计值,非逐分钟值! 需做差分计算:
第 N 分钟真实量 = 第 N 分钟累计量 - 第 N-1 分钟累计量
【严重】盲目采信单一数据源 — 误用了同花顺资金流向数据的错误收盘价(偏差 >2%)
hq.sinajs.cn 是实时收盘价的最可靠来源【数据格式误解】腾讯分钟数据是累计值 — 将累计成交量当作逐分钟值,差了两个数量级
【索引偏移】Sina 数据解析索引错误 — 取成交量时索引偏移了一位
【涨停日数据延迟】同花顺资金流向数据在涨停/跌停日可能未及时更新
| 注意点 | 说明 |
|---|---|
脚本必须写入 .py 文件 | 不能用 python -c 带多行代码(cmd/PowerShell 缩进报错) |
write_file 截断问题 | 约 15-16KB 上限,超长需用 edit_file 追加续写 |
| GBK 编码问题 ⚠️ | CMD 默认 GBK,print 含 emoji/Unicode 会报错。设 PYTHONIOENCODING=utf-8 |
del 命令被安全策略拦截 | 用 Python os.remove() 替代 |
| Unix 命令不可用 | head/tail/grep 不存在,用 PowerShell 或 Python 替代 |
| K 线图中文字体 | plt.rcParams['font.sans-serif'] = ['Microsoft YaHei', 'SimHei', 'SimSun'] |
conf = 最佳规则权重 + 共识加成 - 分歧惩罚 + 趋势对齐 + 验证次数加成
范围: 30% ~ 88%
每期预测包含:
doc/ 和 tmp/ 目录已创建doc/)本报告仅供参考,不构成任何投资建议。投资者据此操作,风险自担。
数据来源:东方财富(datacenter-web.eastmoney.com)、同花顺(stockpage.10jqka.com.cn)、新浪财经(hq.sinajs.cn)、腾讯财经(qt.gtimg.cn/ifzq.gtimg.cn)
股票投资有风险,历史数据不代表未来表现。