Sources: extracted from two upstream archives (skill-repo, skills-main),
merged with the following policy:
- 15 broken symlinks (pointing to /Users/jameslee/.cc-switch/skills or
../../.agents/skills on a foreign machine) discarded
- 3 real name collisions with identical content (ai-pair, ifind-http-api,
zhipu-websearch) kept as one copy
- Functional overlaps deduped keeping the strongest variant:
- docx family: kept docx (official, full toolchain) + docx-cn
(GB/T 9704 Chinese official-document constants),
dropped docx_writer (no scripts, name collided with docx)
- humanizer family: kept humanizer-zh (6 zh reference docs),
dropped humanizer (en, redundant for CN workflow)
- Skills that only ran in a foreign environment removed:
ablemind-ops, app-publish, hlb-design-system, openclaw-adj-skill,
claude-driver
- alphapai excluded from this public repo because its SKILL.md hard-coded
live credentials
Result: 25 skills, 572 files, ~7.5 MB.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
8.7 KiB
8.7 KiB
金融研究报告最佳实践
目录
数据获取最佳实践
WindPy 连接管理
# 推荐做法:使用上下文管理器
with WindDataFetcher() as fetcher:
df = fetcher.get_daily_data(stock_code, start_date, end_date, fields)
# 自动处理连接关闭
# 不推荐:手动管理连接
w.start()
# ... 代码 ...
w.stop() # 容易遗漏
日期处理
- 始终使用标准格式
YYYY-MM-DD - 获取周线数据时,使用
resample('W')而非手动计算 - 处理交易日历,避免非交易日数据的干扰
数据校验
def validate_data(df, required_columns):
"""数据质量检查"""
# 检查空值
if df.isnull().any().any():
print(f"警告:数据包含空值")
df = df.dropna()
# 检查异常值
for col in ['close', 'high', 'low']:
if col in df.columns:
if (df[col] <= 0).any():
raise ValueError(f"{col} 包含非正值")
# 检查必需字段
missing_cols = set(required_columns) - set(df.columns)
if missing_cols:
raise ValueError(f"缺少必需字段: {missing_cols}")
return df
分析框架
基本面分析维度
-
盈利能力
- ROE(净资产收益率):>15% 优秀,10-15% 良好
- ROA(总资产收益率):>8% 优秀
- 毛利率:行业对比
- 净利率:趋势分析
-
成长能力
- 营收增长率
- 净利润增长率
- 复合年均增长率(CAGR)
-
运营效率
- 存货周转率
- 应收账款周转率
- 总资产周转率
-
偿债能力
- 资产负债率:<70% 安全
- 流动比率:>1.5 较好
- 速动比率:>1 较好
-
现金流
- 经营现金流净额
- 自由现金流
- 现金流/净利润 比率
技术面分析维度
-
趋势判断
- 均线系统(MA5/10/20/60)
- 高低点连线
- 趋势线斜率
-
支撑阻力
- 历史高低点
- 密集成交区
- 均线支撑
-
波动特征
- 历史波动率
- 振幅统计
- 布林带宽度
估值分析框架
-
相对估值
- PE(市盈率):与历史/行业对比
- PB(市净率):适用于重资产行业
- PS(市销率):适用于成长型企业
-
绝对估值
- DCF模型
- DDM模型
报告撰写规范
标题层级
一级标题:黑体三号(16pt),如"一、投资评级"
二级标题:黑体三号(16pt),如"(一)基本面分析"
三级标题:黑体小四(12pt),如"1. 盈利能力"
正文写作原则
- 数据先行:先陈述事实数据,后给出分析结论
- 逻辑清晰:使用"首先...其次...最后..."等逻辑连接词
- 客观中立:避免使用"必然"、"一定"等绝对化表述
- 风险提示:每个投资建议都应附带风险提示
表格规范
- 表头:黑体小四(12pt),居中
- 数据:仿宋小四(12pt),居中
- 对齐:日期左对齐,数值右对齐
- 单位:在表头或表注中明确标注
数字格式
# 价格:保留2位小数
price_str = f"{price:.2f}元"
# 百分比:保留2位小数,带%号
pct_str = f"{pct:.2f}%"
# 大数字:使用万/亿单位
amount_wan = f"{amount / 10000:.0f}万元"
amount_yi = f"{amount / 100000000:.2f}亿元"
常见陷阱
数据陷阱
-
前复权与后复权混淆
- 计算收益率时必须使用前复权数据
- 查看历史价格时注意复权方式
-
停牌数据处理
- 停牌期间数据可能为空
- 成交量为0需要特殊处理
-
财报季节效应
- Q4数据通常包含全年调整
- 同比计算时注意去年同期特殊情况
分析陷阱
-
幸存者偏差
- 只分析现有公司,忽视已退市公司
- 行业对比时使用可比较样本
-
过度拟合
- 避免基于历史数据过度优化参数
- 使用滚动回测验证策略
-
相关性不等于因果性
- 相关系数高不代表因果关系
- 考虑第三变量的影响
报告陷阱
-
目标价计算过于乐观
- 考虑多种情景(乐观/中性/悲观)
- 明确目标价有效期
-
忽视流动性风险
- 小市值股票注意流动性
- 考虑交易成本影响
-
风险提示流于形式
- 针对具体股票的风险要具体化
- 量化风险等级
质量控制检查清单
数据检查
- 数据来源明确标注
- 数据时间范围正确
- 无缺失值或已说明处理方式
- 价格数据使用正确复权方式
- 财务数据使用最新财报
分析检查
- ROE、PE等关键指标计算正确
- 涨跌幅计算准确
- 均线计算无未来函数
- 支撑阻力位基于实际高低点
格式检查
- 页面边距:37/35/28/26mm
- 标题使用黑体三号
- 正文使用仿宋四号
- 表格使用小四
- 三线表格式正确
- 页脚页码格式正确
内容检查
- 核心提要包含4个要点
- 投资评级明确
- 目标价格合理且有依据
- 风险提示具体充分
- 无明显错别字
- 语句通顺无歧义
案例分析
案例1:成长股分析报告
股票特征:高ROE、高PE、快速增长
分析重点:
- 关注营收和利润增长持续性
- 分析行业空间和竞争格局
- 评估估值合理性(PEG指标)
报告结构:
核心提要
├── 高速增长:营收/利润CAGR > 30%
├── 行业龙头:市场份额持续提升
├── 估值偏高:PE高于行业平均
└── 给予"增持"评级
一、投资评级
├── 增持
├── 目标价
└── 风险提示:增速放缓风险
二、核心观点
├── (一)基本面分析
│ ├── 1. 成长性:营收增长35%,净利润增长42%
│ ├── 2. 盈利能力:ROE 22%,毛利率58%
│ └── 3. 估值:PE 45倍,PEG 1.1
├── (二)技术面分析
│ ├── 1. 趋势:长期上升通道
│ ├── 2. 支撑:MA60支撑有效
│ └── 3. 成交量:放量突破
└── (三)投资建议
└── 关注回调至支撑位买入机会
案例2:价值股分析报告
股票特征:低PE、高股息、稳定增长
分析重点:
- 关注股息率和分红稳定性
- 分析护城河和竞争优势
- 评估安全边际
核心指标对比:
| 指标 | 该公司 | 行业平均 | 评价 |
|---|---|---|---|
| PE TTM | 8.5 | 15.2 | 低估 |
| PB LF | 1.2 | 2.1 | 低估 |
| 股息率 | 5.2% | 2.8% | 优秀 |
| ROE | 14.5% | 12.3% | 良好 |
案例3:周期股分析报告
股票特征:业绩波动大、与宏观经济高度相关
分析重点:
- 关注行业景气度周期
- 分析产能利用率和库存
- 判断周期位置(顶部/底部/上升/下降)
风险提示模板:
风险提示:
1. 宏观经济下行风险
2. 行业产能过剩风险
3. 原材料价格波动风险
4. 下游需求不及预期风险
5. 政策监管变化风险
附录:常用 Wind 字段速查
价格字段
| 字段 | 说明 | 用途 |
|---|---|---|
| close | 收盘价 | 技术分析基础 |
| open | 开盘价 | 日K线 |
| high | 最高价 | 支撑阻力分析 |
| low | 最低价 | 支撑阻力分析 |
| volume | 成交量 | 量价分析 |
| amt | 成交额 | 流动性分析 |
| pct_chg | 涨跌幅 | 收益率计算 |
技术指标字段
| 字段 | 说明 | 用途 |
|---|---|---|
| ma5/ma10/ma20/ma60 | 均线 | 趋势判断 |
| pe_ttm | 市盈率TTM | 估值分析 |
| pb_lf | 市净率LF | 估值分析 |
| ps_ttm | 市销率TTM | 估值分析 |
| turnover | 换手率 | 活跃度分析 |
财务字段
| 字段 | 说明 | 用途 |
|---|---|---|
| roe_wgt | 加权ROE | 盈利能力 |
| roa2 | 总资产报酬率 | 盈利能力 |
| grossprofitmargin | 毛利率 | 盈利能力 |
| netprofitmargin | 净利率 | 盈利能力 |
| debt_to_assets | 资产负债率 | 偿债能力 |
| current_ratio | 流动比率 | 偿债能力 |
版本记录
| 版本 | 日期 | 更新内容 |
|---|---|---|
| 1.0 | 2026-02-06 | 初始版本,包含基础最佳实践 |