股海罗盘 - A股股票分析选股工具

Data & APIs

A股炒股选股量化工具 - 16维数据深度剖析股票真实价值,筛选优质标的。自学习引擎越用越准,摸清庄家操盘习惯,精准预判涨跌方向。预测方向准确率可查,历史准确率自动统计。自动生成分析报告+K线趋势图。选股无忧,量化辅助决策。

Install

openclaw skills install gh-data

股海罗盘(gh-data)— A 股股票量化自学习预判引擎

横到 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() 自动完成:

  1. ✅ 读取/自动生成 API Key
  2. ✅ 将 Key 写入 .apikey(MCP Server 从这里读取)
  3. ✅ 检测 MCP 是否安装,未安装则自动安装
  4. ✅ 调用服务端验证 Key 有效性,返回账户状态

🔑 API Key 验证(服务端版 v3.0)

⚠️ 次数管理已迁移至服务端VerifyGHData API),不再使用本地 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每日限额说明
本地自动生成false3 次/工具/日⚠️ 免费版,次数服务端管理
付费 Keytrue100 次/工具/日✅ 付费版,正常使用
无效 Keyfalse❌ 显示错误原因

每次调用的标准流程

每个工具调用前执行:

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"
  • 付费版无此提示
  • 购买后将获得的 API Key 通过以下方式设置(三选一):
    • 环境变量:set GHDATA_API_KEY=你的密钥
    • 文件:~/.ghdata/ghdataapikey(推荐,跨进程共享)
    • 文件:当前工作目录 .apikey

📦 MCP 数据服务(必须安装才能使用)

股海罗盘技能的所有 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

MCP 安装方式(按优先级排序)

  • PyPI(推荐):pip install ghdata-mcp
  • GitHubpip install git+https://github.com/sunbinpy/ghdatamcp.git
  • 服务器直链 - WHLpip install https://softdownload.smtso.com/download/mcp/ghdata_mcp-2.1.0-py3-none-any.whl
  • 服务器直链 - tar.gzpip install https://softdownload.smtso.com/download/mcp/ghdata_mcp-2.1.0.tar.gz
  • 本地安装:下载后 pip install ghdata_mcp-2.1.0-py3-none-any.whl

🛠️ 16 个数据工具

from 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:数据采集(16 工具并行)

单只股票,同一只股票内的独立请求可同时发起。多只股票串行分析,每完成一只立即保存结果。

#工具参数说明数据源备注
1query_financial_reportcode, page_size=5东方财富数据中心近5期业绩报表
2query_balance_sheetcode, page_size=5东方财富数据中心近5期资产负债表
3query_cashflow_statementcode, page_size=5东方财富数据中心近5期现金流量表
4query_income_statementcode, page_size=5东方财富数据中心近5期利润表
5query_realtime_pricecode新浪+腾讯双源✅实时行情交叉验证
6get_stock_unlock_datamarket="全部", start/end东方财富数据中心未来1年解禁
7get_stock_unlock_holderscode东方财富数据中心解禁持有人明细
8query_shareholder_tradecode, 近1年东方财富数据中心股东增减持
9query_research_reportcode, 近1年东方财富数据中心券商研报
10query_institutional_surveycode, 近1年东方财富数据中心机构调研
11query_main_holdingscode, 最新报告期东方财富数据中心主力持仓
12query_dividend_historycode东方财富数据中心分红配股
13query_money_flowcode, days=30同花顺 ⚠️资金流向,不支持北交所
14query_margin_tradingcode, 近1月东方财富数据中心融资融券
15query_executive_hold_changecode, 近1年东方财富数据中心高管持股变动
16generate_kline_chartcode, days=60腾讯财经K线图,不支持北交所

步骤 1.5:价格交叉验证(⚠️ 必须执行)

原则:每个关键数值必须 ≥2 个独立数据源交叉验证。

  1. query_realtime_price 已内置新浪+腾讯双源交叉验证 ✅
  2. query_money_flow(同花顺)的收盘价可能不准确,必须用新浪/腾讯验证
  3. 验证优先级
    • 首选:新浪财经 hq.sinajs.cn(最可靠)
    • 备选:腾讯财经 qt.gtimg.cn
    • 备选:tavily_search 搜索"股票代码 最新价"
    • 备选:浏览器访问雅虎财经 finance.yahoo.com
  4. 遇到涨停/跌停日,同花顺资金流向数据可能滞后,必须优先用新浪/腾讯验证

步骤 1.6:K 线图分析与趋势研判(⚠️ 必须执行)

使用步骤 1 生成的 K 线图 PNG,进行系统化分析,覆盖以下 7 个维度

维度 1:均线系统

  • MA5/MA10/MA20/MA60 排列状态(多头/空头/粘合)
  • 价格与各均线位置关系(上方/下方/穿越)
  • 均线斜率变化

维度 2:技术指标

  • KDJ:K/D/J 值,金叉/死叉,高位(>80)/低位(<20)
  • RSI14:超买(>70)/超卖(<30)/中性区
  • MACD:零轴位置,柱体(红/绿)变化,DIFF 与 DEA 关系

维度 3:量价关系

  • 成交量变化趋势(放量/缩量/平量)
  • 量比(相对于 5 日均量)
  • 放量/缩量对应的 K 线形态(阳线/阴线/十字星)

维度 4:阶段划分

  • 60 个交易日的价格走势阶段(上升/下降/震荡)
  • 各阶段高低点
  • 当前所处阶段

维度 5:关键价位

  • 支撑位(近期低点、均线支撑、密集成交区下沿)
  • 阻力位(近期高点、均线压制、密集成交区上沿)
  • 心理关口(整数位、前高前低)

维度 6:K 线形态识别

  • 反转形态:启明星、黄昏星、锤子线、墓碑线
  • 持续形态:红三兵、三只乌鸦
  • 十字星、跳空缺口、长上影/下影线

维度 7:下一个交易日走势预测

  • 日内节奏预测(早盘/午盘/尾盘)
  • 关键价位(支撑/阻力)
  • 预计运行区间(最低价~最高价)
  • 最可能收盘区间
  • 概率情景分析
    • A 情景(~60% 概率):最可能走势
    • B 情景(~30% 概率):次可能走势
    • C 情景(~10% 概率):意外走势

⚠️ 预测必须基于 K 线技术指标的客观数据,不得凭空臆测。

北交所替代方案

generate_kline_chart 不支持北交所,使用以下 URL 获取 60 日 K 线:

web.ifzq.gtimg.cn/appstock/app/fqkline/get?param={market}{code},day,,,60,qfq

步骤 2:报告生成

前置准备: 确保工作目录下存在 doc/tmp/ 文件夹:

import os
os.makedirs('doc', exist_ok=True)
os.makedirs('tmp', exist_ok=True)

使用 python-docx 生成 .docx 报告,保留临时脚本在 tmp/generate_report.py(用完可清理)。

报告章节结构(16 章 + 风险提示)

  1. 公司概况 — 股票代码、名称、所属行业、主营业务、核心看点
  2. 财务数据分析(4 小节):
    • 业绩报表明细(营收/净利润/EPS/ROE/毛利率趋势)
    • 资产负债表(资产负债率、流动比率、货币资金、应收账款、存货)
    • 现金流量表(经营性现金流质量)
    • 利润表(费用结构、利润增长驱动因素)
  3. 实时行情与股价表现 — 最新价、涨跌幅、PE/PB、总市值、成交量
  4. K 线图与趋势分析(嵌入 K 线图图片 + 7 维度分析文本)
  5. 限售股解禁分析 — 解禁日期、数量、市值、持有人结构、市场影响
  6. 股东增减持分析 — 增减持方向、金额、比例、大股东态度
  7. 个股研报汇总 — 券商评级、目标价、核心逻辑、一致预期
  8. 机构调研分析 — 调研频率、机构类型、关注焦点
  9. 主力持仓分析 — 机构持仓变化、基金/保险/券商增减仓
  10. 分红配股分析 — 历史分红率、股息率、送转记录
  11. 资金流向分析 — 大单/中单/小单净流入、主力资金态度
  12. 融资融券分析 — 融资余额变化、融券余额变化、杠杆资金态度
  13. 高管持股变动分析 — 高管增持/减持记录、成交均价、变动原因
  14. 合理股价分析(三档目标价):
    • PE 估值法(行业平均 PE × 预测 EPS)
    • PEG 法(PEG=1 为合理)
    • 高管增持价参考
    • 保守/中性/乐观三档目标价
  15. 近期股价走势预测 — 综合多维度的短期走势预判
  16. 综合评价与评分 — 百分制评分表 + 总分 + 投资建议
  17. 风险提示与免责声明(⚠️ 必须添加,作为最后章节):
    • 数据来源声明(列出所有数据网站)
    • 免责声明:"本报告仅供参考,不构成任何投资建议。投资者据此操作,风险自担。"
    • 风险提示:"股票投资有风险,历史数据不代表未来表现。"

步骤 3:评分体系(百分制)

评分维度

维度权重评分依据
盈利能力~10%ROE、毛利率、净利率趋势
财务健康度~10%资产负债率、流动比率、经营性现金流
成长性~10%营收/净利润增速、EPS 增长
估值水平~8%PE/PB 与行业对比、历史分位
管理层信心~8%高管增持信号(最强买入信号)
机构认可度~8%机构持仓变化、研报评级
资金面~8%主力资金流向、融资余额变化
市场情绪~8%量价关系、K 线形态、技术指标
K 线趋势10%基于步骤 1.6 的均线/指标/量价分析
行业前景~10%行业景气度、政策导向
风险控制~10%解禁压力、减持风险、估值泡沫

简化权重参考:基本面 40% + 技术面 30% + 资金面 20% + 消息面 10%


步骤 4:文件保存

  • 路径doc/(工作目录下的 doc 文件夹,不存在则用 os.makedirs('doc', exist_ok=True) 自动创建)
  • 命名格式{股票代码}_{股票名称}_{YYYYMMDD}.docx
  • K 线图:通过 generate_kline_chart 生成 PNG → add_picture() 嵌入报告 → 删除临时 PNG 文件
  • 多只股票:串行分析,每完成一只立即保存

📊 数据源可靠性排序

实时收盘价

新浪(hq.sinajs.cn) ≈ 腾讯(qt.gtimg.cn) > 东方财富浏览器 > 同花顺资金流向数据

历史分钟线

akshare(东方财富底层,需重试) > 腾讯(ifzq.gtimg.cn,仅当日)

资金流向

同花顺(stockpage.10jqka.com.cn) — 唯一可用源,但收盘价需核验

财务数据

MCP 工具提供(东方财富 datacenter-web 底层,可靠)

K 线数据

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 开头❌ 大部分不支持

解禁数据 filter 参数

市场代码
沪市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 分钟累计量

⚠️ 关键错误教训(必须铭记)

  1. 【严重】盲目采信单一数据源 — 误用了同花顺资金流向数据的错误收盘价(偏差 >2%)

    • 教训:每个关键数值必须从 ≥2 个独立数据源交叉验证
    • ✅ 新浪 hq.sinajs.cn 是实时收盘价的最可靠来源
  2. 【数据格式误解】腾讯分钟数据是累计值 — 将累计成交量当作逐分钟值,差了两个数量级

    • 教训:解析数据前确认字段含义,必要时做差分计算
  3. 【索引偏移】Sina 数据解析索引错误 — 取成交量时索引偏移了一位

    • 教训:解析前先打印原始字符串,确认每个字段的确切位置
  4. 【涨停日数据延迟】同花顺资金流向数据在涨停/跌停日可能未及时更新

    • 教训:遇到涨跌停日,必须优先使用新浪/腾讯数据验证

⚠️ Windows 环境报告生成注意

注意点说明
脚本必须写入 .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']

📈 预测方法论

流程

  1. 先判断大趋势(上升/下降/震荡)
  2. 识别当前 K 线形态(十字星/中阳/中阴/墓碑等)
  3. 资金结构分析(大单/中单/小单流向)
  4. 匹配历史规律库(找相似模式)
  5. 综合给出概率情景(A/B/C 三档)

置信度算法

conf = 最佳规则权重 + 共识加成 - 分歧惩罚 + 趋势对齐 + 验证次数加成
      范围: 30% ~ 88%
  • 共识加成:3 条同向 +0.18 / 2 条同向 +0.10
  • 分歧惩罚:有相反方向 -0.05
  • 趋势对齐:与趋势同向 +0.08
  • 验证次数加成:已验证 3 次以上 +0.05

预测输出格式(三维价格区间)

每期预测包含:

  • 【收盘价区间】基于预测涨跌幅
  • 【最高价区间】基于平均振幅 ×0.4~0.6 系数
  • 【最低价区间】同上
  • 【历史方向准确率】进度条 + 百分比 + 正确次数/总次数

✅ 报告生成检查清单

  • doc/tmp/ 目录已创建
  • API Key 已验证,每日次数有剩余
  • 收盘价从新浪/腾讯交叉验证(≥2 独立源)
  • 成交量单位确认(东方财富=手,新浪=股)
  • 数据日期确认(今日/历史)
  • 检查市场代码(沪市/深市/北交所)
  • 保存路径符合规范(doc/
  • K 线图 PNG 已嵌入报告 + 删除临时文件
  • 报告末尾添加风险提示与免责声明
  • 多只股票时串行分析,已完成个股已保存

💡 投资决策核心经验

  • 内部人增持信号(最强买入信号):当董事长/核心管理层的增持均价远高于当前股价时,是强于任何技术指标的买入信号
  • 季节性因素:分析农业/蓝莓等季节性业务公司时,旺季 Q1 需调整年化 EPS,不能简单乘以 4

📄 风险提示与免责声明

本报告仅供参考,不构成任何投资建议。投资者据此操作,风险自担。

数据来源:东方财富(datacenter-web.eastmoney.com)、同花顺(stockpage.10jqka.com.cn)、新浪财经(hq.sinajs.cn)、腾讯财经(qt.gtimg.cn/ifzq.gtimg.cn)

股票投资有风险,历史数据不代表未来表现。