用python计算股票收益率和波动率
时间: 2024-10-15 17:30:23 浏览: 109
在Python中,计算股票收益率和波动率通常涉及到金融数据处理和统计分析。以下是简单的步骤:
1. **收益率计算**:
- **简单收益率** (Daily Return): 每天的价格变化除以前一天的价格。例如:
```python
def daily_return(price_list):
return [price_t / price_t_1 - 1 for t in range(1, len(price_list)) for price_t_1, price_t in zip(price_list[:-1], price_list)]
```
- **累计收益率** (Cumulative Return): 将每日收益率累加起来得到总回报。可以使用`numpy`库的`cumprod`函数。
2. **波动率计算**:
- **标准差(Volatility,常用指标)**: 可以通过计算每天收益率的标准差来衡量价格的波动程度。例如,使用`pandas`库:
```python
import pandas as pd
from numpy import std
def volatility(daily_returns):
return std(daily_returns)
```
- **更复杂度量如年化波动率**: 需要将日均波动率乘以交易日数的平方根(假设每年大约有250个交易日)。例如:
```python
def annualized_volatility(vol, trading_days_per_year):
return vol * np.sqrt(trading_days_per_year)
```
记得先将股票价格序列转换成每日收盘价数组,并确保日期顺序一致。
阅读全文