根据自己的数据集进行多支股票的选股回测的python代码
时间: 2023-09-12 14:13:17 浏览: 95
以下是一个简单的基于Python的选股回测代码示例,它使用了pandas和numpy库来处理数据和计算指标,使用matplotlib库来绘制图表:
```python
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 读取数据
data = pd.read_csv("stocks_data.csv")
# 计算每只股票的收益率
data['return'] = data.groupby('code')['close'].pct_change()
# 计算每只股票的年化收益率
data['annual_return'] = (1 + data['return']).rolling(window=252).apply(np.prod, raw=True) - 1
# 选出年化收益率排名前10的股票
top10 = data.groupby('code')['annual_return'].mean().nlargest(10).index.tolist()
# 计算选中的股票组合的累计收益率
returns = data[data['code'].isin(top10)].groupby('date')['return'].mean().cumsum()
# 绘制累计收益率曲线图
plt.plot(returns.index, returns.values)
plt.title("Top 10 Stocks Portfolio Returns")
plt.xlabel("Date")
plt.ylabel("Cumulative Return")
plt.show()
```
这段代码假设你已经有了一个名为"stocks_data.csv"的数据集,其中包含每只股票的每日收盘价。它首先计算每只股票的收益率和年化收益率,然后选择年化收益率排名前10的股票,计算选中股票组合的累计收益率,并绘制累计收益率曲线图。
阅读全文