--- name: stock-advisor description: | A股投资分析全自动流水线。触发场景:(1) 用户上传K线图或财报截图要求分析,(2) 用户提供A股股票代码或名称要求分析(如"分析一下平安银行"、"帮我看看000001"、"XX值得投资吗"),(3) 用户说"股票分析"、"投资分析"、"stock advisor"、"帮我分析股票"。 author: 甲木 version: v1.1 --- # A股投资顾问 (Stock Advisor) 全自动编排型投资分析流水线。用户只需提供股票截图或代码,系统自动完成技术面分析、基本面分析、多维交叉验证、私董会决策讨论,最终输出精美排版的投资报告。 ## 流水线架构 ``` 用户输入(截图 / 股票代码) │ ▼ ① 技术面分析 → ② 基本面分析 → ③ 多维交叉验证 → ④ 私董会讨论 → ⑤ 排版输出 ``` ## 启动流程 ### 首次使用:投资风格档案 检查 memory 中是否存在用户投资风格档案。如不存在,提 3-4 个简短问题: 1. **风险偏好**:保守 / 稳健 / 激进? 2. **投资周期**:短线(1-2周)/ 中线(1-3月)/ 长线(3月以上)? 3. **关注行业**:有没有特别关注的行业板块? 4. **仓位上限**:单只股票最大仓位占比? 用户可选择跳过,后续在私董会环节自然补充。收集到的信息保存到 memory。 ### 识别入口模式 根据用户输入自动判断: - **截图模式**:用户上传了图片(K线图、财报截图)→ 图像识别 + AKShare 交叉验证 - **代码模式**:用户提供了股票代码或名称 → 纯 AKShare 数据驱动 两种模式均进入同一流水线,差异仅在数据获取方式。 --- ## 模块一:技术面分析 ### 截图模式 1. **图像识别**:从 K 线图中提取: - 股票名称和代码 - 当前股价 - K 线形态(近 5 日表现) - 均线排列状态(MA5/MA10/MA20) - MACD 状态(DIF/DEA 位置关系、柱状图趋势) 2. **AKShare 交叉验证**:用识别出的股票代码调用脚本获取精确数据 ```bash python scripts/technical_analysis.py --symbol <股票代码> --days 120 ``` 3. **冲突处理**:若图像识别与 API 数据有差异,以 API 数据为准,在报告中标注差异 ### 代码模式 直接调用脚本获取数据并计算指标: ```bash python scripts/technical_analysis.py --symbol <股票代码> --days 120 ``` ### 输出:技术面速读表格 | 维度 | 指标 | 数值 | 信号 | |------|------|------|------| | 趋势 | MA20/MA60 | — | 上升/震荡/下降 | | MACD | DIF/DEA | — | 金叉/死叉/多头/空头 | | KDJ | K/D/J | — | 超买/超卖/中性 | | RSI | RSI14 | — | 超买/超卖/中性 | | 布林带 | 上轨/中轨/下轨 | — | 突破/偏多/偏空 | | 支撑压力 | 支撑位/压力位 | — | — | --- ## 模块二:基本面分析 ### 截图模式 1. **图像识别**:从财报截图提取关键指标(营收、净利润、ROE、毛利率等) 2. **AKShare 补充**:拉取 PE/PB/PS 估值数据、行业对比数据 ```bash python scripts/fundamental_analysis.py --symbol <股票代码> ``` ### 代码模式 直接调用脚本: ```bash python scripts/fundamental_analysis.py --symbol <股票代码> ``` ### 合并输出 **综合评级表格:** | 维度 | 评分 | 判断 | |------|------|------| | 技术面 | X/5 | 趋势方向 + 关键信号 | | 基本面 | X/5 | 盈利能力 + 估值水平 | | 资金面 | X/5 | 成交量变化趋势 | | **综合评级** | — | 强烈推荐/推荐/中性/谨慎/回避 | **操作建议:** - 短期(1-2周)策略 - 中期(1-3月)策略 - 关键支撑位和压力位 --- ## 模块三:多维交叉验证 使用内置 WebSearch 工具搜索以下信息: 1. **研报观点**:搜索 `"<股票名称> 研报 <当前年份>"` 获取机构评级和目标价 2. **行业动态**:搜索 `"<所属行业> 行业趋势 <当前年份>"` 了解上下游变化 3. **重大新闻**:搜索 `"<股票名称> 最新消息"` 排查重大利好/利空事件 4. **政策影响**:搜索相关产业政策、监管动态 ### 交叉验证逻辑 - 将搜索结果与模块一、二的分析进行对比 - 如有矛盾信号(如技术面看涨但研报看空),**明确标注分歧点**并分析可能原因 - 补充模块一二未覆盖的风险因素 ### 输出:投资决策报告草稿 整合前三个模块的分析结果,生成结构化的投资决策报告草稿,作为私董会的讨论输入。 --- ## 模块四:私董会决策讨论 调用 `peers-advisory-group` Skill 的核心机制,将投资决策报告草稿作为讨论议题。 **详细指南见 [references/advisory-board.md](references/advisory-board.md)**,包含幕僚阵容、5维度分析结构、观点碰撞模板、投资风格适配规则。 ### 核心流程 1. 通过 WebSearch 搜索四位幕僚(巴菲特/马斯克/盖茨/乔布斯)最新动态 2. 将模块一~三的完整报告作为讨论议题 3. 每位幕僚按 **5维度结构** 输出深度分析:核心判断 → 数据论据 → 类比案例 → 风险警示 → 最后一句话建议 4. 输出 **2-3 个观点碰撞**(不同投资哲学的分歧与争论) 5. 根据用户投资风格档案(如有)生成 **个性化建议** 6. 综合四位幕僚观点,输出最终投资结论 ### 自动化模式 默认由系统代替用户回答幕僚提问(基于分析数据 + 用户风格档案)。如用户主动发言,系统暂停自动代答,将对话权交给用户。 --- ## 模块五:排版与输出 ### 步骤一:整理报告 Markdown 将最终分析结果整理为以下结构: ```markdown # [股票名称]([代码]) 投资分析报告 > 报告日期:YYYY-MM-DD | 综合评级:XX ## 技术面分析 [模块一输出] ## 基本面分析 [模块二输出] ## 多维交叉验证 [模块三输出] ## 私董会纪要 ### 巴菲特观点 [观点摘要] ### 马斯克观点 [观点摘要] ### 比尔·盖茨观点 [观点摘要] ### 乔布斯观点 [观点摘要] ### 最终结论 [综合结论] ## 操作建议 - 短期策略(1-2周) - 中期策略(1-3月) - 仓位建议 - 止损位 ## 风险提示 投资有风险,以上分析仅供参考,不构成投资建议。据此操作,风险自担。 ``` ### 步骤二:杂志排版 调用 `magazine-layout` Skill,指定 **"大胆社论"(Bold Editorial)** 风格,将 Markdown 转为精美 HTML 文件。 保存 HTML 到本地:`~/stock-reports/<股票代码>-<日期>.html` ### 步骤三:转换 PDF 执行转换脚本: ```bash python scripts/html_to_pdf.py ~/stock-reports/<股票代码>-<日期>.html ``` 输出 PDF 文件:`~/stock-reports/<股票代码>-<日期>.pdf` ### 步骤四:上传飞书云文档 调用 `lark-doc` Skill,将报告内容创建为飞书云文档: - 文档标题:`[股票名称] 投资分析报告 - YYYY-MM-DD` - 返回文档链接给用户 ### 最终输出给用户 ``` 分析完成! 本地 PDF:~/stock-reports/<代码>-<日期>.pdf 飞书文档:<飞书链接> 综合评级:XX 核心结论:[一句话总结] ``` --- ## 依赖 | 组件 | 用途 | |------|------| | AKShare (Python) | A股行情、K线、财务数据获取 | | `a-share-analyst` scripts | 技术分析、数据获取基础脚本 | | WebSearch(内置) | 研报、行业、新闻搜索 | | `peers-advisory-group` Skill | 私董会决策讨论 | | `magazine-layout` Skill | 杂志风格 HTML 排版 | | `lark-doc` Skill | 飞书云文档上传 | | Playwright (Python) | HTML 转 PDF | ## 脚本清单 | 脚本 | 功能 | |------|------| | `scripts/technical_analysis.py` | 技术指标计算(复用 a-share-analyst) | | `scripts/fetch_market_data.py` | 市场数据获取(复用 a-share-analyst) | | `scripts/fundamental_analysis.py` | 基本面分析(新增) | | `scripts/html_to_pdf.py` | HTML 转 PDF(新增) | ## 参考文件 | 文件 | 内容 | |------|------| | `references/report-structure.md` | 报告结构模板 | | `references/image-prompts.md` | 图像识别提示词模板 |