Install
openclaw skills install @songxf1024/stock-deep-report生成个股三维深度分析单页HTML报告。支持A股、港股、美股,从基本面、新闻面、资金面、技术面、估值、同行对比、股东结构等多个维度进行全面分析,输出精美可打印的HTML报告。触发关键词:三维深度分析、个股分析报告、股票深度报告、生成股票HTML报告、Deep Stock Analysis Report。
openclaw skills install @songxf1024/stock-deep-report数据采集(AI 做):调 API + WebSearch,实时判断和补充缺失数据,输出标准 JSON
HTML 生成(脚本做):references/build.py 读取 JSON,用内置模板渲染完整 HTML
⚠️ 不要把数据采集写成脚本——API 调用、新闻搜索、情绪判断、同行筛选这些步骤需要 AI 实时决策,脚本做不到。
根据用户提供的股票名称或代码,自动采集多维度数据,生成一份精美的单页 HTML 深度分析报告,可直接用浏览器打开、打印或分享。
报告包含 17 个主章节(SEC 01–17):
| SEC | 章节 | 核心内容 |
|---|---|---|
| 01 | 基本面分析 | 营收/净利润/毛利率/ROE/研发费用率,核心指标卡片 |
| 02 | 历年财务指标 | 近3年年度数据表(营收/净利润/毛利率/ROE/EPS) |
| 03 | 新闻面(近30天) | 新闻情绪标注(正面🟢/中性🟡/负面🔴)+ 情绪统计 |
| 04 | 综合评分 | 环形评分(4维度)+ 投资建议 |
| 05 | 资金面分析 | 近5日主力净流入 + 当日资金拆解(超大单/大单/中单/小单) |
| 06 | 技术面(完整指标) | RSI/MACD/MA/布林带/KDJ/量比,含信号标注 |
| 07 | 业务与机构调研 | 产品收入拆分 + 最新机构调研Q&A全文 |
| 08 | 估值与相对表现 | 历史估值通道(PS/PB近1年分位)+ 指数对比(Alpha) |
| 09 | 同行对比 | 同行PE/PB/营收/净利润对比表 |
| 10 | 股东结构 | 前十大股东(持股比例+较上期变动) |
| 11 | 融资融券与北向资金 | 融资余额/融券余量(若适用)+ 北向持股占比/变化趋势 |
| 12 | 分析师评级与一致预期 | 券商评级分布、一致目标价、近期评级变动 |
| 13 | 解禁日历与分红回购 | 限售股解禁时间表、历史分红记录、回购进展 |
| 14 | 大宗交易与龙虎榜 | 近30日大宗交易记录、龙虎榜上榜记录及席位动向 |
| 15 | 风险提示 | 具体风险点 + 非投资建议声明 |
| 16 | 数据来源 | 各维度数据来源说明表 |
| 17 | 🤖 AI 综合点评 | AI 综合全部信息给出一句话总评、核心逻辑、优势/风险两栏、分类型投资者建议(保守/稳健/进取)、操作策略(买点/目标/止损/仓位)、5大跟踪信号、结语 |
⚠️ 重要:东方财富 API 可能需要浏览器 cookie 或 IP 白名单,在当前环境中可能不可用。优先使用
web_fetch工具访问东方财富网页,解析 HTML 表格数据。
第1步:识别股票代码和市场
| 代码开头 | 市场 | 行情URL前缀 | 数据URL前缀 |
|---|---|---|---|
| 000-001 | 深圳主板 | sz | sz |
| 002-003 | 深圳中小板 | sz | sz |
| 300-301 | 深圳创业板 | sz | sz |
| 600-601 | 上海主板 | sh | sh |
| 603-605 | 上海主板 | sh | sh |
| 688 | 上海科创板 | sh | sh |
| 430/830-831 | 北交所 | bj | bj |
| 00700 | 港股 | hk | hk |
| AAPL | 美股 | us | us |
第2步:构建各维度数据 URL
根据 eastmoney_guide.md,以下是经过验证的东方财富 URL 模板:
| 数据维度 | URL 模板 | 说明 |
|---|---|---|
| 股票详情页 | https://quote.eastmoney.com/{market}{code}.html | 实时行情、估值指标(若返回 302,跟随重定向到 https://quote.eastmoney.com/unify/cr/{secid} 的新版页面) |
| 个股资料(F10) | https://emweb.securities.eastmoney.com/pc_hsf10/pages/index.html?type=web&code={market}{code} | 公司概况、财务分析、股东研究 |
| 财务分析 | {F10_URL}#/cwfx | 利润表、资产负债表、现金流量表 |
| 股东研究 | {F10_URL}#/gdyj | 前十大股东、机构持仓 |
| 资金流向 | https://data.eastmoney.com/zjlx/{code}.html | 主力资金净流入、超大单/大单/中单/小单 |
| 融资融券 | https://data.eastmoney.com/rzrq/detail/{code}.html | 融资余额、融券余量(仅适用于融资融券标的) |
| 沪深港通持股 | https://data.eastmoney.com/hsgtcg/stock.html?scode={code} | 北向/南向资金持仓变化(仅适用于沪深港通标的) |
| 公司公告 | https://data.eastmoney.com/notices/stock/{code}.html | 近30天公告列表 |
| 个股新闻 | https://so.eastmoney.com/news/s?keyword={股票名称} | 近30天新闻 |
| 研究报告 | https://data.eastmoney.com/report/stock/{code}.html | 券商研报、分析师评级 |
| 限售股解禁 | https://data.eastmoney.com/dxljcx/{code}.html | 解禁时间表 |
| 分红配送 | https://data.eastmoney.com/dividend/{code}.html | 历史分红记录 |
| 公司回购 | https://data.eastmoney.com/bgsj/{code}.html | 回购进展 |
| 大宗交易 | https://data.eastmoney.com/bbsj/{code}.html | 大宗交易记录 |
| 龙虎榜 | https://data.eastmoney.com/lhb/{code}.html | 龙虎榜上榜记录、席位买卖 |
| 股权质押 | https://data.eastmoney.com/gpzy/{code}.html | 大股东质押情况 |
第3步:使用 web_fetch 获取数据
1. 调用 web_fetch 工具,URL 填入上表中的对应地址
2. 在 prompt 中说明需要提取的数据字段
3. 示例:
- "提取页面中的实时价格、涨跌幅、成交量、市值、PE、PB"
- "提取最近5年的营业收入、净利润、毛利率数据"
- "提取前十大股东名称、持股比例、较上期变动"
⚠️ 注意:以下 API 可能需要在浏览器环境中运行(需要 cookie),如果调用失败,请立即切换到
web_fetch方式。
https://push2.eastmoney.com/api/qt/stock/get?secid={secid}&fields=f43,f44,f45,f46,f47,f48,f57,f58,f162,f163,f167,f168,f169,f170,f171
{secid} 格式:沪市/科创板=1.{代码},深市/创业板=0.{代码}1.688620(安凯微,科创板)https://push2his.eastmoney.com/api/qt/stock/kline/get?secid={secid}&fields1=f1,f2,f3,f4,f5,f6&fields2=f51,f52,f53,f54,f55,f56,f57,f58&klt=101&fqt=1&beg=20260101&end=20261231&lmt=120
klt=101:日K线fqt=1:前复权lmt=120:最近120个交易日https://push2.eastmoney.com/api/qt/stock/fflow/daykline/get?secid={secid}&fields=timestamp,netAmount,netPct,addRate,minusRate,close
{股票名} 分析报告 site:eastmoney.com OR site:cninfo.com.cn{股票名} 评级 目标价 研报{股票名} 专利 技术突破⚠️ 实测结论(2026-07 更新):东方财富 push2 / push2his API 在 curl 直连时经常返回 403 / 空数据(防爬 + 需要 cookie / IP 白名单)。web_fetch 是当前最可靠的入口。
若 K 线 API 不可用(技术指标降级方案):
tech.*_note 里注明"估算值",不要留空接受以下输入格式:
| 输入示例 | 识别结果 |
|---|---|
安凯微 / 安凯微(688620) | A股,secid=1.688620 |
600519 / 贵州茅台 | A股沪市,secid=1.600519 |
00700 / 腾讯控股 | 港股,secid=116.00700 |
AAPL / 苹果 | 美股,secid=105.AAPL |
代码映射规则:
1.{code}0.{code}1.{code}116.{code}105.{symbol}若用户只提供股票名称,先用东方财富搜索接口解析 secid:
https://searchapi.eastmoney.com/api/suggest/get?input={name}&type=14&token=DHASFYDKSVDKNAFE
并行采集以下所有维度,采集完毕后将数据保存为 JSON 文件(路径:/tmp/stock_data.json)。
完整数据 JSON 体积通常 6-10 KB,包含 20+ 字段。不要用 Write 工具一次性写入超长 content——实测超过约 5 KB 时会触发 file_path expected string, but received undefined 之类的校验异常。
推荐做法(分块 Python 脚本):
/tmp/build_json.py,d = {} → 逐块 d["fin_items"] = [...] → d["news"] = [...] → ... → json.dump(d, open("/tmp/stock_data.json","w"), ensure_ascii=False, indent=2)d = json.load(open(...)) → 更新字段 → 重新 dump,避免覆盖。优点:绕开 Write payload 限制、避开 JSON 转义地雷(双引号/斜杠/emoji)、便于随时补充字段。
*_note 中注明"估算值"搜索新闻(近30天):
query: "{股票名称} 股票 最新消息 2026"
topic: news
搜索分析师评级:
query: "{股票名称} 分析师评级 目标价 研报"
topic: news
搜索专利/技术动态:
query: "{股票名称} 专利 技术突破 2026"
topic: news
| 字段 | 验证规则 |
|---|---|
price | 必须为正数,否则标注"数据异常" |
change_pct | 应在 [-15%, +15%] 范围内(正常交易日),否则需核实 |
mktcap_y | 应为数字(单位:元),转换为亿/万亿展示 |
rsi | 应在 [0, 100] 范围内 |
pe | 亏损公司应为 null 或负值 |
| 日期字段 | 应为 YYYY-MM-DD 格式 |
JSON 格式(嵌套结构,与 references/build.py 一致):
{
"report_date": "2026-07-03",
"stock": {
"name": "安凯微",
"code": "688620",
"market": "A股科创板",
"secid": "1.688620",
"badge": "科创板 · 半导体 · AI芯片",
"company": "芜湖安凯微电子技术股份有限公司"
},
"quote": {
"price": 15.67,
"change_pct": 1.88,
"change_amt": 0.29,
"mktcap_y": 3100000000,
"ps": 11.5,
"pb": 4.82,
"low_52w": 10.00,
"high_52w": 17.45,
"ytd_pct": 25.63,
"rsi": 78.71
},
"fin_items": [
{"label": "营业收入 (2026Q1)", "val": "1.50亿", "sub": "同比 +47.2%", "note": "2025年报:5.08亿", "color": "blue"},
{"label": "归母净利润 (2026Q1)", "val": "-0.12亿", "sub": "", "note": "亏损收窄", "color": "red"},
{"label": "毛利率 (2026Q1)", "val": "26.8%", "sub": "↑ 修复中", "note": "2025年报:23.94%", "color": "purple"},
{"label": "研发费率 (2025)", "val": "28.16%", "sub": "行业很高", "note": "研发费用/营收", "color": "amber"},
{"label": "资产负债率", "val": "12.3%", "sub": "", "note": "财务稳健", "color": "green"},
{"label": "每股净资产 (BPS)", "val": "3.25元", "sub": "", "note": "PB=4.82x,溢价较高", "color": "blue"}
],
"fin_table": {
"headers": ["年度", "营收(亿)", "同比", "净利润(亿)", "同比", "毛利率", "ROE", "EPS(元)"],
"rows": [
{"cells": ["2024年报", "5.27", "-7.9%", "-0.57", "-311.5%", "18.3%", "-3.8%", "-0.15"]},
{"cells": ["2025年报", "5.37", "+1.9%", "-1.40", "-147.2%", "13.6%", "-10.3%", "-0.36"]},
{"cells": ["<b>2026Q1</b>", "<b>1.50</b>", "+47.1%", "-0.20", "+11.2%", "<b>26.8%</b>", "-1.5%", "-0.05"], "highlight": true}
],
"note": "2025年营收同比+1.9%,净利润由-0.57亿扩大至-1.40亿。2026Q1营收同比+47.1%,毛利率修复至26.8%,亏损幅度收窄。",
"trend": [
{"icon": "📈", "title": "营收趋势", "color": "green", "text": "2019→2024 营收CAGR ~25%;2026Q1同比+47.1%,修复势头较强。"},
{"icon": "📉", "title": "净利润趋势", "color": "red", "text": "2022年起持续亏损;2026Q1亏损收窄,拐点待确认。"}
]
},
"news": [
{"date": "2026-07-02", "title": "...", "sentiment": "neutral", "tag": "中性"}
],
"news_summary": "近30天情绪总结文字",
"score": {
"total": 4.8,
"label": "观望等待",
"advice": "建议等待回调至 ¥12~13 区间再关注",
"items": [
{"label": "基本面", "score": 5.0, "color": "amber"},
{"label": "新闻面", "score": 7.0, "color": "green"},
{"label": "资金面", "score": 3.0, "color": "red"},
{"label": "技术面", "score": 3.5, "color": "amber"}
]
},
"flow": {
"today_net": -1203,
"bars": [
{"label": "今日主力净额", "val": -1203, "unit": "万", "sign": "流出"},
{"label": "今日主力净比", "val": -5.35, "unit": "%", "sign": "流出"}
],
"detail": "📊 近5日主力净流入:<span class='down'>-5717万</span><br>📋 融资融券:暂未纳入标的"
},
"tech": {
"rsi": 78.71,
"rsi_note": "超买区 (>70),警惕回调",
"macd": "0.897 金叉",
"macd_note": "DIF>DEA,多头信号",
"kdj": "K=82 D=71 J=95",
"kdj_note": "K,D已进入高位",
"boll": {"u": 16.82, "m": 14.31, "l": 11.80, "note": "当前价 15.67,接近上轨"},
"ma": {"ma5": 15.12, "ma20": 13.29, "note": "价格站上所有均线"},
"vol_ratio": 1.32,
"vol_note": "今日成交量略高于近5日均量",
"alpha_index_name": "科创板指数",
"alpha": [
{"days": 3, "stock": 8.2, "index": 3.1, "alpha": 5.1},
{"days": 5, "stock": 12.4, "index": 4.8, "alpha": 7.6},
{"days": 10, "stock": 18.9, "index": 6.2, "alpha": 12.7},
{"days": 20, "stock": 33.96, "index": 9.8, "alpha": 24.2}
]
},
"products": [
{"name": "AI SoC芯片(物联网+AI眼镜)", "pct": 55, "color": "blue"},
{"name": "蓝牙音频芯片", "pct": 25, "color": "purple"},
{"name": "视觉处理芯片", "pct": 12, "color": "amber"},
{"name": "思澈SF系列(新)", "pct": 8, "color": "green"}
],
"products_note": "* 收入占比根据2025年报产品分类及调研记录估算,非精确披露",
"survey": {
"date": "2026-06-25",
"orgs": "中信证券、华夏基金、广发基金等38家",
"qas": [
{"q": "Q1:AI眼镜芯片的进展如何?", "a": "公司AI眼镜芯片已完成投片,目前处于客户验证阶段,预计2026年Q3有订单落地。"},
{"q": "Q2:与同行相比,公司芯片的竞争优势?", "a": "..."},
{"q": "Q3:毛利率的修复节奏?", "a": "..."}
]
},
"valuation": {
"ps": 11.5,
"ps_pct": 85,
"pb": 4.82,
"pb_pct": 72,
"note": "📏 PS=11.5x 处于近1年85%高分位,已反映较多AI预期;PB=4.82x处于72%分位,溢价偏高。"
},
"index_alpha": {
"rows": [
{"label": "近5日 Alpha", "val": 7.6},
{"label": "近10日 Alpha", "val": 12.7},
{"label": "近20日 Alpha", "val": 24.2},
{"label": "近60日 Alpha", "val": 18.5}
],
"warning": "近20日相对科创指超额收益达24.2%,距30%异动披露阈值仅差约5.8个百分点,需密切关注监管动态。"
},
"peers": {
"headers": ["公司", "代码", "PE(TTM)", "PB", "PS(TTM)", "营收(最近)", "净利润(最近)"],
"rows": [
{"cells": ["安凯微", "688620", "亏损", "4.82x", "11.5x", "5.08亿", "-0.50亿"], "highlight": true},
{"cells": ["全志科技", "300458", "~45x", "~3.8x", "~4.2x", "~18亿", "~1.2亿"]},
{"cells": ["瑞芯微", "603893", "~55x", "~6.5x", "~8.0x", "~32亿", "~2.8亿"]},
{"cells": ["晶晨股份", "688099", "~62x", "~4.1x", "~5.5x", "~58亿", "~5.1亿"]}
],
"note": "💡 安凯微PS(11.5x)高于同行均值(~5.9x),反映市场对其AI芯片转型的高预期;但净利润仍亏损,需持续跟踪盈利拐点。"
},
"holders": [
{"rank": 1, "name": "安凯技术(芜湖)有限公司", "note": "控股股东", "pct": "15.66%", "pct_color": "blue", "chg": "不变", "chg_color": "muted"},
{"rank": 2, "name": "凯瑞达(芜湖)投资有限公司", "note": "一致行动人", "pct": "7.25%", "pct_color": "blue", "chg": "不变", "chg_color": "muted"},
{"rank": 3, "name": "Primrose Capital Limited", "note": "外资", "pct": "4.82%", "pct_color": "muted", "chg": "+0.12%", "chg_color": "green"},
{"rank": 5, "name": "中国建设银行-华夏国证半导体ETF", "pct": "1.87%", "pct_color": "muted", "chg": "-0.35%", "chg_color": "red"}
],
"holders_note": "数据来源:2026年一季报,持仓变化为相较2025年年报",
"risks": [
"公司尚未盈利,若AI芯片订单落地不及预期,短期继续亏损概率高",
"RSI(14)=78.71已进入超买区,技术面回调压力较大",
"近20日股价相对科创指超额收益+24.2%,接近30%异动披露阈值,需警惕监管风险",
"PS(TTM)=11.5x处于近1年85%高分位,估值已反映较多AI预期,若预期落空有回调风险",
"科创板流动性较主板差,大资金进出可能产生较大冲击成本",
"一致行动协议已于2026-07-02到期,部分股东股份解除限售,关注潜在减持压力"
],
"sources": [
{"dim": "实时行情/市值/PS/PB", "source": "东方财富 push2 API", "note": "secid=1.688620"},
{"dim": "年度财务数据", "source": "东方财富 ZYZBAjaxNew API", "note": "emweb.securities.eastmoney.com"},
{"dim": "主力资金流向", "source": "东方财富 fflow API", "note": "push2.eastmoney.com/api/qt/stock/fflow"},
{"dim": "K线/技术指标", "source": "东方财富 K线 API + 本地计算", "note": "push2his.eastmoney.com/api/qt/stock/kline/get"},
{"dim": "近30天新闻情绪", "source": "WebSearch", "note": "关键词:股票名+回购/调研/芯片,近30天"},
{"dim": "机构调研详情", "source": "同花顺/公司公告", "note": "参与机构、Q&A全文"},
{"dim": "同行估值对比", "source": "东方财富 API + WebSearch", "note": "PE/PB/PS 来自实时行情"},
{"dim": "前十大股东", "source": "WebSearch + 公司季报", "note": "2026Q1 一季报"},
{"dim": "近期公告", "source": "WebSearch + 东方财富公告API", "note": "近30天公告列表"}
],
"ai_analysis": {
"overview": "一句话总评(可含 <b> 标签)",
"thesis": "核心投资逻辑,2-4 段,用 <br> 分行",
"strengths": ["优势1(可含<b>)", "优势2", "优势3", "优势4", "优势5"],
"weaknesses": ["风险1", "风险2", "风险3", "风险4", "风险5"],
"advice_by_profile": [
{"profile": "🛡️ 保守型投资者", "stance": "建议回避", "tone": "red", "advice": "..."},
{"profile": "⚖️ 稳健型投资者", "stance": "观望等待", "tone": "amber", "advice": "..."},
{"profile": "🚀 进取型投资者", "stance": "小仓位跟踪", "tone": "green", "advice": "..."}
],
"action_plan": {
"ideal_entry": "¥13.0 - 14.0",
"current_stance": "¥16.62 属高位,追高性价比低",
"target": "短期 ¥18-19 / 中期 ¥22-25",
"stop_loss": "破 ¥13 或 Q2 增速跌破 +25%",
"position": "单只不超过总仓位 5%"
},
"triggers": {
"watch": ["🎯 2026Q2 财报兑现", "🎯 新一代 SoC 发布", "🎯 大客户订单", "⚠️ 解禁减持", "⚠️ 主力资金"]
},
"ending": "总结性寄语,包含 <b> 强调标签"
}
}
关键格式说明:
quote.mktcap_y:总市值,单位元(不是亿)。换算示例:37410000000 → 显示 "374.1 亿"(build.py 内部 ÷1e8);3100000000 → "31 亿"。fin_items:6个核心财务指标卡片,每个有 label/val/sub/note/colorfin_table.rows[].cells:表格行文本。若整行需要强调,用 highlight: true 让 build.py 自动加粗背景色;不要在 cell 内再嵌 <b> 造成双重强调(除非只想突出单个字段)fin_table.trend:趋势分析,2个卡片(营收趋势/净利润趋势)flow.today_net:今日主力净额,单位万元(不是元)flow.bars:资金面柱状图数据,每个有 label/val/unit/signflow.detail:资金面详细说明(可包含 HTML 标签)tech.alpha:相对指数 Alpha 数据,数组,每个有 days/stock/index/alphatech.alpha_index_name:Alpha 对比的指数名称,根据股票所属市场自动设置:A股主板/创业板用"沪深300",科创板用"科创板指数",港股用"恒生科技指数",美股用"纳斯达克"products:产品收入拆分,每个有 name/pct/color,pct 是百分比数字(0-100)survey.qas:机构调研 Q&A,每个有 q/avaluation.ps_pct / pb_pct:近1年分位数(0-100)holders[].pct:带百分号的字符串(如 "15.66%")holders[].pct_color / chg_color:"blue"/"red"/"green"/"amber"/"purple"/"muted"holders[].chg:规范为四选一 —— "不变" / 带符号数值字符串("+0.12%" / "-0.35%")/ "新进" / "减持"。避免 "新进/加仓" 这类多义值risks:风险提示数组,每个元素是一段文字sources:数据来源数组,每个有 dim/source/notemargin:融资融券与北向资金(SEC 11),结构:
"margin": {
"is_margin_target": true, // 是否为融资融券标的
"is_hk_connect": true, // 是否为沪深港通标的
"margin_balance": "12.50亿", // 最新融资余额(字符串,含单位)
"margin_balance_chg": "+5.2%", // 较上期变化
"margin_trend": "近5日融资余额持续上升,杠杆资金做多意愿强",
"short_selling": "1200万股", // 最新融券余量
"hk_connect_pct": "2.35%", // 北向资金持股占比
"hk_connect_chg": "+0.15%", // 较上期变化
"hk_connect_trend": "北向资金近30日持续加仓"
}
若非融资融券标的:
is_margin_target: false,函数自动显示"暂非融资融券标的";科创板/H股类似处理。
analyst:分析师评级与一致预期(SEC 12),结构:
"analyst": {
"rating_count": {"买入": 8, "增持": 3, "中性": 1, "减持": 0},
"consensus_target": "47.00", // 一致目标价(字符串,含单位元)
"target_high": "63.00",
"target_low": "35.00",
"recent_ratings": [
{"date": "2026-04-01", "org": "西南证券", "rating": "买入", "target": "63.00"},
{"date": "2026-03-15", "org": "中信证券", "rating": "买入", "target": "52.00"}
],
"note": "12家机构一致推荐,目标价区间35-63元"
}
corporate_actions:解禁日历与分红回购(SEC 13),结构:
"corporate_actions": {
"lockup": [
{"date": "2026-10-15", "shares": "1200万股", "pct": "1.5%", "type": "首发原股东限售"}
],
"dividend_history": [
{"year": "2025", "amount": "10派2.00元", "yield": "0.5%"}
],
"buyback": "截至2026Q1,公司尚未实施回购计划",
"note": "下一次大规模解禁在2026年10月,关注股东减持压力"
}
block_lhb:大宗交易与龙虎榜(SEC 14),结构:
"block_lhb": {
"block_trades": [
{"date": "2026-06-15", "price": "35.20", "vol": "50万股", "amount": "1760万", "premium": "-1.2%", "buyer": "机构专用"}
],
"lhb_records": [
{"date": "2026-04-22", "reason": "日涨幅偏离值达7%", "net_buy": "8500万", "main_buyer": "机构专用"}
],
"note": "近30日大宗交易以机构买入为主,龙虎榜上榜2次,机构净买入"
}
ai_analysis:AI 综合点评(SEC 17),可选但强烈推荐生成
overview:一句话总评(可含 <b> 标签)thesis:核心投资逻辑,2-4 段用 <br> 分行strengths[] / weaknesses[]:核心优势/风险列表,各 3-5 条advice_by_profile[]:分类型投资者建议数组,每项包含 profile(含 emoji 的类型名)/ stance(态度标签)/ tone(red/amber/green/blue)/ advice(具体建议)action_plan:操作策略,可选字段 ideal_entry / current_stance / target / stop_loss / positiontriggers.watch[]:后续需关注的信号列表(3-6 条,可用 🎯 / ⚠️ 前缀)ending:结语,AI 总结性寄语⚠️ HTML 转义必读(2026-07 经验教训)
build.py内部会对所有用户提供的文本字段自动调用esc()转义& < >三字符,避免破坏 HTML 结构。但以下内容必须保持原样不被转义:
字段 允许的 HTML 标签 说明 ai_analysis.overview/thesis<b>,<br>,<i>AI 加粗强调 ai_analysis.advice_by_profile[].advice<b>,<br>,<i>段落内强调 ai_analysis.triggers.watch[]<b>信号强调 ai_analysis.ending<b>,<br>,<i>结语强调 fin_table.rows[].cells[]<b>...</b>单 cell 加粗 fin_table.trend[].text无(纯文本) 趋势说明 news[].title无 新闻标题 survey.qas[].q/a无 调研问答 risks[]无 风险文字 holders[].name无 股东名 flow.detail<b>,<span class="up/down">,<br>资金说明 peers.note无 同行说明 绝对禁止在文本中直接出现:
- 原始的
<或>符号(如MA5<MA20)→ 会被esc()转成<,用户看到的也是字面字符,不会破坏布局- 未配对的 HTML 标签(
<MA20=445>这种伪标签)→ 一定要用全角符号<>或MA5小于MA20替代&单独使用(不是&)→ 必须先转义AI 写入 JSON 时的规范:
- 想加粗用
<b>xxx</b>,会被保留- 想换行用
<br>,会被保留- 想表达比较关系:用文字 "MA5 小于 MA20" 或 "MA5<MA20" 中的
<会被转义为<,这是正确行为
根据以下维度计算综合评分(满分10分):
| 维度 | 评分标准 |
|---|---|
| 基本面 | 营收增速>30% +2;毛利率>30% +1.5;净利润为正 +2;ROE>10% +1.5;研发费用率>15% +1;最高5分 |
| 新闻面 | 正面>负面 +2;机构调研积极 +2;无重大负面 +2;中性偏正面 +1;最高7分(归一化到10分制) |
| 资金面 | 近5日主力净流入 +2;当日主力净比>0 +1.5;超大单净流入 +1.5;融资余额上升 +1;最高5分 |
| 技术面 | RSI<70(非超买)+1.5;MACD金叉 +2;股价在MA20上方 +1.5;量比>1 +1;最高5分 |
综合评分 = 基本面×0.3 + 新闻面×0.2 + 资金面×0.25 + 技术面×0.25
投资建议阈值:
将评分结果加入 JSON 的 score 字段,重新保存 /tmp/stock_data.json。
ai_analysis)在计算完评分后,基于已采集的全部维度信息(基本面、新闻、资金面、技术面、估值、同行、股东、机构调研),生成 SEC 13 的 AI 综合点评。要求:
<b> 强调<br> 分行tone 用颜色区分,各自给出立场(stance)和具体动作写作口吻:像一位有观点、说人话的资深行研分析师,避免流水账、避免"综上所述"式官腔。允许在 HTML 文本里使用 <b>、<br>、emoji。
将结果写入 JSON 的 ai_analysis 字段,重新保存 /tmp/stock_data.json。
重要:不要直接在对话中输出 HTML 代码,用脚本生成。
运行 skill 目录下的 references/build.py:
python3 ~/.workbuddy/skills/stock-deep-report/references/build.py /tmp/stock_data.json {输出路径}
build.py 会:
/tmp/stock_data.json输出路径格式:{工作目录}/{code}_{name}_三维深度分析报告_{YYYYMMDD}.html
build.py 已包含:
___CSS___ 占位符 + replace())present_files 工具交付 HTML 文件{股票名} 限售股解禁 补充提示若 PE(TTM) 为 null(亏损),报告中:
—(亏损)报告最下方(SEC 15)必须包含以下声明:
⚠️ 非投资建议声明 本报告数据来源于东方财富、同花顺等公开信息,力求准确但不保证完整性。报告中的评分、价格区间、投资建议等内容仅供参考,不构成任何证券投资建议或投资决策依据。股市有风险,投资需谨慎。
用户输入:
帮我生成一份「个股三维深度分析报告」单页 HTML,分析安凯微(688620)。
执行流程:
1.688620/tmp/stock_data.json(Step 1)references/build.py 生成 HTML(Step 3)输出文件:
{工作目录}/688620_安凯微_三维深度分析报告_{日期}.html
| 问题 | 原因 | 解决方案 |
|---|---|---|
| CSS 样式不生效,页面全是文字 | CSS 花括号被写成 {{ }} | build.py 已用 ___CSS___ 占位符处理,检查 replace() 逻辑 |
| HTML 文件不完整,浏览器无法打开 | 脚本被截断 | build.py 是独立 .py 文件,直接用 Python 运行 |
| 近5日主力净流入为0或异常 | API 返回的是当日数据 | 使用 push2his.eastmoney.com/api/qt/stock/fflow/daykline/get |
| 北向资金数据为空 | 股票未纳入沪股通/深港通标的 | 报告中标注"暂未纳入标的",不显示空数据 |
| 同行对比数据不准确 | 同行选择不当 | 优先选主营业务最相近的上市公司 |
build.py 报错 | JSON 字段缺失 | 检查 /tmp/stock_data.json 是否包含所有必需字段 |