A股炒股选股量化工具 - 16维数据深度剖析股票真实价值,筛选优质标的。自学习引擎越用越准,摸清庄家操盘习惯,精准预判涨跌方向。预测方向准确率可查,历史准确率自动统计。自动生成分析报告+K线趋势图。选股无忧,量化辅助决策。
特点说明🧠自学习量化引擎每只股票60W+历史信号回测,输出历史匹配率,不只是数据,告诉**"过去准不准"**📊17维全量数据实时行情·K线·MACD/KDJ/RSI·资金流向·机构持仓·融资融券·高管变动·研报·财务三表·分红·解禁📈自动规律挖掘5类规律图谱:支撑/阻力位(触碰次数)、大涨后回调概率、大跌后反弹特征、MACD趋势判定💎ETF四象联动独家板块级资金流向×个股走势联动分析,判断是"板块共振"还是"独立行情"🔗研报交叉验证券商覆盖统计、EPS一致性分歧度、今日评级动态,判断市场共识方向📝一键DOCX报告自动生成15章完整结构化分析报告,含K线图嵌入,可直接保存和分享
支持的请求类型:
请求示例说明分析 601899返回17维全量数据+量化分析+信号+历史匹配率600600 青岛啤酒 简要分析返回核心要点,不生成DOCX600000 资金面怎么样仅分析资金流向+ETF四象联动+机构持仓生成报告 002455生成完整DOCX报告券商怎么看 601899研报观点验证+评级统计688981 盘前做TETF盘后信号+T+1盘后因子
本技能 仅在用户明确涉及股票/ETF 分析意图时激活,普通聊天话题("看看"、"怎么样"、"随便看看"等无股票语义的日常对话) 不得触发。
判断标准(满足其一才算明确意图):
不满足上述条件时: 不调用任何 WebAPI,按普通对话回复,避免消耗付费额度。
json
{
"skills": {
"entries": {
"ghdata_analyze": {
"config": {
"api_key": "",
"webapi_url": "",
"webapi_timeout": 30,
"doc_dir": "./doc"
}
}
}
}
}
配置项默认值说明api_key``""付费API密钥,必填。 用户购买后在此填入。 仅从 ~/.ghdata/ghdataapikey 文件读取,❌ 不支持 settings.jsonwebapi_url``""WebAPI 地址(付费用户获取,购买后提供)webapi_timeout``30HTTP 请求超时(秒)doc_dir``./doc报告输出目录
配置生效规则(优先级从高到低):
- 上述
config配置(仅URL/超时,不含APIKey)- 本地文件
~/.ghdata/ghdataapikey( APIKey唯一来源)- 自动生成GUID兜底(免费体验用)
⚠️ 环境变量
GHDATA_API_URL/GHDATA_TIMEOUT和settings.json仅用于配置URL和超时,不读APIKey。⚠️ APIKey 铁律: APIKey 只允许 从
~/.ghdata/ghdataapikey这一个文件读取和写入。不读settings.json,不读环境变量。删除该文件 → 自动生成随机GUID → 服务端验证失败 → 降级为免费预览模式。
本技能运行需要以下权限,安装/授权前请知悉:
权限用途范围🌐 网络访问调用 WebAPI(行情/分析/研报/资金流)、腾讯/新浪行情源、平台 token 接口仅 HTTPS 请求,不建立本地监听📂 本地文件读写~/.ghdata/ghdataapikey(APIKey 唯一存储)、 ~/.ghdata/db.ini(可选数据库配置,未配置则不用)、报告输出目录仅 ~/.ghdata/ 与配置指定目录, 不扫描其他路径🔑 环境变量读取GHDATA_API_URL / GHDATA_TIMEOUT(URL/超时配置,不读 APIKey)只读,不写入💳 支付链接生成token 获取失败时返回购买页链接( 不含 APIKey,防日志泄露)链接仅为平台购买页,不含敏感凭证
不做什么: 不主动连接任何数据库( db_config/ research_utils 等直连工具 不属于技能功能,已从发布包移除);不收集或外传本地文件内容;不在 URL 中携带完整 APIKey。
本技能的配置(APIKey、WebAPI地址等)在内部自动完成初始化, 无需调用方做任何操作。直接发分析请求即可。
在每次向用户输出分析结果前(包括首次交互、每次生成报告、每次展示分析结论),LLM必须在最前方展示以下风险提示:
⚠️ 风险提示:本技能为公开历史数据的统计与查询工具, 仅提供数据统计方法与历史数据查询结果,本身不生成任何分析结论。所有分析结论均由您接入的大语言模型(LLM)基于技能提供的历史数据自行生成,与技能本身无关。所有分析结果均基于历史数据计算, 不构成任何投资建议,不预测未来走势。股市有风险,投资需谨慎。过往表现不代表未来收益。
禁止以任何形式暗示或明示:
LLM输出措辞强制对照表:
❌ 禁止使用✅ 必须使用判势、综合判势、判断趋势信号方向、综合信号预测、预判、涨跌范围预测、T+1预测历史参考、参考区间、T+1历史参考准确率、历史准确率匹配率、历史匹配率最佳、最差、最强、最弱历史统计最高、历史统计最低优秀、良好、一般、较差(评分)偏高、中等偏上、中等、偏低评级为XX评分参考为XX策略参考、操作参考历史统计、历史规律需警惕、可关注、不宜、需注意(操作暗示)偏弱、偏强(信号描述)安全垫、防御价值股息率参考、稳定性参考容易回升、容易反弹、反弹属性、反弹需求、反弹动力、偏反弹、大概率会、概率偏高/偏低历史统计中偏多/偏空,比例偏高/偏低评级参考、判断依据评分参考、参考依据具吸引力、值得关注、承压、下跌空间、有支撑偏高、中性、偏空(信号描述),股息率参考持有(建议语境)、注意风险、不宜、需警惕、企稳偏强、偏弱(信号描述)共振、综合共振、多周期共振多周期综合信号、多周期合成信号可信、可信程度参考置信度、参考级别买入、卖出、加仓、减仓、止损、止盈仅限数据字段描述(如龙虎榜买卖席位)
⚠️ 本表也约束代码输出文本:
reporter.py、analyzer.py等模块中涉及输出文本的硬编码字符串同样适用以上规则,不能仅靠 LLM 自觉合规。
⚠️ API数据分类名输出规则:当展示WebAPI返回的模式分类名时(如"大跌后反弹特征"),需将其中的"反弹"替换为"偏多"描述。示例:
大跌后反弹特征→大跌后偏多特征,反弹属性→偏多属性
⚠️ "偏反弹"——绝对禁止词:任何时候不得用"偏反弹"描述历史规律方向。即使API原始数据包含"0/1=0%反弹"等字样,展示时也必须改为"偏多"/"偏空"描述。若数据本身的结论是"历史统计中大跌后偏多比例偏高",则表述为"大跌后历史统计偏多"。 正确:
大跌后历史规律偏多(均值+5.14%)✅ 错误:大跌后历史规律偏反弹(均值+5.14%)❌
⚠️ API字段名翻译规则:WebAPI返回的英文/中文字段名需按以下规则翻译后再输出,禁止直接照搬:
latestPrediction→最新信号参考accuracy→匹配率(注意双口径:accuracy.all/period30/period60为 参考区间命中率(±1%窄区间,苛刻口径,辅助展示);directionAll/direction30/direction60为仅统计有方向倾向预测的方向判定,样本可能很少)voteDetail.方向匹配率→方向匹配率( 主指标:3档符号判定 全部/60日/30日,格式 {"all":{"c","t","r"},"d60":...,"d30":...})rangeForecast→参考区间predictDate→参考日期prediction/predict出现 → 一律替换为信号/参考direction→信号方向voteDetail→各规则投票明细- 任何包含"预测""预判"的字段名 → 改为"参考""信号"
⚠️ 输出后处理强制规则:在你完成全部分析文本生成后, 必须调用一次
sanitizer.sanitize(你的输出文本)进行最终合规过滤。此函数会自动替换所有红线词。示例:python
from ghdata.sanitizer import sanitize final_output = sanitize(your_full_output_text)
每次分析一只股票,必须完成以下三阶段:
text
阶段 A:数据采集 ─→ 阶段 B:量化分析 ─→ 阶段 C:报告输出
HTTP直连公开API POST WebAPI分析API 生成DOCX报告+K线图
(新浪/腾讯/东方财富) (技术指标/信号/统计) (17维/评分/信号统计)
方式: 调用 ghdata/data_fetcher.py 中的函数,通过本地 HTTP 直连新浪/腾讯/东方财富等公开 API 获取原始数据。单次约 0.5~2s,支持并行调用, 速度快于 WebAPI 全量拉取。
#数据维度数据源函数1实时行情新浪 + 腾讯双源交叉fetch_realtime(code)2日K线数据腾讯 ifzq.gtimg.cnfetch_kline(code, days)3今日分时腾讯 qt.gtimg.cn 分钟数据fetch_today_tick(code)4资金流向同花顺 stockpage.10jqkafetch_money_flow(code, days)5融资融券东方财富 DataCenterfetch_margin_trading(code, days)6机构持仓东方财富 DataCenterfetch_main_holdings(code)7股东增减持东方财富 DataCenterfetch_shareholder_trade(code)8高管持股变动东方财富 DataCenterfetch_executive_change(code)9财务数据东方财富 DataCenterfetch_financial(code)10资产负债表东方财富 DataCenterfetch_balance_sheet(code)11利润表东方财富 DataCenterfetch_income_statement(code)12现金流量表东方财富 DataCenterfetch_cashflow(code)13分红历史东方财富 DataCenterfetch_dividend(code)14券商研报东方财富 DataCenterfetch_research_report(code)15机构调研东方财富 DataCenterfetch_institutional_survey(code)16限售解禁东方财富 DataCenterfetch_unlock_data(code)17行业信息东方财富 DataCenterfetch_industry_info(code)
增强数据(量化分析使用,通过 WebAPI 获取):
- 行业ETF资金流 →
db_manager.get_etf_flow(code, days=15)— 近N日ETF资金净流入/出- ETF数据统计(含盘后) →
db_manager.get_etf_stats(...)— 盘后活跃度排名- 券商研报汇总 →
db_manager.get_research_summary(code)— 机构评级/EPS预测- EPS一致性预期 →
db_manager.get_eps_consistency(code)— 分歧度判定- 券商覆盖统计 →
db_manager.get_broker_ranking(code)— 买入率- 今日评级动态 →
db_manager.get_rating_wind_today(code)— 今日研报更新
Python 代码(直接在 CMD 中执行):
python
import sys, os
sys.path.insert(0, os.path.dirname(__file__))
from ghdata import data_fetcher as fetcher
from ghdata import config
from concurrent.futures import ThreadPoolExecutor, as_completed
def collect_all(code: str) -> dict:
"""17维数据一次性采集(全部HTTP直连,8路并行,零外部依赖)"""
# 定义所有采集任务:(key, 函数, 参数...)
tasks = [
("realtime", fetcher.fetch_realtime, code),
("kline", fetcher.fetch_kline, code, 120),
("tick", fetcher.fetch_today_tick, code),
("moneyFlow", fetcher.fetch_money_flow, code, 10),
("margin", fetcher.fetch_margin_trading, code, 10),
("holdings", fetcher.fetch_main_holdings, code),
("shareholder", fetcher.fetch_shareholder_trade, code),
("executive", fetcher.fetch_executive_change, code),
("financial", fetcher.fetch_financial, code),
("balance", fetcher.fetch_balance_sheet, code),
("income", fetcher.fetch_income_statement, code),
("cashflow", fetcher.fetch_cashflow, code),
("dividend", fetcher.fetch_dividend, code),
("research", fetcher.fetch_research_report, code),
("survey", fetcher.fetch_institutional_survey, code),
("unlock", fetcher.fetch_unlock_data, code),
("industry", fetcher.fetch_industry_info, code),
]
data = {}
with ThreadPoolExecutor(max_workers=8) as pool:
futures = {pool.submit(fn, *args): key for key, fn, *args in tasks}
for fut in as_completed(futures):
key = futures[fut]
try:
data[key] = fut.result()
except Exception as e:
data[key] = None
return data
# 增强数据(调用WebAPI获取,必须纳入分析):
from ghdata import db_manager as db
etf_flow = db.get_etf_flow(code, 15) # 行业ETF资金流
rpt_summary = db.get_research_summary(code, 90) # 研报汇总
eps_data = db.get_eps_consistency(code, 180) # EPS一致性
broker_data = db.get_broker_ranking(code, 90) # 券商覆盖
today_rpt = db.get_rating_wind_today(code) # 今日动态
采集完数据后,调用 WebAPI 进行量化分析:
python
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 → 自学习规律跟踪摘要
# 【重要】以下数据必须在分析中纳入:
# ① ETF 行业资金流 — 资金面分析时必须调用
etf_flow = db.get_etf_flow(code, days=15)
# 返回: { matched_etfs: [{code, name}], etf_flow: {code: [{date, fund_size, net_inflow}]}, summary:"..." }
# 用途:判断个股所属行业的ETF资金态度——板块净流入=资金支撑,净流出=板块压力
# 即使matched_etfs为空也要说明"该行业暂未配置ETF映射"
# ② 券商研报数据 — 基本面/估值分析时必须调用
research_summary = db.get_research_summary(code, days=90)
# 返回格式化文本:机构名、评级、EPS/PE预测值
eps_consistency = db.get_eps_consistency(code, days=180)
# 返回格式化文本:覆盖机构数、平均EPS、标准差、变异系数、分歧度
broker_rank = db.get_broker_ranking(code, days=90)
# 返回格式化文本:覆盖该股的券商、篇数、买入率
rating_today = db.get_rating_wind_today(code)
# 返回格式化文本:该股今日是否有研报更新
WebAPI 地址通过配置中的 webapi_url 设置。
python
from ghdata import reporter
from ghdata import chart
# 1. 生成 K 线图
chart.generate_kline_chart(klines, ...)
# 2. 生成 13 章完整 DOCX 报告(自动采集全部17维数据,无需手动传入)
reporter.generate(code)
# 可选:如果已通过API采集了数据,可以传入 extra_data 覆盖自动采集的结果
# reporter.generate(code, extra_data={
# "holdings": {"points": [...], "conclusion": "..."},
# "money_flow": {"points": [...], "conclusion": "..."},
# })
用户输入股票代码或名称时,LLM执行三阶段分析流程(采集→量化→报告)。
用户说LLM执行说明"分析600028"、"看看中国石化"阶段A+B:采集+量化 → 输出精简报告⚡默认输出精简版(见下方), 不生成15章全文"中国石化怎么样"、"600028走势"阶段A+B:采集+量化 → 输出精简报告同上"帮我全面分析一下这只股票"、"出完整报告"、"详细分析"阶段A+B+C:完整15章报告完整报告耗时较长,调用方需设置 timeout≥180s"生成分析报告"、"出报告"、"出文档"阶段A+B→C:生成DOCX调用 reporter.generate() 生成docx文件"帮我分析这几只股票"、"600028和601857对比"逐只执行 → 输出精简报告多只按顺序处理"K线图"、"走势图"阶段A→chart:生成K线图调用 chart.generate_kline_chart()"这只股票估值怎么样"、"估值合理吗"阶段B → 估值分析展示估值分位/杜邦分析/F-Score"技术面多周期怎么看"阶段B → 多周期分析展示日线周线综合信号"北向资金在买还是卖"、"龙虎榜有这只吗"阶段B → 资金面画像展示北向/龙虎榜/ETF四象联动/封板/回购/板块"券商怎么看这只股票"、"最近有研报吗"阶段B → 券商研报观点展示近期覆盖/EPS一致性/机构观点验证"全面分析所有A股"、"帮我扫一下市场"条件筛选TOP10 → 逐只深度分析 → 市场概览不逐只分析5000只"看涨的股票有哪些"、"选几只优质股"条件筛选(方向=偏多, 评分高)按评分排序TOP20
当用户要求 全面分析一只股票(如"分析一下"、"看看"、"怎么样"等常规分析请求),请严格按以下15章结构呈现分析结果。
执行方式:执行 Python 脚本完成完整的三阶段分析(采集→量化→报告),然后按以下结构逐章输出。
python
from ghdata import data_fetcher as fetcher, db_manager as db, eval_engine
# 阶段 A:本地 HTTP 采集原始数据(8路并行,~2秒完成)
from concurrent.futures import ThreadPoolExecutor, as_completed
code = "688502" # 替换为待分析的股票代码
# 并行采集17维数据(每个HTTP 0.5~1.5s → 并行后总计 ~2s)
tasks = [
("realtime", fetcher.fetch_realtime, code),
("kline", fetcher.fetch_kline, code, 200),
("tick", fetcher.fetch_today_tick, code),
("moneyFlow", fetcher.fetch_money_flow, code, 10),
("margin", fetcher.fetch_margin_trading, code, 10),
("holdings", fetcher.fetch_main_holdings, code),
("shareholder", fetcher.fetch_shareholder_trade, code),
("executive", fetcher.fetch_executive_change, code),
("financial", fetcher.fetch_financial, code),
("balance", fetcher.fetch_balance_sheet, code),
("income", fetcher.fetch_income_statement, code),
("cashflow", fetcher.fetch_cashflow, code),
("dividend", fetcher.fetch_dividend, code),
("research", fetcher.fetch_research_report, code),
("survey", fetcher.fetch_institutional_survey, code),
("unlock", fetcher.fetch_unlock_data, code),
("industry", fetcher.fetch_industry_info, code),
]
data = {}
with ThreadPoolExecutor(max_workers=8) as pool:
fut_map = {pool.submit(fn, *args): key for key, fn, *args in tasks}
for fut in as_completed(fut_map):
try: data[fut_map[fut]] = fut.result()
except: data[fut_map[fut]] = None
# 阶段 B:量化分析(WebAPI + 本地计算)
analysis = db.kline_analyze(code) # ③服务端:技术指标/信号/规律/匹配率/预测
kline = data.get("kline")
signals = eval_engine.analyze(None, kline) if kline else {} # ④本地:7规则投票
etf = db.get_etf_flow(code, 15) # ⑤ETF行业资金流
research = db.get_research_summary(code, 90) # ⑥券商研报
# 阶段 C:输出报告(按下方15章格式逐章输出)
各阶段分工:
⚠️ 以下分析结果仅为数据统计与技术指标展示,不构成任何投资建议。股市有风险,入市需谨慎。
text
📊 {股票名称}({代码}) 量化分析报告
分析日期:{当前日期}({星期几}) | 今日表现:{涨跌幅} {🚀/📈/📉/❌}
项目内容公司名称{名称}股票代码{代码}({沪市/深市})所属行业{行业}地域板块{地域}总市值{总市值} 亿元主营构成{主营业务简述}概念标签{概念标签}
{公司简介(1-2句概括)}
指标数据最新价{价格} 元 {🚀📈/📉}今日开盘{开盘价}今日最高{最高价}今日最低{最低价}涨跌幅{涨跌幅%} {✅/❌}成交量{成交量}手成交额{成交额} 亿元换手率{换手率}%PE(TTM){倍数}PB{倍数}流通市值{流通市值} 亿元总市值{总市值} 亿元
{今日表现一句话点评}
{主力持仓数据表格,含机构类型、持仓市值、占流通股比例、增减仓变化} {无数据时写:暂无近期机构持仓数据}
4.1 日级资金流向
日期主力净流入(万)涨跌幅{近5-10日数据}
4.2 行业ETF资金流 关联ETF:{名称(代码)}
日期净流入(元)方向{近5日数据}
▶ ETF × 个股四象分析: ETF方向:{净流入/流出}(±X万元) 个股趋势:{上涨/下跌}(±X%) 结论:{象限I共振↑ / 象限II撑杆跳 / 象限III独立走强 / 象限IV共振↓}
日期融资余额(亿)当日净买入(万){近5日数据}
{融资余额趋势一句话}
6.1 高管持股变动 {高管增持/减持记录表,无数据写:近期无高管持股变动记录}
6.2 股东增减持 {股东增持/减持记录表,无数据写:近期无大股东增减持记录}
7.1 业绩概览
报告期营收(亿)营收同比净利润(亿)利润同比EPSROE毛利率{近4-6期数据}
{业绩解读一句话}
7.2 资产负债表关键指标 资产负债率:{X}% | 流动比率:{X}% | {财务结构评价}
7.3 现金流量表 {经营性/投资性/筹资性现金流概览}
估值指标数值参考PE(TTM){X}倍{高/中/低}分位PB{X}倍{评价}股息率{X}%{评价}
{估值综合判断}
9.1 近期研报
日期机构评级核心观点{近期研报数据}
9.2 EPS一致性预期 覆盖机构数:{X}家 | 平均EPS(2026E):{X}元 | 变异系数:{X}%(高度一致/基本一致/分歧较大)
9.3 机构观点验证 {✅/⚠️} 券商一致性:{X}%机构看好(市场共识{高/低}) {✅/⚠️} EPS预期:一致/分歧 {✅/⚠️} 估值验证:当前价{X}元,低于/高于估值中枢
报告期方案股息率(按现价){近5年分红数据}
{分红评价}
有数据时(付费版): 均线系统:MA5={X} MA10={X} MA20={X} MA60={X} | {多头/空头/缠绕} MACD:DIF={X} DEA={X} 红/绿柱={X} | {金叉/死叉/偏多/偏空} KDJ:K={X} D={X} J={X} | {偏多/中性/偏空} RSI(14):{X} | {超卖/超买/中性}
信号汇总: 偏多{X} · 偏空{X} · 中性{X} → {方向}
预览版(仅展示原始数据,不作任何解读):
指标数值MA5{X}MA10{X}MA20{X}MA60{X}MACD DIF{X}MACD DEA{X}MACD 红/绿柱{X}KDJ K{X}KDJ D{X}KDJ J{X}RSI(14){X}量比{X}
🔒 数字都摆在这了,但你知道现在该买还是该卖吗?
付费版包含: • 7项技术指标逐一分析:偏多√ 偏空× 中性△ — 结论一目了然 • 均线多头/空头/缠绕?你在什么位置入场?鱼头、鱼身还是鱼尾? • MACD金叉是真突破还是假信号?用历史数据验给你看 • 当前KDJ/RSI位置历史上怎么走的?第二天匹配率是多少?
有数据时(付费版):
📈 涨跌方向汇总:跌 ▼(综合评分 -0.35) 细化信号:震荡偏空(近30天正确率11.5%)
时段方向匹配率(主指标)全部历史{X}/{X} = {X}% {进度条}近60日{X}/{X} = {X}% {进度条}近30日{X}/{X} = {X}% {进度条}
📎 参考区间命中率(辅助口径:预测±1%窄区间是否盖住实际涨跌,对高波动股苛刻,仅供辅助参考):全部 {X}% | 近60日 {X}% | 近30日 {X}%
数据来源: 方向匹配率优先读 latestPrediction.voteDetail 的 方向匹配率 键( {"all":{"c","t","r"},"d60":...,"d30":...},3档符号判定:涨=偏多/震荡偏多→实际涨,跌=偏空/震荡偏空→实际跌,震荡→实际|涨跌|≤1%);无该键时用 accuracy.directionAll/direction30/direction60(仅统计有方向倾向的预测)。区间命中率读 accuracy.all/period30/period60。
T+1方向:涨 ▲(细化:{方向}) | 中期方向:{方向}
无数据时(预览版):
🔒 这些信号综合起来意味着什么?机构就是拿着这些数据做决策的,你看不到。
付费版包含: • 7项技术指标逐一分析:偏多√ 偏空× 中性△ — 结论一目了然 • 均线多头/空头/缠绕?你在什么位置入场?鱼头、鱼身还是鱼尾? • MACD金叉是真突破还是假信号?用历史数据验给你看 • 当前KDJ/RSI位置历史上怎么走的?第二天匹配率是多少?
有数据时(付费版): {每条规律:名称 + 出现次数 + 后3日均值 + 结论} {如:大跌后反弹特征:验证52次,后3日平均-1.81%,偏弱}
无数据时(预览版):
🔒 大涨后怎么走、暴跌后该割还是该扛?数据告诉你答案
付费版包含: • 大涨超过3%后,历史上第二天、第三天怎么走?匹配率多少? • 暴跌超过3%后,抄底还是止损?历史规律给你参考 • 关键支撑位和阻力位在哪?涨到什么位置容易受阻? • 历史相似K线形态匹配,帮你判断当前在走什么剧本
维度权重评分加权得分依据基本面35%{X}/10{X}{依据简述}估值面20%{X}/10{X}{依据简述}技术面15%{X}/10{X}{依据简述}资金面20%{X}/10{X}{依据简述}情绪面10%{X}/10{X}{依据简述}总分100%{X}****{评级}
动态生成,基于持股结构、行业特征等自动生成
{风险项1} ⚠️ | {说明} {风险项2} ⚠️ | {说明} ...
💡 {股票名称}({代码}) 综合参考
📊 方向:{偏多/偏空/中性} | 评分参考:{X}/10({评级})
① 基本面({评级}){✅/⚠️} — {一句话} ② 估值面({评价}) — {一句话} ③ 技术面({评价}) — {一句话} ④ 资金面({评价}) — {一句话} ⑤ 情绪面({评价}) — {一句话} ⑥ 研报观点({评价}) — {一句话}
📌 参考要点:{1-2句总结}
⚠️ 免责声明: 以上分析结果仅为基于历史数据和公开信息的量化展示,不构成任何投资建议,不预测未来走势。股市有风险,投资需谨慎。过往表现不代表未来收益。
报告章节数据来源获取方式一、公司概况data_fetcher → company_info本地HTTP二、实时行情data_fetcher → realtime_price本地HTTP(新浪+腾讯双源)三、机构持仓db_manager.get_holdings()WebAPI四、资金流向+ETFdb_manager.get_etf_flow()WebAPI五、融资融券db_manager.get_margin()WebAPI六、高管大股东data_fetcher + db_manager本地HTTP + WebAPI七、财务分析data_fetcher 财报四表本地HTTP(东方财富)八、估值分析data_fetcher → 实时行情PE/PB本地HTTP九、券商研报db_manager.get_research_summary()WebAPI十、分红历史data_fetcher → fetch_dividend本地HTTP十一、K线技术db.kline_analyze → indicators+signalsWebAPI(服务端计算)十二、信号匹配db.kline_analyze → accuracyWebAPI十三、历史规律db.kline_analyze → patternsWebAPI十四、综合评分db.kline_analyze → prediction/scoreWebAPI十五、风险提示行业+持股结构动态生成—
注意:
data_fetcher),速度快db.kline_analyze),服务端算db_manager 代理reporter.generate(代码)text
---
## 🤖 自学习系统(LLM 指令)
技能的自学习能力由服务端(WebAPI + 日更新服务)自动运行,**无需用户手动触发**。
### 自学习机制说明
每日18:00定时任务:
text
### 用户可以怎么问
| 用户说 | LLM回答 |
|:-------|:--------|
| "这只股票的自学习情况怎么样" | 调用 `db.kline_analyze(code)` 提取 learningSummary 回复 |
| "记录了多少次匹配" | 查看 accuracy_tracking 表统计 |
| "匹配率多少" | 查看 experience 表的 accuracy_rate |
| "有没有跟踪记录" | 从数据中展示学习摘要(规律验证记录) |
### 自学习内容展示格式
📚 中国石化 自学习跟踪摘要
📊 方向匹配率:234/348 = 67.2% ✅ 全部历史匹配234次,共348次统计
📉 大跌后反弹特征:验证52次 最近验证:1/5=20%反弹 3日平均反弹:-1.81% 历史规律参考:大跌后偏弱
📈 大涨后回调特征:验证43次 最近验证:2/4=50%回调 3日平均:-1.72% 历史规律参考:大涨后偏回调
📌 趋势:自学习系统每日18:00自动更新
text
### 📈 个股自学习画像(LLM 展示格式)
调用 `db.kline_analyze(code)` 后,返回结果中包含 `stockProfile` 字段,LLM应按以下格式展示:
━━━ ① 估值分析 ━━━ 📊 估值分位 当前股价位于近5年X%分位,估值偏(低/适中/高)
📊 杜邦分析 净资产收益率X.X%(较上期+/-X.X%) 核心驱动:净利率 / 资产周转 / 权益乘数
📊 F-Score 基本面评分 F-Score: X/9 (优/良/差) 评分因子:盈利能力 / 杠杆 / 流动性 / 效率
━━━ ② 多周期技术分析 ━━━ 📊 多周期信号 日线: 偏多/偏空/中性 周线: 偏多/偏空/中性 综合信号: (偏多/偏空/震荡)
📊 波动率分析 目前处于布林带(上轨/中轨/下轨)位置 带宽X%(扩张/收缩),波动率(大/小)
📊 量价背离分析 当前(无/有底背离/有顶背离)信号 (背离说明,如有)
━━━ ③ 个股行为画像 ━━━ 📊 财报前后表现 2026-04-29 净利润+28.2% ✅利好 后5日:-0.19% 2026-03-23 净利润-36.8% ❌利空
📊 指数相关性 与上证同涨同跌率:46.6%(近60日)
📊 放量缩量行为 放量后3日平均:-4.34%(14次)→ 放量易跌 缩量后3日平均:+3.68%(10次)→ 缩量易涨 ✅
📊 技术信号有效性 MACD金叉:有效次数不足 MACD死叉:有效(1/1)
━━━ ④ 资金面画像 ━━━ 📊 北向资金 近5日净买X亿元,方向偏(流入/流出)
📊 龙虎榜 上榜情况:(是/否)买入/卖出席位X家,净额+X万
📊 ETF资金流(联动分析) 关联ETF: (名称) ETF近X日净流X亿元,方向(流入/流出) ▶ ETF × 个股四象分析: ① ETF方向:净流入/流出(±X万元) ② 个股趋势:上涨/下跌(±X%) ③ 结论:(象限I共振↑ / 象限II撑杆跳 / 象限III独立走强 / 象限IV共振↓) ④ 解读:ETF方向与个股走势的联动说明
📊 封单数据 该股今日/近期是否封板?封单资金X亿,强度(强/中/弱)
📊 回购计划 正在实施/已完成的回购计划X份,金额合计X亿
📊 板块轮动 所属(行业板块)当前强弱排名第X,资金净流方向偏(流入/流出)
━━━ ⑤ 相似K线匹配 ━━━ 🔍 当前形态匹配到5段历史相似走势 匹配后5日平均涨跌:-0.19% 结论:历史相似形态下偏弱
━━━ ⑥ 错误模式诊断 ━━━ ⚠️ 最大连错4次 | 偏多方向失败6次 | 偏空方向失败12次 诊断:偏空方向失败率高,历史统计中偏多比例偏高
━━━ ⑦ 季节性规律 ━━━ 📅 12月: 平均+0.75% 胜率50% — 历史均值最高月份 5月: 平均-0.60% 胜率11% ⚠️ 历史均值最低月份
━━━ ⑧ 券商研报观点 ━━━ 📊 近期覆盖 券商名称 评级 EPS预测 XXXX证券 买入/增持 EPS=X.XX->X.XX->X.XX
📊 EPS一致性预期 覆盖X家机构,平均EPS X.XXX,偏差X.X%(高度一致/基本一致/分歧大)
📊 机构观点验证 ✅ 券商一致性:X%机构买入/增持(市场共识高) ✅ / ⚠️ EPS预期:高度一致/存在分歧 ✅ 估值验证:当前价X.XX元,低于/高于合理估值中枢X.XX元 📊 综合可信度:X/4项正面信号(可信度高/部分可信/分歧大)
text
### 免责声明:以上为数据分析结果,不构成任何投资建议。股市有风险,投资需谨慎。
💡 (股票名称)综合研判 📊 涨跌方向:偏多(涨▲,细化:偏多,评分+X,匹配率X%) ① 估值分析:近5年X%分位,估值偏(低/适中);F-Score X/9 基本面(优/良/差) ② 多周期技术:日线中性、周线偏空,综合偏弱;布林带宽X%扩张,波动大 ③ 个股画像:缩量后偏强(后3日均值+3.68%),放量警惕(后3日-4.34%) ④ 资金面:北向近期净(流出/流入)X亿;板块排名X;ETF四象→(共振/独立/承压) ⑤ 研报观点:X家券商X%看好,一致性(高/中/低),估值中枢X元 ⑥ 历史相似形态:偏弱(-0.19%) ⑦ 错误诊断:偏空失败12次,历史统计中偏多比例偏高 ⑧ 季节性:12月统计最高(+0.75%),5月统计最低(-0.60%) 📌 参考:当前偏空但偏空失败率高,历史统计中偏多比例偏高,缩量后偏稳
text
---
## 🗺️ 全市场扫描(批量筛选)指令
当客户想批量看多只股票(如全市场、某个板块、涨幅榜等),**不要逐只调 kline_analyze 做深度分析**(5000只逐个分析既不现实也无必要),应使用筛选 API 做批量筛选,然后对筛选结果的前几只做深度分析。
### 客户输入匹配
| 用户说 | LLM操作 | 规则 |
|:-------|:--------|:-----|
| "所有A股全面分析一下" | 先筛选 → 再深度分析前10只 | 按评分排序取TOP10 |
| "帮我看看整个市场" | 先筛选 → 汇总市场统计 | 列出各方向占比、评分均值等 |
| "哪些股票看涨?" | 条件筛选(方向=偏多) | 按评分排序取TOP20 |
| "选几只优质股" | 条件筛选(评分高+匹配率高) | 评分≥7 + 匹配率≥60% TOP10 |
| "强势股有哪些" | 动量筛选 | 近20日涨幅+均线多头+MACD金叉 |
| "超跌反弹的股票" | 反转筛选 | RSI<30超卖+MACD金叉 |
| "技术面好的股票" | 技术信号筛选 | 均线多头+MACD金叉+放量 |
### 全市场概览展示格式
━━━ 全市场方向分布 ━━━ 📊 偏多 XXX只 (XX%) 📊 震荡偏多 XXX只 (XX%) 📊 震荡 XXX只 (XX%) 📊 震荡偏空 XXX只 (XX%) 📊 偏空 XXX只 (XX%)
━━━ 全市场评分TOP X ━━━ 代码 名称 方向 评分 匹配率 600028 中国石化 偏多 8.2 67.2% ...
text
### 批量筛选执行流程
用户问"全面分析所有股票" ├─ ① 调用 db.screen_stocks(top=10) → 按评分排序取TOP10 ├─ ② 对TOP10逐只做全流程深度分析 ├─ ③ 汇总成「市场概览+TOP10深度分析」回复 └─ ❌ 不逐只分析全部5000只
text
---
## 🎯 数据筛选功能(LLM 指令)
技能支持四种筛选方式,LLM根据用户需求自动匹配合适的方式。
### 四种筛选方式说明
**方式①:条件筛选** — 用现有评分数据快速过滤
- 条件:方向(偏多/震荡偏多)、评分(0-10)、匹配率(%)
- 适用场景:用户说"帮我选几只股票"、"找看涨的"、"评分高的"、"匹配率高的"
- 速度快,适合初步筛选
**方式②:动量筛选** — 筛选近期强势的股票
- 条件:近20日涨幅 > 一定值 + 均线多头排列 + MACD金叉 + 放量
- 适用场景:用户说"涨得好的"、"强势股"、"最近涨得猛的"
- 示例结果:华丰股份 近20日+5.0% 均线多头 MACD金叉 放量1.5倍
**方式③:反转筛选** — 筛选超跌后信号偏正面的股票
- 条件:RSI < 30(超卖) + MACD金叉(底背离信号)
- 适用场景:用户说"超跌反弹"、"跌多了"、"RSI低"
- 示例结果:国光电器 近20日-22.3% RSI=24(超卖) MACD金叉
**方式④:技术信号筛选** — 筛选技术形态偏好的股票
- 条件:均线多头排列 + MACD金叉 + 成交量放大
- 适用场景:用户说"技术面好"、"多头排列"、"金叉"、"放量上涨"
- 示例结果:返利科技 均线多头 MACD金叉 放量2.7倍
### 用户输入匹配表
| 用户说 | 使用方式 | 说明 |
|:-------|:---------|:-----|
| "帮我筛选"、"看看有什么"、"随便看看" | **条件筛选** | 默认查全部,按评分排序 |
| "找看涨的"、"方向偏多的" | **条件筛选** | 过滤方向=偏多 |
| "评分高的"、"优质股" | **条件筛选** | 评分≥5 |
| "涨得好的"、"强势股"、"最近涨得猛的"、"创新高的" | **动量筛选** | 近20日涨幅+均线多头+MACD金叉+放量 |
| "超跌反弹"、"跌多了"、"跌得深的"、"RSI低的" | **反转筛选** | RSI<30超卖+MACD金叉 |
| "技术面好"、"多头排列"、"金叉"、"放量上涨" | **技术信号筛选** | 均线多头+MACD金叉+放量 |
| "都有哪些"、"我想看看" | **条件筛选** | 默认条件 |
### 结果展示格式
📊 条件筛选结果(共 XX 条) 代码 名称 方向 评分 匹配率 600028 中国石化 偏多 8.2 67.2% ...
📈 动量筛选结果(共 XX 条) 代码 名称 方向 评分 近20日涨幅 均线 RSI 匹配原因 605100 华丰股份 偏多 5.0 +5.0% 多头 67.3 近20日+5.0%·均线多头·MACD金叉·放量1.5倍 📌 逻辑:近20日涨幅 + 均线多头 + MACD金叉 + 放量
💥 反转筛选结果(共 XX 条) 代码 名称 方向 评分 近20日涨幅 RSI 匹配原因 002045 国光电器 震荡 2.0 -22.3% 24.4 近20日-22.3%·MACD金叉·RSI超卖(24) 📌 逻辑:RSI超卖(<30) + MACD金叉 + 放量企稳
🔧 技术信号筛选结果(共 XX 条) 代码 名称 方向 评分 近20日涨幅 均线 量比 匹配原因 605100 华丰股份 偏多 5.0 +5.0% 多头 1.5 近20日+5.0%·均线多头·MACD金叉·放量1.5倍 📌 逻辑:均线多头 + MACD金叉 + 量比>1.3
text
### LLM执行代码
```python
from ghdata import db_manager as db
# 条件筛选
r = db.screen_stocks(directions=["偏多"], min_score=5.0, top=10)
# 动量筛选
r = db.advanced_screen(mode="momentum", momentum_chg20=5.0, top=10)
# 反转筛选
r = db.advanced_screen(mode="reversal", reversal_rsi=30, top=10)
# 技术信号筛选
r = db.advanced_screen(mode="techsignal", tech_ma_bullish=True, tech_macd_golden=True, tech_vol_surge=True, top=10)
score 是0-10分制,不是百分制accuracy 是百分比(如67.2%)此结构仅用于 DOCX 报告生成(reporter.generate() 输出格式), LLM 文本分析报告请参考上方 全量分析报告标准格式(LLM必读) 章节。
#章节核心内容展示格式数据源一公司概况主营业务 + 行业地位 + 市值段落WebAPI二实时行情最新价/涨跌/PE/PB/市值表格新浪+腾讯三机构持仓分析机构家数/持股/变动数据表 + analysis_pointsextra_data.holdings四资金流向+ETF板块资金近10日净流入/大单占比 + 关联行业ETF资金流数据表 + analysis_points + ETF板块背景extra_data.money_flow + db.get_etf_flow()五融资融券分析融资余额/净买/占比数据表 + analysis_pointsextra_data.margin_trading六高管及大股东行为增持/减持记录数据表 + analysis_pointsextra_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九券商研报观点9.1近期研报/9.2 EPS一致性/9.3券商覆盖/9.4今日动态/9.5机构观点验证格式化文本(5子节)db.get_research_summary() / eps_consistency() / broker_ranking() / rating_wind_today()十分红历史近年分红方案数据表 + analysis_pointsextra_data.dividend十一K线技术分析均线/MACD/KDJ/RSI/信号总表指标表 + 信号总表WebAPI indicators( 付费预览)十二历史信号匹配统计方向→匹配率→T+1→T+2→周方向+参考依据表格化依据WebAPI prediction( 付费)十三历史规律总结大涨后/大跌后/支撑位/阻力位+自学习摘要场景化展示WebAPI patterns( 付费)十四综合评分5维度加权评分加权总分公式展示本地计算十五风险提示动态风险(行业/技术面/控盘等)列表综合生成
函数适用场景展示方式**analysis_points(标题, [要点列表], 结论=)机构/资金/两融/高管/分红数据表下方 → 编号表格 + 加粗结论行fin_analysis(标题, 段落)**财务四大表解读(业绩/利润/资产/现金流)数据表下方 → 简短段落(1~2句话,白话解读)信号总表技术面综合统一表格 → 汇总行(偏多X/偏空Y/中性Z)
四张财务表(7.1业绩/7.2利润/7.3资产/7.4现金流)每张都必须带有 fin_analysis 解读或结论,不能只有数据表没有下文。每张表结束后都必须有一段白话解读,告诉用户这个数意味着什么。
正确的做法(数据在前,解读在后):
text
┌──────────────┬──────────┬──────────┐
│ 指标 │ 本期 │ 同比 │
├──────────────┼──────────┼──────────┤
│ 营业收入 │ 3500亿 │ +12.5% │
│ 营业利润 │ 420亿 │ +18.3% │
│ 净利润 │ 320亿 │ +52.0% │
└──────────────┴──────────┴──────────┘
▶ 利润表解读:本期净利润320亿,同比大增52%,主要受益于产品价格高位运行和产能提升。盈利能力持续增强,毛利率和净利率均创近年新高。
错误的做法(只有数据没有结论): ❌ 不允许
text
┌──────────────┬──────────┬──────────┐
│ 指标 │ 本期 │ 同比 │
├──────────────┼──────────┼──────────┤
│ 营业收入 │ 3500亿 │ +12.5% │
│ ... │ ... │ ... │
└──────────────┴──────────┴──────────┘
财务报表的 fin_analysis 必须回答三个问题:
技能首次使用自动生成本地标识 Key,保存在 ~/.ghdata/ghdataapikey。
版本每日限额费用🆓 免费版3 次/工具/日免费💰 付费版100 次/工具/日需购买
购买地址: https://www.oraskl.com/ghdata-admin/platform
⚠️ 购买链接使用 短时 token(
?token=xxx),URL 不携带完整 APIKey(v2.2.50 token化)。 LLM 生成报告时,使用analyze()返回的_payment_url字段(已含?token=参数), 不要使用此处的硬编码 URL。
付费后替换文件内容: 将购买的密钥写入 ~/.ghdata/ghdataapikey
使用原则:
db.kline_analyze(code) 验证付费状态后再复用结果;若重新调用仍为 preview: True,则继续按免费预览处理,且可复用当日旧结果避免浪费配额db_manager.analyze_kline(),尤其批量操作时垫高用量text
总分 = 基本面×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%换手率/量比/市场情绪
历史信号匹配统计章节内容必须按以下顺序排列:
text
涨跌方向汇总 → 信号方向统计(结论) → 匹配率(参考置信度) → T+1 → T+2 → 周方向 → 参考依据
符合「客户先看涨跌 → 再看细化 → 结论→支撑」的认知逻辑。
客户看预测数据时 首先关注涨还是跌,因此必须先输出涨跌方向汇总,再输出细化档位:
text
📈 涨跌方向:跌 ▼(综合评分 -0.35)
细化信号:震荡偏空(近30天正确率11.5%)
5档 → 涨跌方向汇总 映射规则(铁律,必须严格遵循):
细化档位(direction)涨跌方向汇总图标偏多涨▲震荡偏多涨(偏弱)▲震荡震荡▬震荡偏空跌(偏弱)▼偏空跌▼
规则:
涨(细化:震荡偏空,近30天正确率11.5%) 格式,直接按此展示;若为旧格式(如 震荡(近30天正确率13.8%)),则按上表映射规则推导涨跌方向text
📈 方向:偏多 🎯 评分:6.5/10 [████████░░░░░░░]
方向:偏多 / 震荡偏多 / 震荡 / 震荡偏空 / 偏空
评分:0~10 分,附进度条
历史信号匹配统计前必须输出历史匹配率,分三时段展示。 主指标为方向匹配率(预测涨/跌/震荡与实际涨跌的一致性:涨=偏多/震荡偏多→实际涨,跌=偏空/震荡偏空→实际跌,震荡→实际|涨跌|≤1%), 参考区间命中率为辅助(±1%窄区间口径苛刻,仅供辅助参考):
text
方向匹配率(主指标):
✅ 全部历史:6/8 = 75.0% [█████████░░░░░░░] (正确数/总数)
⚠️ 近60日:4/7 = 57.1% [███████░░░░░░░░░] (正确数/总数)
❌ 近30日:1/3 = 33.3% [████░░░░░░░░░░░░] (正确数/总数)
📎 参考区间命中率(±1%窄区间苛刻口径):全部 12.5% | 60日 14.3% | 30日 0%
规则:
latestPrediction.voteDetail.方向匹配率(键值 {"all":{"c","t","r"},"d60":...,"d30":...});无该键时用 accuracy.directionAll/direction30/direction60(仅统计有方向倾向的预测,样本可能很少,需注明)accuracy.all/period30/period60,必须注明"±1%窄区间苛刻口径"时段:Z.Z% [███████░░░░░░░] (正确数/总数)做历史信号统计时, 必须同时输出以下三个范围要素:
要素含义示例历史波动参考区间综合判断的合理波动区间(最低最高)6.85 ~ 7.10 元历史波动上沿压力位上方的极限高值区7.05 ~ 7.15 元历史波动下沿支撑位下方的极限低值区6.78 ~ 6.88 元参考置信度本次参考的置信度(0100%)75%
没有范围只有方向 = 无效参考。用户要的是「多少钱能买、多少钱能卖」,不是「涨还是跌」。
text
📅 T+1历史参考:涨 ▲(细化:偏多) 参考置信度:75%
历史波动区间: 6.85 ~ 7.10 元
历史波动上沿: 7.05 ~ 7.15 元
历史波动下沿: 6.78 ~ 6.88 元
历史均值: 6.98 元
📊 短线技术信号偏多
必须包含:
text
📅 T+2历史参考:涨 ▲(细化:偏多) 参考置信度:70%
历史波动区间: 6.80 ~ 7.15 元
历史波动上沿: 7.10 ~ 7.20 元
历史波动下沿: 6.72 ~ 6.82 元
历史均值: 6.98 元
💡 可持票待涨
text
📅 中期信号:涨 ▲(细化:震荡偏多)
✅ MA60上方支撑,中期趋势向上
必须包含周方向(Andy 确认)。
text
参考依据:
┌──────────┬──────────────────────────────────────────┬──────────┐
│ 维度 │ 内容 │ 信号 │
├──────────┼──────────────────────────────────────────┼──────────┤
│ 📐 技术面 │ 均线多头排列 MA5>MA10>MA20 │ 偏多 │
│ 📐 技术面 │ MACD零轴上金叉,红柱扩大 │ 偏多 │
│ 🔍 模式 │ 近3日量价齐升,突破箱体上沿 │ 偏多 │
│ 🛡️ 支撑 │ 20日均线支撑有效,回踩不破 │ 偏多 │
│ ⚠️ 风险 │ RSI进入超买区(72),注意短线回调风险 │ 偏空 │
└──────────┴──────────────────────────────────────────┴──────────┘
3~5条依据,涵盖:技术面 + 模式识别 + 支撑/压力 + 风险因素
用用户秒懂的语言,不用工程师腔:
❌ 旧格式✅ 新格式大涨后回调特征某天突然大涨超过3%,之后3天会怎样?大跌后反弹规律某天突然暴跌超过3%,之后3天能企稳吗?阻力位规律股价涨到这个位置总是过不去?支撑位规律股价跌到这里就跌不动了?
text
🔥 某天突然大涨超过3%,之后3天会怎样?
📈 历史上出现 12次
✅/⚠️ 匹配率 75.0% [███████████░░░░░░░]
总共出现12次 | 符合9次 | 匹配率75.0%
💡 参考:大涨后历史规律偏回调
📌 最近案例:2026-06-15 大涨4.2%,之后3日累计+1.1%
规律说明大涨后回调规律>3%大涨后3日上涨比例低,偏回调大跌后反弹规律<-3%大跌后3日偏多比例高阻力位规律统计历史上攻失败价位支撑位规律统计历史回踩获撑价位回调性质判断MACD绿柱长度+KDJ极端程度区分趋势性下跌vs震荡回调
上述规律由服务端
KlineAnalyzeService.MinePatterns()自动计算。注意: C# 中
??运算符优先级低于-,格式%说明符会×100,已踩坑修复。
API 返回 learningSummary 字段,从 stock_patterns 表读取历史规律记录。
text
📚 规律学习摘要
──────────────────────────────────────────
规律#1(大涨后回调)第5次验证:大涨后3日下跌比例上升 ✅
方向匹配率:68%→75%(+7次验证)
──────────────────────────────────────────
规律#2(大跌后反弹)第3次验证:大跌后反弹有效性稳定 ⚠️
方向匹配率:62%→63%(+2次验证)
pattern_type 分组verifyCount)DB 的 predictions 表没有 t1_direction/ t2_direction/ weekly_direction 数据(PredictorService 只算主方向)。
KlineAnalyzeService 在返回前通过 SubDirectionEstimator 自动推算:
主方向T+1/T+2 推算规则偏多 / 偏空T+1/T+2 跟随主方向震荡偏多除非单日暴跌 >1.8%,才修正为「震荡」震荡偏空除非单日暴涨 >1.8%,才修正为「震荡」震荡根据涨跌幅判断偏向
✅/❌/📈/📉/🔴/🟢 比文字更快传递信息如需生成排版更精美的报告(灵活字体/颜色/布局/多图组合),LLM 可自行编写脚本通过 db.kline_analyze(code) 获取数据后生成 DOCX, reporter.py 仅作为兜底方案。
⚠️ 强制指令(付费状态实时核查,不可省略): 每次获取 WebAPI 数据前,必须重新调用
db.kline_analyze(code)(或db.kline_analyze_v3(code))实时核查当前 APIKey 的付费状态,以本次调用的返回值为准。
❌ 严禁 沿用本会话之前轮次、上一只股票、或上次报告得出的
preview结论——用户可能在此期间已经扫码付款,服务端已将当前 Key 激活❌ 严禁 因为"之前是预览模式"就惯性输出预览版报告;每次分析都必须重新验证
✅ 判断依据永远是 本次
db.kline_analyze()返回值中的preview字段:
preview: True→ 免费预览模式 → 按下方预览规则输出- 无
preview字段(完整数据)→ 付费模式 → 正常输出全量分析用户说"已付款/已购买"后, 必须重新调用一次
db.kline_analyze()验证,不能直接凭用户说法切换模式,也不能沿用旧结论同一次分析中,
analyze()返回的_payment_url与preview均来自本次实时调用,不要混用旧值
预览模式判断: db.kline_analyze 返回的 kline_analyze 块中有 preview: True 时,表示当前为免费预览模式。
⚠️ 强制指令(不可省略):预览模式下,章节十二和十三的末尾必须输出购买链接。 LLM 不得跳过链接、不得自行改写成无链接的纯文本、不得用"付费版内容"替代链接行。 即使你觉得链接占位符未替换, 也必须原样输出
💳 [立即获取 → 股海罗盘APIKey]({_payment_url})这一行。 缺少购买链接 = 用户无法付款 = 严重错误。⚠️ 强制格式指令: 购买链接必须是 可点击的 markdown 链接
[文字](URL),不能是纯文本。
- ✅ 正确:
💳 [立即获取 → 股海罗盘APIKey](https://www.oraskl.com/ghdata-admin/platform/#/subscribe?token=XXXXXXXX)- ❌ 错误:
💳 立即获取 → 股海罗盘APIKey(纯文本,不可点击)
预览模式下的报告规则:
⚠️ 强制指令(章节模板优先于数据): 预览模式下,LLM 不得 自行展示或解读通过
data_fetcher本地HTTP获取的任何K线技术数据、信号、规律、评分等付费内容。即使你本地采集到了这些数据(如MACD/KDJ/RSI数值、均线排列、量比等),也必须 严格按照上述章节规则:
章节十一 → 只能展示原始数值表格, 禁止附上自己的解读
章节十二/十三 → 不得自行填充数据或解读,只能展示 🔒 痛点 + 付费价值列表 + 购买链接
不得在章节十一展示信号汇总、均线多头/空头判断、金叉/死叉等
错误示例(❌ 禁止):"付费用户可查看完整分..." 然后自己画个MACD解读
正确示例(✅):展示数据表 → 🔒 痛点句 → • 列表 → 💳 购买链接
预览章节格式化要点:
章节标题上方用 🔒 标记(如 #### 十二、历史信号匹配统计 🔒)
痛点句加粗( > 🔒 **痛点文案**)
付费价值列表用 •
购买链接使用 {_payment_url} 动态变量(来自 db.kline_analyze() / kline_teaser() 返回的 _payment_url 字段)
[立即获取 → 股海罗盘APIKey]({_payment_url}) → LLM 将 {_payment_url} 替换为 db.kline_analyze() 结果中的实际 URL[立即获取 → 股海罗盘APIKey](https://www.oraskl.com/ghdata-admin) → 缺少 token 参数,付款后无法自动激活!_payment_url 字段格式示例: https://www.oraskl.com/ghdata-admin/platform/#/subscribe?token=XXXXXXXXdb.get_payment_url() 生成( 短时 token,URL 不含完整 Key),不要用 config.show() 输出的掩码版自己拼!_payment_url 始终存在,付费模式下可省略不展示不要用 "暂不展示"、"需付费查看" 等平淡措辞 — 要用痛点驱动的销售语言
{_payment_url} 链接为平台签发的 短时 token 链接( ?token=xxx),用户点击购买后,服务端在订单接口内部解析 token 并激活对应 Key。 不要自己拼链接,不要用掩码后的Key,不要尝试自行拼接 ?apikey=!
DOCX 报告路径: reporter.py 的 generate() 内部通过 _paid_section() 自动处理付费占位,无需手动干预。
hq.sinajs.cn 是实时收盘价最可靠来源generate_kline_chart 工具生成PNG(工具内部自拉腾讯API)/api/klineanalyze),客户端不再本地计算eps_est=0.26 这种特定股票的EPS、行业描述、行业PE/PB均值等)。所有数据必须从API实时获取或从已有数据动态计算(如 EPS = price / PE)。SKILL.md 中的示例必须使用通用占位符,不得出现具体股票名称。字段原始单位报告展示单位volume股手(÷100)amount元万元(÷10000)或亿元(÷100000000)流通市值/总市值元亿元
本技能不生成分析结论。 技能仅负责:
所有分析结论、趋势判断、文字解读均由用户接入的 LLM 自行生成,与技能本身无关。技能不包含任何推荐股票、预测涨跌、建议买卖的逻辑。
⚠️ 强制指令 - 调用方式(供 LLM 执行参考)
使用本技能时请 直接执行本文件中提供的 Python 代码 完成分析, 不要通过
chat_with_agent调用 gh-data 智能体。
- ❌ chat_with_agent → gh-data → 跑Python(慢,额外3~8秒通信开销)
- ✅ 直接跑Python脚本(快,总耗时35秒)
Python:使用本机可用的 Python 3 环境执行下方代码;代码路径:本文件下方完整三阶段代码,复制即可执行。
本技能本身不生成分析结论,所有分析结论由用户接入的LLM基于技能提供的历史数据自行生成。
本报告仅供参考, 不构成任何投资建议。投资者据此操作,风险自担。
数据来源:新浪财经(hq.sinajs.cn)、腾讯财经(qt.gtimg.cn/ifzq.gtimg.cn)、东方财富(datacenter-web.eastmoney.com)、同花顺(stockpage.10jqka.com.cn)
股票投资有风险,历史数据不代表未来表现。不含未来预测、不含投资建议、不含买卖指令。