计算股票收益率与波动率
问题引入:为什么收益率和波动率是投资决策的「指南针」与「安全气囊」?
假设你已经掌握了数据获取、清洗和时间序列操作技能,面对处理完善的A股历史行情数据,准备开始核心的量化分析。这时,你需要回答几个关键问题:
- 收益评估:一只股票在过去一年中的整体表现如何?是简单收益率更能反映实际回报,还是对数收益率更适合长期分析?
- 风险度量:股票价格的波动有多大?日波动率和年化波动率有何区别?如何通过滚动波动率观察风险的变化趋势?
- 组合构建:多只股票之间的收益率相关性如何?哪些股票可以分散风险,哪些会放大波动?
- 策略基础:收益率和波动率数据如何为后续的因子计算、策略回测奠定基础?
根据《量化投资:以Python为工具》统计,超过80%的量化策略直接或间接依赖于收益率和波动率指标。但实际应用中常见两大误区:
核心问题:如何通过Python准确计算股票的各类收益率和波动率指标,并将这些基础指标转化为有实际投资指导意义的分析工具?
知识铺垫:收益率与波动率的四大核心体系
2.1 简单收益率 vs 对数收益率:应用场景的本质区别
| 简单收益率 | Rt=Pt−Pt−1Pt−1R_t = \\frac{P_t – P_{t-1}}{P_{t-1}}Rt=Pt−1Pt−Pt−1 | 相邻价格的变化率,反映单期实际盈亏 | 短期分析、每日盈亏计算、投资者直观理解 | df[\’close\’].pct_change() |
| 对数收益率 | rt=ln(PtPt−1)r_t = \\ln\\left(\\frac{P_t}{P_{t-1}}\\right)rt= |
