爱建证券股票基本面复盘工具
下载地址
https://www.zhengdianxue.com/wp-content/uploads/skills/org-07epl2hq--aijian-stock-analysis.zip将提示词发送给你的 AI 安装该 skills
请根据 https://skillhub.cn/install/skillhub.md,安装 @org-07epl2hq/aijian-stock-analysis。爱建证券股票基本面分析与复盘技能,覆盖A股/港股/美股。当用户要求分析某只股票、做个股研究、评估投资价值、对比公司基本面、写证券研究报告,或对已有研判/持仓做复盘(验证此前观点与预测的兑现度、归因成败、沉淀交易纪律)时触发。支持财务三表分析(利润表/资产负债表/现金流量表)、营收和利润构成(分业务/产品拆解)、核心财务指标(毛利率/净利率/ROE/ROIC/杜邦分析/净现金)、估值分析(PE/PS/PEG/PB/EV-EBITDA/DCF/可比公司/历史分位)、行业与竞争格局(波特五力/护城河/产业链位置图示/重要客户与战略合作伙伴/营收地理分布/地缘政治风险)、公司治理与资本运作(股权结构/管理层/分红回购/股权激励/并购重组)。
复盘模式支持价格表现对照、核心判断验证、业绩预测兑现度、成败归因与纪律复盘。投资结论仅输出文字分析与机构结论,不标注买入/增持等评级。数据来源:腾讯自选股 westock-data(结构化行情/财报/估值/研报/股东/公告/宏观)+ NeoData 金融数据(自然语言财报摘要/可比公司/行业产业链/资金流向),必要时 WebFetch 抓交易所与巨潮公告原文。
输出图文并茂的 HTML 报告看板(含数据来源溯源标签与清单),中国股市涨红跌绿配色(爱建证券蓝主色)。还支持对已有一篮子持仓/组合做批量复盘汇总(判断胜率、盈亏胜率、盈亏归因、纪律执行)。
阅读全文 (展开查看完整说明)
概述
爱建证券 · 股票基本面分析与复盘
Overview
面向爱建证券研究与投顾场景,对单只股票进行系统性基本面分析,或对既有研判/持仓做复盘验证。从财务、估值、行业、治理四个维度产出结构化 HTML 报告看板;复盘模式在此基础上把"此前的观点、预测、目标价"与"实际结果"对照,沉淀可复用的认知与纪律。
本技能内置两种工作模式,由用户意图自动切换:
- 模式 A · 个股基本面分析:从 0 把"行情/财报 → 财务/估值/行业/治理 → 结论"跑通,产出研究底稿。
- 模式 B · 复盘(投资逻辑验证):给定一次历史研判(日期 + 核心观点)及其后续实际结果,验证对错、量化兑现度、归因成败、沉淀纪律,既可独立成篇,也可追加在模式 A 报告末尾。
- 模式 C · 组合/持仓批量复盘(Portfolio Review):把多个持仓/历史研判批量导入,自动聚合"判断胜率、盈亏胜率、平均区间收益、目标价达成率",合并归因(做对/做错/漏看)与纪律执行,输出组合层面的认知沉淀报告。
模式 A:个股基本面分析(Workflow)
- 识别公司与市场 — 确定分析标的、市场、代码、行业分类(申万/GICS)
- 采集数据 — westock-data(腾讯自选股)取结构化行情/财报/估值/研报/股东/公告,NeoData 做自然语言财报/行业/可比公司补充,WebFetch 仅补交易所与巨潮公告原文
- 财务分析 — 三表 + 营收利润构成 + 核心指标 + 杜邦拆解 + 红旗排查
- 估值分析 — 相对估值 + 绝对估值 + 业绩预测 + 可比公司 + 历史分位
- 行业与竞争 — 行业格局 + 波特五力 + 护城河 + 产业链 + 客户与合作伙伴 + 营收地理分布 + 地缘政治风险
- 公司治理 — 股权结构 + 管理层 + 分红回购 + 资本运作
- 催化剂与事件日历 — 未来关键事件(财报/产品/解禁/分红)时间锚
- 生成报告 — 结构化 JSON → 运行脚本 → HTML 看板(含可选复盘板块)
模式 B:复盘(投资逻辑验证)
当用户说"复盘一下我之前对某某的分析""上次说会涨/会双击,现在怎么看""这只我拿了一年,复盘下"等时进入本模式。
Workflow:
- 定位原研判 — 确认复盘标的、原分析日期(
subject.date)、原核心观点(subject.thesis)、原数据/来源(subject.source)。若用户给了此前报告 JSON,直接复用其结论与预测值。 - 采集实际结果 — 取复盘时点价格(
price.now_price/now_date)、区间涨跌幅(计算return_pct)、原目标价达成情况(target_hit);若原研判含业绩预测,取已披露财报的实际值(earnings.rows[].actual)算偏离(deviation)。 - 对照验证 — 将每条原判断落成
verdicts[](claim/actual/result对/错/部分对);价格与业绩兑现度分别落入price与earnings。 - 归因与纪律 — 成败归因写入
attribution(right/wrong/missed),交易纪律执行写入discipline(followed/violated)。 - 后续动作 — 把"应该调整的判断、重新测算的锚、下一步跟踪点"写入
next。 - 生成复盘报告 — 与模式 A 共用同一模板与脚本:纯复盘报告只填
company+review;合并报告则在基本面 JSON 中追加review字段,复盘板块自动渲染在"投资结论"之后。
复盘原则:只复盘、不荐股——聚焦"上次哪里看对、哪里看错、为什么、下次怎么改",不输出新的买卖评级。
模式 C:组合/持仓批量复盘(Portfolio Review)
当用户说"把我的持仓批量复盘下""这个组合的观点兑现度怎么样""汇总一下我看对看错的比例"等时进入本模式。
输入为组合复盘 JSON:顶层 portfolio(组合名/日期)+ holdings[],每个持仓含 company、pnl(return_pct/weight/status)与 review(与模式 B 相同结构)。脚本 generate_portfolio_review.py 自动聚合:
- 总览 KPI:复盘持仓数、判断胜率(对 + 0.5×部分对 ÷ 总判断数)、盈亏胜率(正收益占比)、平均区间收益、目标价达成率(达成 + 0.5×部分达成 ÷ 总数)。
- 判断验证分布:对 / 部分对 / 错 的堆叠占比条。
- 判断归因汇总:跨持仓合并
attribution(做对/做错/漏看),按出现频次排序并标注次数。 - 纪律执行汇总:跨持仓合并
discipline(执行到位/违背),标注次数。 - 行业分布:按
company.industry统计持仓笔数。 - 持仓明细复盘:逐笔展开每个持仓的原观点、价格对照、判断验证、归因与后续动作。
Workflow:
- 收集每个持仓的历史研判与当前实际结果,按模式 B 的
review结构逐笔填写(可复用examples/review_only_sample.json的结构)。 - 顶层补充
portfolio信息与各持仓pnl。 - 运行
python scripts/generate_portfolio_review.py <portfolio.json>生成组合复盘报告。
说明:模式 C 复用模式 B 的复盘字段,仅增加聚合与汇总能力,不改变"只复盘、不荐股"原则。
诚实复盘口径(基线日/新纳入标的,重要):若某持仓无历史研判、或研判与复盘同日建立(无跨期时间差),不得硬凑"对/错" verdicts 制造验证假象:
- 该持仓标记为「本期新纳入 · 建立研判基线」,
subject.date填当日; - verdicts 只承载当日已披露事实/状态判断,
result用"对",并在note标注「基线日研判要点(非跨期预测)」;跨期预测性质的内容(如"X 财报将验证…")用"部分对"并标「未到验证时点」; - 组合 KPI 的盈亏胜率/平均收益/目标价达成率在无跨期收益、未到验证点时如实记 0%,交付时向用户说明"真正验证锚 = 后续财报披露日";
- 禁止为凑统计而编造历史预测或"应验/证伪"结论。
参考案例(2026-10-23):平安银行 + 招商银行组合复盘——600001 核实为邯郸钢铁已退市,用户确认替换为 600036 招商银行;两只研判基线均建于当日,verdicts 标"非跨期预测",验证锚=平安三季报 10-24 / 招行三季报 10-31。
Step 1: 识别公司与市场
确认:公司名称、股票代码、交易所、市场(A股沪深北 / 港股 / 美股 / 其他)、行业分类(申万/GICS)。无法确定代码时先通过行情工具搜索。
Step 2: 采集数据
2a. 行情与财报(neodata + westock-data 双源)
本技能统一通过 westock-data 与 neodata-financial-search 取数,不混用其它金融 Skill / 网页抓取(避免口径不一致产生幻觉)。两个源各司其职,同一指标只从一个源取:
- westock-data(腾讯自选股,结构化数据权威入口)—— 主结构化源
- 覆盖:行情快照/市值、三大财报(
finance)、估值指标(PE/PB/PS/股息率等)、主营构成、机构评级/一致预期、研报、股东、分红、公告列表、宏观(macro indicator) - 调用(⚠️ 关键):westock-data 是 Node.js CLI,不在 PATH,不能裸跑
westock-data <command>,需用node直接执行其脚本scripts/index.js:
- 覆盖:行情快照/市值、三大财报(
“bash# 先通过 ToolSearch 加载 westock-data skill,获取其安装目录后赋给 WSKILL(二选一):# WSKILL="<westock-data 内置 skill 目录>" # 加载 skill 后可见实际路径node "$WSKILL/scripts/index.js" quote sh601766 # 行情/市值/估值node "$WSKILL/scripts/index.js" finance sh601766 # 财报三表(lrb/zcfz/xjll)node "$WSKILL/scripts/index.js" report sh601766 # 一致预期/评级/研报node "$WSKILL/scripts/index.js" notice list sh601766 # 公告列表node "$WSKILL/scripts/index.js" macro indicator <指标> --year 2025 # 宏观“
- 建议用 WorkBuddy 托管的 managed
node运行时执行;<WSKILL>为该内置 skill 的安装目录(加载 skill 后即可见实际路径,Windows/macOS/Linux 路径形式不同,无需写死)。 - A 股用
sh/sz前缀(如sh601766),港股hk,美股字母代码 - 命令未记清时先
node "$WSKILL/scripts/index.js" help - ⚠️
quote不支持--fields参数,直接读取完整输出再取所需字段 - 适配:报告所需的结构化数字字段(三表、估值、主营构成、股东、分红、公告)首选此源
- neodata-financial-search(NeoData 自然语言金融搜索)—— 自然语言补充源
- 覆盖七大类:股票/指数/板块/基金/宏观/外汇/大宗;含行情、财报、资金流向、研报评级、公告、行业与产业链数据
- 调用(⚠️ 关键):
- ⚠️ neodata 的
scripts/query.py会把 token 缓存在该 skill 目录下的.neodata_token(SKILLS_DIR即 skill 所在目录)。若内置 neodata skill 安装在只读目录(典型如 Windows 的Program Files下的 WorkBuddy 安装路径),直接运行--save-token会报PermissionError。此时应将该 neodata skill 复制到一个可写目录(如用户级 skills 目录~/.workbuddy/skills/neodata-financial-search)后再运行:
- ⚠️ neodata 的
“bash# 将内置 neodata skill 复制到可写目录(仅首次需要;<内置 neodata skill 目录> 加载 skill 后可见)cp -r "<内置 neodata skill 目录>" "~/.workbuddy/skills/neodata-financial-search"# 用 WorkBuddy 托管的 managed python3 运行(ND 为复制后的 query.py 路径)ND="~/.workbuddy/skills/neodata-financial-search/scripts/query.py" python3 "$ND" --query "中国中车 2025年归母净利润" # 默认 all;纯数字 --data-type api,纯资讯 --data-type doc “
- 凭证:脚本自动管理;仅当输出
TOKEN_MISSING/EXPIRED或 401/403 时,先调用connect_cloud_service取tempToken,再python3 "$ND" --save-token "<tempToken>"重试(最多 1 次)。 - token 落地在可写副本目录下的
.neodata_token,后续无需重复取。 - 适配:财报摘要问答、可比公司对比、行业与产业链数据、资金流向、研报观点汇总,以及 westock-data 未覆盖或更适合自然语言追问的查询
数据分工原则:结构化字段优先 westock-data;自然语言合成 / 跨市场行业数据 / 资金流向优先 neodata;两者都未覆盖的极端缺口,才降级到 2b WebFetch 抓交易所与巨潮原文(且需告知用户数据来源)。
⚠️ 净现金行:多数接口无现成字段,用「货币资金 − 有息负债」自算(两项均需从资产负债表取),并在 key_metrics.note 标注「计算值」与有息负债口径;某年缺失时该年填 null(模板显示" — "),不要估算。
⚠️ 机构预测数据时间过滤(重要):data_consensus/data_rating 会返回所有季度预测,含已过报告期的历史预测。采集后必须过滤,只保留尚未公布财报的未来报告期(排除规则:报告期季度结束日 + 45 天 < 当前日期 → 剔除)。详见 [Step 4](#step-4-估值分析)。
⚠️ 财务数据口径校验(重要):接口带 CurrencyType/CurrencyUnit(如"港币")。港股/海外公司接口可能把财报折算为港币,而公司年报以人民币/美元披露。采集后须核对币种,报告中统一口径并标注(如"营收 1,309 亿元(人民币)")。
⚠️ 利润口径一致性(重要):财务分析与机构一致预期统一使用归母净利润(归属母公司股东部分)。含少数股东损益的"净利润"与"归母净利润"差异可能显著,禁止混用;扣非净利润仅作盈利质量辅助,不用于同比与 PE 计算。所有数值标注币种,表格与文本同步体现。
2b. WebFetch 补充(按需)
neodata / westock-data 不足时,抓取:
- 巨潮资讯网(cninfo.com.cn):年报/季报/公告原文(A 股分部数据主要来源)
- 交易所官网:上交所/深交所/港交所/SEC EDGAR
- 财经媒体:东方财富/同花顺/雪球
原则:机构数据源优先,WebFetch 补充,避免重复抓取。
📎 数据溯源(重要):每项外部数据记录来源,在最终 JSON 维护 sources 注册表(键→{name, url}),各数据项用 source 字段引用。报告自动在数值旁渲染来源标签,底部"数据来源"清单列出全部链接(见 [references/data_schema.md](references/data_schema.md))。
Step 3: 财务分析
读取 [references/financial_metrics.md](references/financial_metrics.md) 获取完整指标体系。核心产出:
- 利润表:近 5 年营收/成本/毛利/归母净利润(主口径,标注币种)/扣非净利润(辅助)
- 营收和利润构成:分业务/产品拆解(占比、增速、盈利差异、集中度)
- 核心指标表:毛利率/净利率/ROE/ROIC/资产负债率/现金流比/现金及现金等价物/净现金(计算值)(近 3 年)
- 杜邦拆解:ROE = 净利率 × 周转率 × 权益乘数
- 红旗排查:利润与现金流背离、应收/存货异常、商誉占比等
- 财务洞察:3-4 条关键发现
营收和利润构成(revenue_mix):指标为横轴列、构成项为纵轴行,末尾合计行。公司未披露分业务利润时,利润三列整体隐藏,禁止编造。详规见 data_schema.md 与 financial_metrics.md。
Step 4: 估值分析
读取 [references/valuation_methods.md](references/valuation_methods.md)。核心产出:
- 估值指标表:PE/PS/PEG/PB 当前值、行业均值、5 年分位、判断
- DCF 测算(数据充分时):WACC、永续增长率、合理估值区间
- 可比公司:3-5 家同行业对比 PE/PS/PB(用
data_quote的codes批量获取) - 业绩预测:机构对未来 1-2 年营收/利润预测,含滚动 12 个月动态 PE(口径见下);外资覆盖充分时补
foreign_banks对比(高盛/大摩/小摩/瑞银/花旗/美银,WebFetch 抓取,禁止编造) - 估值结论:当前估值区间与安全边际
⚠️ 业绩预测时间过滤:只保留未来报告期(季度结束日 + 45 天 ≥ 当前日期)。过滤后无数据 → 板块自动隐藏。
⚠️ 滚动 12 个月动态 PE 口径:PE = 当前市值 ÷ 截至该报告期滚动 12 个月净利润(归母)。季度行 = 已过报告期用实际财报利润 + 未过用预测值;年度行 = 全年预测净利(即 Forward PE)。所有行同量级、可跨行比较,季度/半年行模板加 * 标记。
行业估值选择:消费/医药→PE,银行→PB,科技/SaaS→PS/PEG,周期股→PB,地产→NAV。
Step 5: 行业与竞争格局
读取 [references/industry_analysis.md](references/industry_analysis.md)。核心产出:
- 行业概况(规模/增速/渗透率/生命周期)
- 竞争格局(CR3/CR5、市占率、格局类型)
- 波特五力
- 护城河(类型与强度)
- 产业链定位图示(上游/中游/下游,本公司红色高亮、竞争者黄色高亮)
- 重要客户与战略合作伙伴
- 营收地理分布(境内/海外占比与趋势)
- 地缘政治风险(海外营收占比显著时必做)
Step 6: 公司治理与资本运作
读取 [references/governance_checklist.md](references/governance_checklist.md)。核心产出:股权结构、管理层、分红回购、股权激励、资本运作、治理风险。
Step 7: 催化剂与事件日历
用 catalysts 字段输出未来关键事件(财报日/产品发布/解禁/分红除权/政策窗口),含日期、事件、类型、可能影响。
Step 8: 生成 HTML 报告
⚠️ 生成前必做:JSON 修复 + 结构校验(硬性)
LLM 生成的报告 JSON 常把中文引号写成半角 "(如 这是"强壁垒"的典型折价),导致 json.loads 失败或生成脚本报错。生成报告前必须依次执行:
# 在本 skill 目录下执行(scripts/ 为本 skill 自带脚本,用 WorkBuddy 托管的 managed python3)
python3 scripts/repair_json.py <data.json> # 1) 修复中文半角引号 / 内部 ASCII 引号(原地覆盖,先备份 .bak)
python3 scripts/validate_report_data.py <data.json> # 2) 结构校验([ERROR] 未通过不得擅自生成)validate_report_data.py退出码 1 = 存在阻断级问题(JSON 非法、必填字段缺失、必填 key_metrics 行缺),必须修复后再生成。- 仅 [WARN] 时建议复核但仍可生成;出现 [ERROR] 不得生成。
方式一:脚本生成(推荐)
- 按 [references/data_schema.md](references/data_schema.md) 组织 JSON(基本面字段 + 可选
review复盘字段) - 运行:
# 省略 --output 时自动按公司名称命名:公司名称_分析报告.html
python scripts/generate_report.py <data.json>
# 或指定输出
python scripts/generate_report.py <data.json> --output <output.html>
# 组合/持仓批量复盘(模式 C):省略 --output 时自动命名 组合名称_组合复盘报告.html
python scripts/generate_portfolio_review.py <portfolio.json>
python scripts/generate_portfolio_review.py <portfolio.json> --output <output.html>- 脚本将数据填入
assets/report_template.html,生成完整看板
方式二:直接编辑模板
读取 assets/report_template.html 修改数据与文本。注意:{{price_source}} 占位符替换为来源标签 HTML;REPORT_DATA 须带 sources 注册表与各项 source 字段,模板 JS 自动渲染溯源标签与底部清单。
报告设计规范
- 亮色主题 + 爱建证券蓝主色(涨红跌绿:涨→红
#e53935,跌→绿#2e9e5b) - 板块顺序:公司概览 → 财务分析 → 估值分析 → 机构业绩预测 → 行业竞争 → 公司治理 → 催化剂与事件日历 → 投资结论 → 复盘(可选) → 数据来源
- 投资结论无评级徽章:只输出文字分析(
thesis)+ 机构结论(institution_view)+ 风险(risks);结论措辞中性化——thesis禁止"适合作为…配置品种/值得买入/优选标的"等隐性推荐词,统一落为"跟踪价值 + 具体配置请以公司投顾意见为准" - 合规要素(模板已默认注入,务必保留):
- 头部内部使用警示条
compliance-note("内部研究/复盘工具输出 · 未经合规审定不得外发 · 不构成投资建议") - 机构结论末尾自动附加"注:上述机构评级与目标价均为第三方独立意见,不代表爱建证券立场,不构成投资建议"
- 页脚升级版免责声明(AI 生成 / 内部参考 / 非投资建议 / 数据公开合法 / 无利益关系 / 不得外发)
- 结论措辞中性化:
thesis/review.next等涉"评价/建议"表述不得含"适合配置/值得买入/优选标的"等隐性推荐,统一落为"跟踪价值 + 以投顾口径为准"(见 compliance_checklist.md 第四节) - 详见 [references/compliance_checklist.md](references/compliance_checklist.md)
- 头部内部使用警示条
- 复盘板块(模式 B / 合并报告):由
review字段驱动,渲染原观点、价格对照条、核心判断验证(对错徽章)、业绩兑现度表、成败归因与纪律、后续动作 - 数据溯源:每个外部数据点带来源标签,底部含"数据来源"清单
- 图表:Chart.js(CDN),营收/利润率/PE 分位/可比公司
- 响应式:适配桌面与移动端
- 样式:默认亮色爱建蓝;可一键切换「金融科技深色版」——
python3 scripts/restyle_report.py <报告.html>(样式资产assets/fintech_dark_style.css,自动保留合规三件套)。用户默认偏好深色科技风,报告生成后可顺手切换,与既往报告风格统一
复盘方法参考
模式 B 的方法论、对照框架与常见归因维度见 [references/review_methods.md](references/review_methods.md)。
执行约束(硬性,全模式适用)
以下为本技能执行的硬性约束,违反将导致报告生成失败、数据失真或合规问题,必须逐项遵守:
A. 工具与数据调用约束
- 数据源锁定:只使用 westock-data + neodata-financial-search 双源取数,禁止混用其它金融 Skill / 网页抓取(除非已降级到 2b 的交易所/巨潮原文)。同一指标只从一个源取,避免口径漂移与幻觉。
- westock-data 必须用 node 直跑脚本:该 CLI 不在 PATH,固定用
node <westock-data skill 目录>/scripts/index.js <command>(<westock-data skill 目录> 为其安装目录,加载 skill 后可见;建议用 WorkBuddy 托管 managed node);A 股代码 sh/sz 前缀;quote 不带 --fields(读全量输出);命令不清先 node <ws>/scripts/index.js help。
- neodata 必须在可写副本运行:neodata 的
query.py缓存 token 于 skill 目录下.neodata_token,若内置 skill 装在只读目录(典型如 WindowsProgram Files下)会PermissionError。先cp -r到用户级可写目录~/.workbuddy/skills/neodata-financial-search再从副本运行;token 缺失/过期时connect_cloud_service取tempToken后--save-token重试(≤ 1 次)。 - 生成前必做 JSON 修复 + 校验:见 Step 8 前置校验。LLM 常把中文引号写成半角
"导致json.loads失败;生成报告前必须依次运行scripts/repair_json.py(修中文半角引号→中文引号、内部 ASCII 引号转义)与scripts/validate_report_data.py(结构校验,[ERROR] 未通过不得生成)。 - 标的有效性校验(重要):采集行情后先校验标的有效性——
quote返回的volume(成交量)与amount(成交额)均为 0、且无任何价格变动(change为 0)时,判定为疑似退市/停牌/代码失效(如 600001 邯郸钢铁 2010 年已换股退市,仍返回 volume=0 的残留历史数据)。不得直接将其作为复盘/分析标的入报告,须先向用户说明核实结果,并与用户确认"替换代码 / 放弃该标的 / 仅作历史备注"后再继续。
B. 口径与内容约束
- 币种统一:所有财务/预测数值标注币种(CNY/HKD/USD),表格与文本同步;跨币种换算并显式说明(如"港币已按 1 HKD ≈ 0.92 CNY 折算")。
- 利润口径:财务分析与一致预期统一归母净利润;扣非仅作辅助,禁用于同比与 PE。
- 预测时间过滤:机构预测只保留未来报告期(季度结束日 + 45 天 ≥ 今日);过滤后无数据 → 板块自动隐藏。
- 动态 PE:滚动 12 个月归母口径,跨行可比(季度/半年行加
*标记)。 - 不荐股:投资结论与复盘均不输出买卖评级(买入/增持/减持等),仅文字分析与机构观点;含隐性推荐暗示的结论评价词("适合作为配置品种/值得买入/优选标的")一并禁止,
thesis落款中性化为"跟踪价值 + 具体配置请以公司投顾意见为准"。 - 禁止编造:外资评级/目标价、分业务利润、未披露数据均不得臆造;缺失则隐藏对应列/板块并注明(如
foreign_banks无可靠数据留空)。 - 净现金:用「货币资金 − 有息负债」自算并标「计算值」;某年缺失填
null,不估算。 - 合规三件套(全模式默认携带,硬性):① 报告头部合规警示条、② 机构结论背书隔离注文、③ 升级版页脚免责声明——已固化在
assets/report_template.html,生成/编辑模板时不得删除;涉价表述按references/compliance_checklist.md第四节"复盘纪律记录+观察位"措辞,禁止以操作指令语气写买卖点;生成后按该文档第五节自检清单过一遍。组合复盘模式(模式C)补充:经review.price.target_hit转述机构目标价时,同样须带背书隔离声明——"第三方独立意见 · 仅作参考 · 不代表爱建证券立场 · 不构成投资建议"(JSON 与 HTML 双端一致)。 - 金融/银行特有指标口径(重要):净息差 / 不良贷款率 / 拨备覆盖率 / 关注率 / 不良生成率等金融股特有指标,三表接口(westock
finance)一般不含 → 须用 neodata--data-type doc从研报/财报正文提取,并以公司财报披露口径为准。⚠️ westock 的成长字段(如OperatingRevenueGrowRate_Q)是单季同比,勿与财报披露的累计/报告期同比混用(例:招行 2026H1 营收披露口径 +4.83%,勿用 westock 单季 +5.83%)。 - 数据/措辞双端同步(重要):手工修改任何数据或合规措辞(
thesis/target_hit/ 观察位等)后,必须同步更新 ①数据源 JSON 与 ②已生成 HTML 的内嵌REPORT_DATA,并用 grep 校验"旧表述 0 残留、新表述各端生效"再交付。 - target_hit 聚合口径与措辞一致(模式C):
generate_portfolio_review.py按target_hit文案关键字归类(含"未达成/未达"→未达成,"部分"→部分达成,"达成"→达成)。措辞须与目标真实状态一致,避免因含"达成"字样被误判为达成(如"未承诺目标价达成"会被误判hit→ 应改写为"未承诺目标价、仅作参考")。 - 板块完整性(模式B / 复盘报告):
industry_html/industry_chain/industry_insights/key_customers/strategic_partners五字段全空时,行业与竞争格局板块自动隐藏。复盘报告建议补入行业概况(H3)+产业链定位,保证板块完整、报告更具参考性(见中远海控复盘案例)。 - 输出命名:模式 C 输入 JSON 避免以"数据"结尾(否则默认输出
<名>_数据_组合复盘报告.html冗余),建议直接--output指定清晰文件名。
触发示例
| 用户输入 | 触发 |
|---|---|
| "分析一下贵州茅台" | 模式 A ✅ |
| "帮我研究下腾讯的投资价值" | 模式 A ✅ |
| "比亚迪基本面怎么样" | 模式 A ✅ |
| "对比宁德时代和比亚迪的估值" | 模式 A ✅ |
| "中国平安值得买吗" | 模式 A ✅(仅文字结论,无评级) |
| "复盘一下我去年初对光伏的判断" | 模式 B ✅ |
| "之前说它会双击,现在跌了,复盘下" | 模式 B ✅ |
| "这只我拿了半年,做个复盘" | 模式 B ✅ |
| "把我的持仓批量复盘一下" | 模式 C ✅ |
| "这个组合我看对了几成" | 模式 C ✅ |
| "汇总一下这几个票的判断成败" | 模式 C ✅ |
资源索引
| 文件 | 用途 |
|---|---|
references/financial_metrics.md | 财务指标体系(三表/营收利润构成/盈利/偿债/营运/成长/现金流/杜邦/红旗) |
references/valuation_methods.md | 估值方法(PE/PEG/PS/PB/EV-EBITDA/DCF/SOTP) |
references/industry_analysis.md | 行业分析框架(PEST/波特五力/护城河/产业链/客户与伙伴/地理分布/地缘风险) |
references/governance_checklist.md | 公司治理清单(股权/管理层/分红/激励/资本运作/ESG) |
references/review_methods.md | 复盘方法(对照框架/验证清单/归因维度/纪律复盘) |
references/compliance_checklist.md | 合规要点与约束(依据/三条红线/合规三件套/涉价·结论表述措辞对照/生成后自检清单) |
references/data_schema.md | 报告 JSON 数据结构(含 review 复盘字段) |
assets/report_template.html | HTML 报告看板模板(含复盘板块) |
assets/portfolio_template.html | 组合复盘报告模板(汇总/归因/持仓明细) |
assets/fintech_dark_style.css | 金融科技深色主题样式(个股+组合通用,restyle 脚本数据源) |
scripts/generate_report.py | 报告生成脚本(模式 A / 模式 B) |
scripts/generate_portfolio_review.py | 组合/持仓批量复盘聚合脚本(模式 C) |
scripts/restyle_report.py | 一键切换深色金融科技版(样式替换+编号徽章+图表深色适配) |
scripts/repair_json.py | 生成前必做:修复 JSON 中文半角引号 / 内部 ASCII 引号(避免 json.loads 失败) |
scripts/validate_report_data.py | 生成前必做:结构校验(退出码 1 = 阻断级错误,不得生成) |