360 Secure SkillHub
360 安全技能中心

股海罗盘 - A股量化分析

股海罗盘专为A股投资者打造,核心功能包括从新浪、腾讯等多源采集16维股票数据,通过WebAPI完成量化分析(含技术指标、趋势预测、历史规律等),最终生成含综合评分、方向预判的14章DOCX报告。适用于个股深度分析、选股辅助等场景,输入股票代码即可启动,提供免费(日限3次)及付费版(日限100次)服务。

sunbinpy
sunbinpy
热度 23.62
最近更新 2026-06-23 00:15:45
分类:数据依赖:代码执行 / 第三方 API / 读写文件应用场景:数据处理 / 报告撰写 / 财务

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add gh-data-nomcp
Metadata
name
股海罗盘 - A股股票量化分析
description
A股炒股选股量化工具 - 16维数据深度分析,自学习预判引擎,趋势预测,自动报告。直接HTTP采集新浪/腾讯/东方财富数据+WebAPI量化分析。支持自动生成DOCX分析报告。
metadata
{"openclaw":{"emoji":"📊"}}
homepage
https://www.oraskl.com/ghdata-admin

股海罗盘(gh-data)— A 股股票量化分析技能

无需 MCP,纯 Python HTTP 直连采集 + WebAPI 量化分析。


配置

{
  "skills": {
    "entries": {
      "ghdata_analyze": {
        "config": {
          "webapi_url": "http://api.topeasychina.com:15099/api",
          "webapi_timeout": 30,
          "doc_dir": "./doc"
        }
      }
    }
  }
}
配置项 默认值 说明
webapi_url http://api.topeasychina.com:15099/api WebAPI 地址(含端口)
webapi_timeout 30 HTTP 请求超时(秒)
doc_dir ./doc 报告输出目录

配置生效规则(优先级从高到低):

  1. 上述 config 配置
  2. {技能目录}/settings.json 文件
  3. 环境变量 GHDATA_API_URL
  4. 代码默认值

🚀 核心工作流(每次分析必须执行)

每次分析一只股票,必须完成以下三阶段:

阶段 A:数据采集      ─→  阶段 B:量化分析    ─→  阶段 C:报告输出
  HTTP直连公开API       POST WebAPI分析API      生成DOCX报告+K线图
  (新浪/腾讯/东方财富)  (技术指标/信号/预测)     (16维/评分/预判)

阶段 A:16 维数据采集

技能内置 Python 模块 ghdata/data_fetcher.py,直接 HTTP 采集以下数据源:

# 数据维度 数据源 函数
1 实时行情 新浪 + 腾讯双源交叉 fetch_realtime(code)
2 日K线数据 腾讯 ifzq.gtimg.cn fetch_kline(code, days)
3 今日分时 腾讯 qt.gtimg.cn 分钟数据 fetch_today_tick(code)
4 资金流向 同花顺 stockpage.10jqka fetch_money_flow(code, days)
5 融资融券 东方财富 DataCenter fetch_margin_trading(code, days)
6 机构持仓 东方财富 DataCenter fetch_main_holdings(code)
7 股东增减持 东方财富 DataCenter fetch_shareholder_trade(code)
8 高管持股变动 东方财富 DataCenter fetch_executive_change(code)
9 财务数据 东方财富 DataCenter fetch_financial(code)
10 资产负债表 东方财富 DataCenter fetch_balance_sheet(code)
11 利润表 东方财富 DataCenter fetch_income_statement(code)
12 现金流量表 东方财富 DataCenter fetch_cashflow(code)
13 分红历史 东方财富 DataCenter fetch_dividend(code)
14 券商研报 东方财富 DataCenter fetch_research_report(code)
15 机构调研 东方财富 DataCenter fetch_institutional_survey(code)
16 限售解禁 东方财富 DataCenter fetch_unlock_data(code)

Python 代码(直接在 CMD 中执行):

import sys, os
sys.path.insert(0, os.path.dirname(__file__))
from ghdata import data_fetcher as fetcher
from ghdata import config

def collect_all(code: str) -> dict:
    """16维数据一次性采集(全部HTTP直连,零外部依赖)"""
    data = {}
    data["realtime"] = fetcher.fetch_realtime(code)          # 实时行情
    data["kline"] = fetcher.fetch_kline(code, 120)           # 日K线
    data["tick"] = fetcher.fetch_today_tick(code)            # 今日分时
    data["moneyFlow"] = fetcher.fetch_money_flow(code, 10)   # 资金流向
    data["margin"] = fetcher.fetch_margin_trading(code, 10)  # 融资融券
    data["holdings"] = fetcher.fetch_main_holdings(code)     # 机构持仓
    data["shareholder"] = fetcher.fetch_shareholder_trade(code) # 股东增减持
    data["executive"] = fetcher.fetch_executive_change(code) # 高管变动
    data["financial"] = fetcher.fetch_financial(code)        # 业绩报表
    data["balance"] = fetcher.fetch_balance_sheet(code)      # 资产负债表
    data["income"] = fetcher.fetch_income_statement(code)    # 利润表
    data["cashflow"] = fetcher.fetch_cashflow(code)          # 现金流量表
    data["dividend"] = fetcher.fetch_dividend(code)          # 分红历史
    data["research"] = fetcher.fetch_research_report(code)   # 券商研报
    data["survey"] = fetcher.fetch_institutional_survey(code)# 机构调研
    data["unlock"] = fetcher.fetch_unlock_data(code)         # 限售解禁
    data["industry"] = fetcher.fetch_industry_info(code)     # 行业板块
    return data

阶段 B:量化分析(WebAPI)

采集完数据后,调用 WebAPI 进行量化分析:

from ghdata import db_manager as db

# 调用 WebAPI 获取全量分析结果
result = db.kline_analyze(code, today_kline=None)
# 返回包含:
#   indicators  → MA5/MA10/MA20/MA60/MACD/KDJ/RSI/量比
#   signals     → 偏多/偏空/中性 汇总
#   patterns    → 大涨后规律/大跌后规律/支撑/阻力
#   accuracy    → 全部历史/近60日/近30日 准确率
#   prediction  → 方向/T+1/T+2/中期方向 + 价格区间
#   learning    → 自学习规律跟踪摘要

WebAPI 地址通过配置中的 webapi_url 设置。


阶段 C:报告生成

from ghdata import reporter
from ghdata import chart

# 1. 生成 K 线图
chart.generate_kline_chart(klines, ...)

# 2. 生成 14 章完整 DOCX 报告
reporter.generate(code, extra_data={
    "holdings": {"points": [...], "conclusion": "..."},
    "money_flow": {"points": [...], "conclusion": "..."},
    # ... 其他维度数据
})

📊 14 章分析报告结构(最终定版)

# 章节 核心内容 展示格式 数据源
一 公司概况 主营业务 + 行业地位 + 市值 段落 WebAPI
二 实时行情 最新价/涨跌/PE/PB/市值 表格 新浪+腾讯
三 机构持仓分析 机构家数/持股/变动 数据表 + analysis_points extra_data.holdings
四 资金流向分析 近10日净流入/大单占比 数据表 + analysis_points extra_data.money_flow
五 融资融券分析 融资余额/净买/占比 数据表 + analysis_points extra_data.margin_trading
六 高管及大股东行为 增持/减持记录 数据表 + analysis_points extra_data.shareholder_trade
七 核心财务分析 7.1业绩/7.2利润/7.3资产/7.4现金流 数据表 + fin_analysis(短段落) extra_data.financial_report
八 合理股价分析 8.1PE/8.2PB/8.3综合区间+术语表 表格+段落(EPS/BVPS由PE/PB和最新价动态计算,禁止硬编码) WebAPI
九 分红历史 近年分红方案 数据表 + analysis_points extra_data.dividend
十 综合评分 5维度加权评分 加权总分公式展示 本地计算
十一 K线技术分析 11.1均线/11.2MACD/11.3KDJ/11.4RSI/11.5信号总表 指标表 + 信号总表 WebAPI indicators
十二 方向预测 12.1方向判定与评分→12.2准确率→12.3 T+1→12.4 T+2→12.5周方向+判断依据 表格化依据 WebAPI prediction
十三 历史规律总结 4条规律(大涨后/大跌后/支撑位/阻力位)场景化展示 场景化展示 WebAPI patterns
十四 风险提示 6条动态风险 列表 综合生成

三种分析展示格式

函数 适用场景 展示方式
analysis_points(标题, [要点列表], 结论=) 机构/资金/两融/高管/分红 数据表下方 → 编号表格 + 加粗结论行
fin_analysis(标题, 段落) 财务四大表解读(业绩/利润/资产/现金流) 数据表下方 → 简短段落(1~2句话,白话解读)
信号总表 技术面综合 统一表格 → 汇总行(偏多X/偏空Y/中性Z)

fin_analysis 使用规则(财务解读)

四张财务表(7.1业绩/7.2利润/7.3资产/7.4现金流)每张都必须带有 fin_analysis 解读或结论,不能只有数据表没有下文。每张表结束后都必须有一段白话解读,告诉用户这个数意味着什么。

正确的做法(数据在前,解读在后):

┌──────────────┬──────────┬──────────┐
│  指标        │ 本期      │ 同比      │
├──────────────┼──────────┼──────────┤
│  营业收入    │ 3500亿   │ +12.5%   │
│  营业利润    │ 420亿    │ +18.3%   │
│  净利润      │ 320亿    │ +52.0%   │
└──────────────┴──────────┴──────────┘

▶ 利润表解读:本期净利润320亿,同比大增52%,主要受益于产品价格高位运行和产能提升。盈利能力持续增强,毛利率和净利率均创近年新高。

错误的做法(只有数据没有结论): ❌ 不允许

┌──────────────┬──────────┬──────────┐
│  指标        │ 本期      │ 同比      │
├──────────────┼──────────┼──────────┤
│  营业收入    │ 3500亿   │ +12.5%   │
│  ...         │ ...      │ ...      │
└──────────────┴──────────┴──────────┘

财务报表的 fin_analysis 必须回答三个问题:

  1. 好不好? — 盈利能力是增强还是减弱
  2. 为什么? — 变化的核心驱动因素(量/价/成本)
  3. 趋势如何? — 未来可能的方向

🔑 APIKey 管理

技能首次使用自动生成本地标识 Key,保存在 ~/.ghdata/ghdataapikey。

版本 每日限额 费用
🆓 免费版 3 次/工具/日 免费
💰 付费版 100 次/工具/日 需购买

购买地址: https://www.oraskl.com/ghdata-admin
付费后替换文件内容: 将购买的密钥写入 ~/.ghdata/ghdataapikey

使用原则:

  • APIKey 是付费资源,不要随便消耗调用次数
  • 同一只股票同一日仅调用一次 WebAPI,分析结果复用
  • 调用前先检查是否已有缓存数据,避免重复请求
  • 非必要不调 db_manager.analyze_kline(),尤其批量操作时垫高用量

📈 综合评分加权公式(定版)

总分 = 基本面×0.35 + 估值面×0.20 + 技术面×0.15 + 资金面×0.20 + 情绪面×0.10
评级:≥80优秀 🏆 | ≥65良好 ✅ | ≥50一般 ⚠️ | <50较差 ❌
维度 权重 说明
基本面 35% 营收/利润/ROE 趋势
估值面 20% PE/PB 历史分位
技术面 15% 均线/MACD/KDJ/RSI 信号
资金面 20% 主力资金流向/大单占比
情绪面 10% 换手率/量比/市场情绪

🔴 方向预测铁律(Andy 铁律 — 必须严格遵循)

1. 方向预测展现顺序

方向预测章节内容必须按以下顺序排列:

方向判定(结论) → 准确率(可信度) → T+1(具体价格) → T+2 → 周方向 → 判断依据(理由)

符合「结论→支撑」的认知逻辑。

2. 方向判定 + 置信度

📈 方向:偏多  🎯 评分:6.5/10  [████████░░░░░░░]

方向:偏多 / 震荡偏多 / 震荡 / 震荡偏空 / 偏空
评分:0~10 分,附进度条

3. 历史准确率 — 三时段展示(Andy 铁律)

方向预测前必须输出历史准确率,分三时段展示:

历史准确率:
  ✅ 全部历史:6/8 = 75.0%  [█████████░░░░░░░]  (正确数/总数)
  ⚠️ 近60日:4/7 = 57.1%   [███████░░░░░░░░░]  (正确数/总数)
  ❌ 近30日:1/3 = 33.3%   [████░░░░░░░░░░░░]  (正确数/总数)

规则:

  • ❌ 不展示偏多方向准确率(Andy 明确要求去掉,仅保留上述三行)
  • ✅ 展示全部准确率 + 近60日 + 近30日
  • 格式:时段:Z.Z% [███████░░░░░░░] (正确数/总数)
  • 按「全部→60日→30日」顺序排列
  • 进度条总长 20 格

4. 股价预测范围 — 三要素铁律

做量化股价预测时,必须同时输出以下三个范围要素:

要素 含义 示例
预测股价范围 综合判断的合理波动区间(最低~最高) 6.85 ~ 7.10 元
最高值范围 压力位上方的极限高值区 7.05 ~ 7.15 元
最低值范围 支撑位下方的极限低值区 6.78 ~ 6.88 元
置信度 本次预测的可信程度(0~100%) 75%

没有范围只有方向 = 无效预测。用户要的是「多少钱能买、多少钱能卖」,不是「涨还是跌」。

5. T+1 预测(下一交易日)

📅 T+1预测:偏多  置信度:75%
  预测区间:   6.85 ~ 7.10 元
  最高值范围: 7.05 ~ 7.15 元
  最低值范围: 6.78 ~ 6.88 元
  价格中心:   6.98 元
  💡 短线可关注

必须包含:

  • 方向判定
  • 置信度
  • 预测区间(最低~最高)
  • 最高值范围 / 最低值范围
  • 预期价格中心
  • 操作建议

6. T+2 预测(格式同上)

📅 T+2预测:偏多  置信度:70%
  预测区间:   6.80 ~ 7.15 元
  最高值范围: 7.10 ~ 7.20 元
  最低值范围: 6.72 ~ 6.82 元
  价格中心:   6.98 元
  💡 可持票待涨

7. 周方向

📅 周方向:震荡偏多
  ✅ MA60上方支撑,中期趋势向上

必须包含周方向(Andy 确认)。

8. 判断依据 — 二维表展示

判断依据:
┌──────────┬──────────────────────────────────────────┬──────────┐
│  维度     │  内容                                    │  信号    │
├──────────┼──────────────────────────────────────────┼──────────┤
│  📐 技术面 │ 均线多头排列 MA5>MA10>MA20                  │  偏多    │
│  📐 技术面 │ MACD零轴上金叉,红柱扩大                      │  偏多    │
│  🔍 模式   │ 近3日量价齐升,突破箱体上沿                   │  偏多    │
│  🛡️ 支撑   │ 20日均线支撑有效,回踩不破                    │  偏多    │
│  ⚠️ 风险   │ RSI进入超买区(72),注意短线回调风险            │  偏空    │
└──────────┴──────────────────────────────────────────┴──────────┘

3~5条依据,涵盖:技术面 + 模式识别 + 支撑/压力 + 风险因素


📈 历史规律展示格式(定版)

场景化标题

用用户秒懂的语言,不用工程师腔:

❌ 旧格式 ✅ 新格式
大涨后回调特征 某天突然大涨超过3%,之后3天会怎样?
大跌后反弹规律 某天突然暴跌超过3%,之后3天能抄底吗?
阻力位规律 股价涨到这个位置总是过不去?
支撑位规律 股价跌到这里就跌不动了?

展示模板

🔥 某天突然大涨超过3%,之后3天会怎样?
  📈 历史上出现 12次
  ✅/⚠️ 准确率 75.0% [███████████░░░░░░░]
     总共出现12次 | 符合9次 | 准确率75.0%
  💡 操作参考:大涨后逢高减仓,不宜追高
  📌 最近案例:2026-06-15 大涨4.2%,之后3日累计+1.1%

已识别规律(由服务端 POST /api/klineanalyze 自动返回)

规律 说明
大涨后回调规律 >3%大涨后3日上涨概率低,不宜追高
大跌后反弹规律 <-3%大跌后3日反弹概率高,可低吸
阻力位规律 统计历史上攻失败价位
支撑位规律 统计历史回踩获撑价位
回调性质判断 MACD绿柱长度+KDJ极端程度区分趋势性下跌vs震荡回调

上述规律由服务端 KlineAnalyzeService.MinePatterns() 自动计算。
注意: C# 中 ?? 运算符优先级低于 -,格式 % 说明符会 ×100,已踩坑修复。


📚 自学习规律跟踪

API 返回 learningSummary 字段,从 stock_patterns 表读取历史规律记录。

展示格式

📚 规律学习摘要
  ──────────────────────────────────────────
  规律#1(大涨后回调)第5次验证:大涨后3日下跌概率上升 ✅
  方向准确率:68%→75%(+7次验证)
  ──────────────────────────────────────────
  规律#2(大跌后反弹)第3次验证:大跌后反弹有效性稳定 ⚠️
  方向准确率:62%→63%(+2次验证)

处理逻辑

  • 按 pattern_type 分组
  • 统计验证次数(verifyCount)
  • 对比最新与上一次的概率变化,生成更新描述
  • 同时输出方向准确率(全部历史预测)

📐 T+1/T+2/周方向推算逻辑

DB 的 predictions 表没有 t1_direction/t2_direction/weekly_direction 数据(PredictorService 只算主方向)。

KlineAnalyzeService 在返回前通过 SubDirectionEstimator 自动推算:

主方向 T+1/T+2 推算规则
偏多 / 偏空 T+1/T+2 跟随主方向
震荡偏多 除非单日暴跌 >1.8%,才修正为「震荡」
震荡偏空 除非单日暴涨 >1.8%,才修正为「震荡」
震荡 根据涨跌幅判断偏向

🌟 报告内容人性化原则

  1. 场景化标题: 把「大涨后回调特征」改为「某天突然大涨超过3%,之后3天会怎样?」— 用户秒懂
  2. 可视化符号: ✅/❌/📈/📉/🔴/🟢 比文字更快传递信息
  3. 操作建议: 每次规律后给一句操作参考(如「大涨后逢高减仓」),用户看报告是为了决策
  4. 出现次数+准确率单独展示: 拆成「总共出现N次 | 符合M次 | 准确率Z% + 进度条」
  5. 数据单位人性化: volume(股)→手,amount(元)→万元/亿元

📝 更高质量报告

如需生成排版更精美的报告(灵活字体/颜色/布局/多图组合),LLM 可自行编写脚本调用 ghdata/data_fetcher.py 的数据采集函数生成 DOCX,reporter.py 仅作为兜底方案。


🔴 铁律:WebAPI 无数据时付费内容占位策略

当服务端量化引擎返回空数据(APIKey无效或额度用完),严禁使用本地纯数学规则生成虚假预测。

原因: 本地纯数学规则没有历史回测验证、没有准确率追踪、没有自学习积累,输出结果无可靠度评估,等于给客户幻觉数据。

✅ 正确做法:生成付费内容占位章节,而非直接跳过。 章节十一(K线技术分析)、十二(方向预测)、十三(历史规律总结)在检测不到量化数据时,自动生成红色标记的付费内容提示 + 该章节付费后可查看内容的详细描述。这样客户即使没有付费也能看到付费后能获得什么,利于转化销售。

占位展示效果

🔴 【付费内容】十一、K线技术分析  当前APIKey无效或额度已用完,以下为付费后可查看的完整内容预览:
  📌 均线分析:MA5/MA10/MA20/MA60数值及排列形态...
  📌 MACD指标:DIF/DEA数值、金叉/死叉信号...
  📌 ...
💳 购买APIKey:https://www.oraskl.com/ghdata-admin

处理流程

服务端量化引擎请求 → 检测返回数据是否有效
  ├─ 有数据 → 正常生成完整分析(章节十一~十三全内容)
  └─ 无数据 → 生成付费内容占位
               (含红字付费标记 + 内容预览 + 购买链接)

⚠️ 数据注意事项

  • 新浪财经 hq.sinajs.cn 是实时收盘价最可靠来源
  • 腾讯分钟数据 成交量是累计值!需差分计算
  • 同花顺资金流向 收盘价可能不准确,须用新浪验证
  • 股票代码: 60xxx/68xxx=上海,00xxx/30xxx=深圳
  • 今日K线(todayKline): 盘中必传(客户端自拉腾讯API实时K线,18:00前DB无今日数据);收市后可不传(18:00日更新服务已将今日K线写入DB)
  • K线图(LINE_CHART): 仍需通过 generate_kline_chart 工具生成PNG(工具内部自拉腾讯API)
  • 技术指标/信号/规律/准确率: 均由服务端统一计算(POST /api/klineanalyze),客户端不再本地计算
  • 无数据=无价值: 降级版(lite)对用户毫无意义,要么拿全数据出完整版,要么不出
  • 🔴 禁止硬编码: 任何代码和规则中不得出现针对某只股票的特化数据(如 eps_est=0.26 这种特定股票的EPS、行业描述、行业PE/PB均值等)。所有数据必须从API实时获取或从已有数据动态计算(如 EPS = price / PE)。SKILL.md 中的示例必须使用通用占位符,不得出现具体股票名称。

DOCX 报告数据单位人性化

字段 原始单位 报告展示单位
volume 股 手(÷100)
amount 元 万元(÷10000)或亿元(÷100000000)
流通市值/总市值 元 亿元

📄 风险提示与免责声明

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

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

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