数据源
SCRIPTS="$SKILLS_ROOT/cn-stock-data/scripts"
# 财务数据(利润表/资产负债表/现金流量表 → 资本开支/研发/分红/偿债)
python "$SCRIPTS/cn_stock_data.py" finance --code [CODE]
# 实时行情(当前市值 → 计算回购/分红收益率)
python "$SCRIPTS/cn_stock_data.py" quote --code [CODE]
# K线(股价走势 → 回购/增发时点判断)
python "$SCRIPTS/cn_stock_data.py" kline --code [CODE] --freq daily --start [3年前]
# 资金流向
python "$SCRIPTS/cn_stock_data.py" fund_flow --code [CODE] --days 30
# 回购数据
import akshare as ak
df = ak.stock_repurchase_em() # A股回购汇总
补充 web 搜索:回购公告、定增/配股/可转债方案、并购进展、资本开支计划、分红方案公告。
Workflow (5 steps):
Step 1: 资本配置全景图(近3-5年)
梳理企业资金去向的完整画面:
| 资金用途 | 占经营现金流比 | 金额(亿) | 趋势 |
|---|---|---|---|
| 资本开支(Capex) | ↑/→/↓ | ||
| 研发投入 | |||
| 并购(M&A) | |||
| 分红 | |||
| 回购 | |||
| 偿债/降杠杆 | |||
| 账上现金积累 |
数据来源:
- 现金流量表:购建固定资产(Capex)、取得子公司(并购)、分配股利(分红)、偿还债务
- 利润表:研发费用
- Web 搜索:回购公告(ak.stock_repurchase_em())、定增方案
Step 2: 资本配置效率评估
再投资回报:
- ROIC vs WACC:ROIC > WACC → 再投资创造价值
- 增量 ROIC(近3年新增资本的回报率)
- Capex/折旧比:>1 扩张期,≈1 维持期,<1 收缩期
并购评估:
- 商誉/净资产比:>30% 需警惕
- 历史并购是否产生过商誉减值
- 并购标的是否与主业协同(产业链上下游 vs 跨界)
- 并购对价是否合理(PE/PS vs 行业水平)
资本结构:
- 资产负债率趋势
- 净负债率(Net Debt/EBITDA)
- 利息保障倍数
Step 3: 股东回报分析
分红:
- 分红率(占归母净利润比):近3-5年趋势
- 股息率 = 每股股利 / 当前股价
- 是否持续稳定分红(A股分红连续性评估)
回购:
- 回购金额/占市值比
- 回购是否注销(注销 = 真回购 vs 库存股 = 可能用于激励)
- 回购价格区间 vs 当前股价(管理层对估值的判断)
- 回购进度:已回购/计划回购
综合股东回报率 = (分红 + 回购注销金额) / 市值
Step 4: 同业对比
| 指标 | 本公司 | 同业A | 同业B | 行业均值 |
|---|---|---|---|---|
| ROIC | ||||
| 分红率 | ||||
| 回购/市值 | ||||
| Capex/营收 | ||||
| 商誉/净资产 | ||||
| 股东回报率 |
Step 5: 输出
风格说明
| 维度 | formal(机构研报风格) | brief(快速分析风格) |
|---|---|---|
| 篇幅 | 3-5 页 | 半页-1页 |
| 资本配置全景 | 完整表格+3-5年趋势图描述 | 核心数字+方向判断 |
| 效率评估 | 详细ROIC/WACC计算、并购逐笔分析 | ROIC vs WACC结论、商誉风险一句话 |
| 股东回报 | 分红/回购详细拆解 | 综合回报率+关键判断 |
| 同业对比 | 完整对比表 | 1-2个关键指标对比 |
| 结论 | 资本配置评级+改进建议 | 一句话评价 |
| 免责声明 | 需要 | 不需要 |
默认风格:brief。用户说"详细"、"完整"、"报告"时切换 formal。
关键规则
- ROIC > WACC 才值得再投资:低于 WACC 的再投资是在毁灭价值,应优先分红/回购
- 频繁并购需警惕商誉:A股并购商誉减值是重大风险,逐笔检查大额并购
- 回购注销才是真回购:A股很多回购用于股权激励而非注销,需区分(注销 = 真金白银回馈股东 vs 库存股 = 间接薪酬)
- 结合行业生命周期看配置:成长期重 Capex/研发,成熟期重分红/回购,衰退期重偿债/转型
- 关注定增/配股/可转债的摊薄效应:再融资是"反回购",需评估融资目的合理性
- 现金堆积≠好事:大量闲置现金可能意味着管理层缺乏投资眼光或存在代理问题
- 与其他 skill 联动:可用 a-share-earnings-analysis 深入财务细节,a-share-dividend 深入分红分析,a-share-event 分析具体并购/增发事件
使用示例
示例 1: 基本使用
# 调用 skill
result = run_skill({
"param1": "value1",
"param2": "value2"
})
示例 2: 命令行使用
python scripts/run_skill.py --input data.json