请用python写计算股票收益率的代码
时间: 2024-09-12 21:13:31 浏览: 73
Python多因子选股全流程全部代码(包含数据)
5星 · 资源好评率100%
在Python中,计算股票收益率通常涉及到两个连续的价格点,通常是收盘价。以下是一个简单的例子,假设我们有一个包含日期和收盘价的列表,我们可以计算每日回报率:
```python
def calculate_daily_return(prices):
# 确保价格列表有至少两个元素
assert len(prices) > 1, "Price list must have at least two elements"
returns = []
for i in range(1, len(prices)):
# 计算每一天相对于前一天的回报率
daily_return = (prices[i] - prices[i-1]) / prices[i-1]
returns.append(daily_return)
return returns
# 假设我们有一个股票价格序列,格式为 [(date1, close_price1), (date2, close_price2), ...]
stock_prices = [
("2023-01-01", 100),
("2023-01-02", 105),
("2023-01-03", 110),
# 更多日期和收盘价...
]
# 计算并打印每日收益率
daily_returns = calculate_daily_return([price[1] for price in stock_prices])
for i, ret in enumerate(daily_returns, start=1):
print(f"Day {i}: Return = {ret * 100:.2f}%")
# 如果你想得到累积回报率,可以用numpy的prod函数
cumulative_return = (np.array(daily_returns) + 1).prod() - 1
print(f"Cumulative Return: {cumulative_return * 100:.2f}%")
```
阅读全文