--- name: chan-stock-analysis description: | 缠论+基本面+财报+估值综合股票分析技能,生成专业投研报告(含 PDF)。 Use when: 用户提供股票代码,要求进行深度股票分析、缠论技术分析、基本面研究、财报解读、估值分析、综合投研报告。 NOT for: 实时行情播报、简单股价查询、非股票类金融分析。 触发词:缠论分析、股票分析报告、技术面+基本面、综合研究、投研报告、深度分析、估值分析、财报分析、买卖点分析 metadata: { "openclaw": { "emoji": "📈", "os": ["win32", "darwin", "linux"], "requires": { "bins": ["python3"], "anyBins": ["python3", "python"] } } } --- # 📈 缠论+基本面+估值 综合股票分析技能 > 输入股票代码,输出一份涵盖缠论技术面、基本面、估值面的专业投研报告,并自动生成排版精美的 PDF 文件。 --- ## 使用场景 **✅ Use when(适用)** - 用户提供股票代码(如 `600519`、`贵州茅台`、`AAPL`),要求进行综合分析 - 要求生成完整投研报告、买卖点判断、目标价预测 - 需要缠论结构分析(中枢、笔、背驰、买卖点) - 要求基本面财报解读、估值对比 - 触发词:缠论分析、股票分析报告、投研报告、技术面+基本面、深度分析、估值分析、买卖点分析、财报解读 **❌ NOT for(不适用)** - 实时股价查询(只看价格,不做分析) - 简单涨跌预测(无深度分析需求) - 非 A 股/港股/美股标的 - 基金、债券、期货等非股票品种 --- ## 快速开始 ``` 用户:分析一下 600519 ↓ 技能自动执行: 1. 解析股票代码 → 贵州茅台 600519.SH 2. 实时获取行情、财务、资金数据 3. 缠论结构 + 多指标共振技术分析 4. 基本面盈利/成长/健康度分析 5. PE/PB/DCF 多维估值 6. 输出 Markdown 投研报告 7. 自动生成专业排版 PDF ``` --- ## 详细用法 ### 分析流程(严格按阶段执行) #### 🔴 阶段0:解析股票代码 接收用户输入的股票代码,自动处理格式: - 输入 `600519` 或 `贵州茅台` → 转换为 `600519.SH` - 输入 `000001` 或 `平安银行` → 转换为 `000001.SZ` - 输入 `300750` → 转换为 `300750.SZ`(创业板) - 输入 `688xxx` → 转换为 `688xxx.SH`(科创板) - 支持港股(`.HK`)和美股(`.US`) 调用 `stock_basic` 接口确认公司名称、行业、上市交易所。 --- #### 🔴 阶段1:实时数据采集 **并行获取以下数据(全部通过 `finance-data-retrieval` skill 调用):** **1.1 行情数据** ``` 调用: daily(ts_code=XX, start_date=近250个交易日) → 日线OHLCV 调用: weekly(ts_code=XX, start_date=近104周) → 周线数据 调用: daily_basic(ts_code=XX, trade_date=最新) → PE(TTM)、PB、市值、换手率、量比 ``` **1.2 技术指标数据(优先用接口,次选自行计算)** ``` 调用: stk_factor(ts_code=XX, start_date=近250日) → 预计算技术指标(若接口支持) 包含:MA5/MA10/MA20/MA60、MACD系列、RSI、KDJ、BOLL、ATR、OBV 若 stk_factor 不可用,则基于 daily 数据自行计算: - 均线:MA5 / MA10 / MA20 / MA60 / MA120 / MA250 - 动量:MACD(12,26,9) → DIF、DEA、柱 - 振荡:RSI(6/12/24)、KDJ(9,3,3)、CCI(14)、WR(14) - 波动率:BOLL(20,2)、ATR(14) - 量价:OBV、BIAS(20)、BIAS(60) - 趋势强度:ADX/DMI(14) ``` **1.3 资金流向数据** ``` 调用: moneyflow(ts_code=XX, start_date=近20个交易日) → 主力大单净流入 调用: moneyflow_hsgt(start_date=近10日) → 北向资金(如为沪深300成分股) ``` **1.4 财务数据(确定最新可获取报告期)** 根据当前日期动态判断: - A股年报披露截止4月30日;三季报截止10月31日;中报截止8月31日;一季报截止4月30日 - 优先使用已披露的最新期次 ``` 调用: income(ts_code=XX, period=最新报告期) → 利润表 调用: balancesheet(ts_code=XX, period=最新报告期) → 资产负债表 调用: cashflow(ts_code=XX, period=最新报告期) → 现金流量表 调用: fina_indicator(ts_code=XX, period=最新报告期) → 财务指标(ROE等) 获取近4个报告期数据用于趋势分析 ``` **1.5 最新公告与新闻** ``` WebSearch: "{公司名} 最新公告 {当前年月}" WebSearch: "{公司名} 业绩预告 年报" WebSearch: "{公司名} 股票 最新消息" ``` --- #### 🔴 阶段2:技术分析(缠论主体 + 多指标共振) **参考文件**:`references/chan-theory.md` ##### 2.1 缠论结构分析(主框架) **K线处理与分型识别**(基于日线250根 + 周线104根): 1. 识别包含关系并合并K线 2. 标注顶分型(▼)和底分型(▲) 3. 连接笔:描述近期主要笔的方向和幅度 **中枢识别(日线级别)**: - 识别近期3~5个主要中枢,标注区间 [ZD, ZG] - 分析中枢序列方向,判断大趋势(上涨/下跌/震荡) - 标注当前价格相对中枢的位置(中枢内/突破中枢上方/跌破中枢下方) **周线级别验证**: - 用周线判断更大级别趋势方向 - 确认日线操作方向与周线趋势一致 ##### 2.2 MACD背驰分析(缠论核心辅助) 基于MACD(12,26,9)——日线+周线双周期: - 识别近期是否存在趋势背驰(红柱/绿柱面积收缩) - 判断背驰级别(日线背驰 vs 周线背驰,级别越高越重要) - 标注背驰信号的可信度(强/中/弱) ##### 2.3 趋势追踪指标组(A类) **均线系统(MA5/10/20/60/120/250)**: - 判断多头/空头/均线粘合排列 - 金叉/死叉信号及关键均线的支撑压力 - 年线(MA250):牛熊分界参考 - 半年线(MA120):中长期趋势判断 **一目均衡表(Ichimoku)**: - 判断价格是否在云层上方(多头)/下方(空头) - 转换线与基准线的TK交叉信号 - 云层厚薄判断支撑压力强度 **ADX/DMI**: - ADX数值:判断当前是趋势市(>25)还是震荡市(<20) - +DI/-DI方向:当前多空力量对比 - 重要:ADX<20时缠论震荡策略,ADX>25时缠论趋势策略 ##### 2.4 动量振荡指标组(B类)—— 超买超卖共振 **RSI(6/12/24三周期)**: - 三周期共振超买(均>70)或超卖(均<30)信号强度更高 - 重点关注RSI顶背离/底背离(价格新高低而RSI未跟) - RSI50分水岭:站上看多,跌破看空 **KDJ(9,3,3)**: - 高位(>80)死叉卖出,低位(<20)金叉买入 - J值极端值(>100或<0)作为超买超卖的敏感预警 - KDJ底背离与缠论买点共振:信号强度+2 **CCI(14日)**: - 从极度超买区(>200)回落过+100:卖出确认 - 从极度超卖区(<-200)回升过-100:买入确认 - 与RSI/KDJ形成三重超卖共振时,买入信号极强 **WR威廉指标(14日)**: - 进入超卖区(<-80)并开始回升:配合KDJ确认底部 ##### 2.5 波动率指标组(C类)—— 空间与风险 **布林带(BOLL,MA20±2σ)**: - 布林带宽度变化:收口→突破方向,开口→趋势延续 - 价格触及下轨+底分型:强力买入共振 - 价格触及上轨+顶分型:强力卖出共振 - 价格突破上轨"走轨":强势追多机会 **ATR(14日)**: - 计算动态止损位:止损 = 买入价 - 2×ATR - 计算目标位:目标 = 买入价 + 3×ATR(风险收益比1:1.5) - ATR扩张信号:波动率提升,趋势启动确认 **乖离率(BIAS20/BIAS60)**: - BIAS20 > +10%:短期超买预警 - BIAS20 < -10%:短期超卖,关注买入 - BIAS60 < -20%:中期严重低估,可关注长线布局 ##### 2.6 量价关系指标组(D类)—— 量是价的先行 **OBV能量潮**: - OBV持续上升/下降:资金流向趋势确认 - OBV背离(价格新高而OBV未新高):趋势弱化预警 **量比 + 换手率**: - 底部区域量比突然放大(>2.5):主力吸筹信号 - 高位持续高换手(>10%):出货嫌疑 - 缩量下跌(量比<0.5):抛压减弱,底部可能临近 **VWAP**: - 价格回踩VWAP获支撑:机构成本线,买入共振 - 价格跌破VWAP且无法收复:弱势信号 **MFI资金流量指标**: - MFI<20超卖 + RSI<30:双重超卖共振,强烈买入信号 ##### 2.7 资金面分析(E类) **主力大单净流入**(moneyflow接口): - 近5日主力净流入/流出趋势 - 连续净流入>3日:主力在建仓 - 价格上涨+大单净流出:主力出货,警惕 **北向资金**(沪深300成分股适用): - 连续净买入:外资认可 - 大幅净流出:外资撤离压力 ##### 2.8 多指标共振评分(买入方向) 按照 `references/chan-theory.md` 第四节"多指标共振评分系统",对以下14个维度逐一打分: | 类别 | 检查项 | 结论 | 得分 | |------|--------|------|------| | 缠论结构 | 日线买卖点位置 | ? | 0~3 | | 缠论结构 | MACD背驰 | ? | 0~2 | | 趋势指标 | 均线多头/空头排列 | ? | 0~1 | | 趋势指标 | 一目云位置 | ? | 0~1 | | 动量指标 | RSI底背离/超卖 | ? | 0~2 | | 动量指标 | KDJ低位金叉 | ? | 0~2 | | 动量指标 | CCI从-200回升 | ? | 0~1 | | 波动率 | 布林下轨+底分型 | ? | 0~2 | | 波动率 | ATR动态止损合理 | ? | 0~1 | | 量价 | OBV底背离 | ? | 0~2 | | 量价 | 底部放量(量比>2) | ? | 0~2 | | 量价 | VWAP支撑 | ? | 0~1 | | 资金 | 主力净流入 | ? | 0~2 | | 趋势强度 | ADX>25且+DI>-DI | ? | 0~1 | **总分及操作建议**: - ≥15分 → 重仓;12~14分 → 中仓;9~11分 → 轻仓;<9分 → 观望 ##### 2.9 技术分析总结输出 ``` 📊 缠论技术面评分:X/10 当前趋势(日线):[上涨/下跌/震荡] 当前趋势(周线):[上涨/下跌/震荡] 当前结构:[一买/二买/三买/一卖/二卖/三卖/中枢震荡] 均线状态:[多头排列/空头排列/均线粘合] 动量状态:RSI=XX | KDJ金叉/死叉 | CCI=XX 波动率:BOLL位置=[上轨/中轨/下轨] | ATR=XX 量价:OBV趋势=[上升/下降/背离] | 近日量比=X.X 资金:主力5日净流入=[+XX亿/−XX亿] 多指标共振评分:XX/23分 关键支撑位:XX.XX 元(来源:XX) 关键压力位:XX.XX 元(来源:XX) ATR动态止损:XX.XX 元 技术信号:[买入/看多/中性/看空/卖出] ``` --- #### 🔴 阶段3:基本面分析 **参考文件**:`references/financial-analysis.md` ##### 3.1 盈利能力 计算并展示(最新3~4个报告期趋势): - 毛利率、净利率趋势 - ROE(及杜邦分解) - 扣非净利润增速 - 核心结论:盈利能力处于行业什么水平?是否在改善? ##### 3.2 成长能力 - 营收/净利润3年CAGR - 最新季度同比/环比增速 - 研发投入(若适用) - 核心结论:是否处于成长期?成长质量如何? ##### 3.3 财务健康度 - 资产负债率、流动比率、速动比率 - 经营现金流 / 净利润比率(盈利含金量) - 自由现金流(FCF) - 红旗信号检查(参见`references/financial-analysis.md`第七节) - 核心结论:财务是否稳健?有无风险信号? ##### 3.4 基本面总结输出 ``` 📈 基本面评分:X/10 盈利能力:[优秀/良好/一般/较差] 成长性:[高成长/稳定成长/成长放缓/衰退] 财务健康:[稳健/良好/需关注/风险较高] 核心优势:... 核心风险:... ``` --- #### 🔴 阶段4:估值分析 **参考文件**:`references/valuation.md` ##### 4.1 相对估值 - 当前 P/E(TTM)、P/B、EV/EBITDA - 历史估值百分位(近3年历史区间) - 同行业可比公司估值对比(调用同行业数据) - 得出相对估值结论:低估/合理/高估 ##### 4.2 PEG分析(成长股) - PEG = P/E(TTM) / 净利润增速 - PEG < 1 低估,1~2 合理,>2 高估 ##### 4.3 简化DCF估值 基于过去3年FCF均值和预测增速,计算合理价值区间: - 乐观/基准/悲观三种情景 - 给出每股内在价值估算区间 ##### 4.4 估值总结输出 ``` 💰 估值评分:X/10 当前PE(TTM):XX× (历史分位数:XX%) 当前PB:XX× EV/EBITDA:XX× 相对同行:[低估XX%/合理/高估XX%] DCF内在价值区间:XX.XX ~ XX.XX 元(当前价格:XX.XX) 估值结论:[严重低估/低估/合理/高估/严重高估] ``` --- #### 🔴 阶段5:综合研究报告输出 **输出顺序**:先生成 Markdown 报告文件(.md),再按阶段6流程自动生成 PDF。 输出完整Markdown格式报告,结构如下: > **重要规范**:报告第一章必须是「📋 总体结论与投资建议」,在所有详细章节之前,作为全篇摘要。读者可只看此章节即获得核心判断,后续章节为支撑论据。 ```markdown # [公司名称](股票代码)综合投研报告 **报告日期**:YYYY年MM月DD日 **分析基准价格**:XX.XX 元(XX月XX日收盘价) **当前市值**:XXX 亿元 --- ## 📋 总体结论与投资建议 > 本节为全篇核心摘要,其余章节为详细支撑论据,建议先阅读本节再按需查阅后续内容。 ### 综合评级:[简明评级描述,如"谨慎观望,等待右侧信号确认后逢低分批布局"] ### 【一句话结论】 [100字以内的核心判断,说明技术面现状 + 基本面优势 + 操作建议] ### 【总体情况五维评分】 | 维度 | 评分(星级/5) | 核心结论 | |------|--------------|---------| | 技术面 | ★★☆☆☆ 2/5 | [当前技术信号概要] | | 基本面 | ★★★★☆ 4/5 | [财务健康状况概要] | | 估值面 | ★★★☆☆ 3/5 | [PE/PB所处历史区间] | | 资金面 | ★★☆☆☆ 2/5 | [资金流向及机构持仓] | | 情绪面 | ★★★☆☆ 3/5 | [市场情绪与主题热度] | | **综合共振** | **X / 100** | [当前整体判断] | ### 【后续操作建议】 **短期(0~2周)**:[具体操作指导,含关键支撑/压力位和止损线] **中期(1~3个月)**:[目标价区间与加仓条件] **长期(6个月以上)**:[战略性配置建议及仓位比例] ### 【主要风险提示】 | 风险类型 | 具体内容 | |---------|---------| | 下行风险 | [跌破关键支撑后的下探目标] | | 宏观风险 | [宏观/政策层面风险] | | 行业风险 | [行业竞争/政策层面风险] | | 估值风险 | [估值层面风险] | --- ## 一、公司概况 ## 二、技术分析(缠论 + 多指标共振) ## 三、基本面分析 ## 四、估值分析 ## 五、综合结论与操作建议 ## 六、数据来源 ⚠️ **免责声明**:本报告仅供参考,不构成投资建议。投资有风险,决策需谨慎。 ``` --- #### 🔴 阶段6:PDF 报告生成 **在 Markdown 报告生成完成后,立即执行以下步骤,将报告转换为专业排版 PDF。** **6.1 环境检查与依赖安装** ```python import importlib, subprocess, sys try: importlib.import_module("reportlab") except ImportError: subprocess.check_call([sys.executable, "-m", "pip", "install", "reportlab", "-q"]) ``` **6.2 中文字体检测**(按优先级查找) 1. `C:\Windows\Fonts\msyh.ttc`(微软雅黑,Windows 首选) 2. `C:\Windows\Fonts\simhei.ttf`(黑体,Windows 备选) 3. `/System/Library/Fonts/PingFang.ttc`(macOS 苹方) 4. `/usr/share/fonts/opentype/noto/NotoSansCJK-Regular.ttc`(Linux) **6.3 PDF 输出规范** - 文件命名:`{公司名称}投研报告_{YYYYMMDD}.pdf` - 保存路径:与 Markdown 报告同目录 - 页面规格:A4,左右边距 20mm,上下边距 20mm - 必须包含:封面摘要表、页眉(公司名+日期)、页脚(页码+免责声明)、多级标题、数据表格、风险警告段落 **颜色方案**: - 主色:`#003087`(深蓝)| 辅色:`#1a4a8a`(中蓝) - 警告:`#cc4400`(红棕)| 风险表头:`#8b1a1a`(深红)| 买入表头:`#1a6b3a`(深绿) **6.4 生成脚本结构**(写入独立 `.py` 文件执行,避免命令行字符限制) ```python # 文件名:generate_pdf_report.py # 执行:python generate_pdf_report.py # 核心模块: # register_fonts() → 注册中文字体 # build_styles() → 定义全套段落样式 # table_style() → 返回统一表格 TableStyle # build_story() → 按章节构建 story 列表 # header_footer() → 页眉页脚回调 # main() → 组装并输出 PDF ``` --- ## 配置选项 | 配置项 | 说明 | 默认值 | |--------|------|--------| | 日线K线数量 | 用于缠论分析的历史日线数量 | 250根 | | 周线K线数量 | 用于周线趋势验证 | 104根 | | 财报期数 | 用于趋势分析的历史报告期数 | 近4期 | | PDF输出 | 是否自动生成PDF报告 | 是 | --- ## 错误处理 - **接口调用失败**:明确告知用户哪些数据无法获取,不得凭空捏造数据 - **K线数量不足**(< 100根):降级分析,如实说明局限性 - **财报未披露**:使用最近已披露的报告期,并在报告中注明 - **PDF生成失败**:提示用户安装 `reportlab`(`pip install reportlab`) --- ## 安全注意 ⚠️ **风险提示** - 缠论分析基于程序化规则,在复杂走势中存在主观性,结论仅供参考 - 所有分析数据基于历史行情,不代表未来表现 - 本技能输出内容**不构成投资建议**,投资者需自行承担投资风险 - 不在分析结果中硬编码 API Key 或任何敏感信息 **隐私保护** - 所有股票数据通过官方公开接口获取 - 不存储用户查询的股票代码或分析结果到外部服务 --- ## 相关文件 - `references/chan-theory.md` - 缠论理论完整参考,含中枢/笔/背驰/买卖点规则及多指标共振评分系统 - `references/financial-analysis.md` - 财务分析框架,含盈利/成长/健康度分析方法及红旗信号检查清单 - `references/valuation.md` - 估值分析方法,含PE/PB/EV/DCF/PEG多维估值模型 --- ## 依赖说明 本技能依赖以下外部技能,需提前安装: - **`finance-data-retrieval`**(必需):提供 Tushare 行情、财务、资金数据接口 - 需要配置 Tushare Token(`TUSHARE_TOKEN` 环境变量) **Python 依赖**(运行时自动安装): - `reportlab`:PDF 生成库