002428.sz,003030.sz,002425.sz
时间: 2023-08-27 18:11:59 浏览: 138
好的,根据您提供的信息,我可以帮您编写一个简单的代码,来对比这三只股票的趋势图相似度。
首先,我们需要导入一些必要的库,包括pandas、matplotlib和numpy。请在您的终端或者Python环境中输入以下命令,安装这些库:
```
pip install pandas matplotlib numpy
```
安装完成后,可以使用以下Python代码进行对比:
```python
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
# 设置起始日期和结束日期,以及股票代码
start_date = '2019-01-01'
end_date = '2021-01-01'
stock_codes = ['002428.SZ', '003030.SZ', '002425.SZ']
# 读取股票数据并进行处理
dfs = []
for code in stock_codes:
df = pd.read_csv(f'{code}.csv', index_col='trade_date', parse_dates=True)
df = df.loc[start_date:end_date]
df = df['close'].pct_change().dropna()
dfs.append(df)
# 绘制对比图
fig, ax = plt.subplots()
for df in dfs:
ax.plot(df, linewidth=1)
# 计算相似度
similarity = np.corrcoef(dfs)[0, 1]
print(f'相似度:{similarity:.2f}')
# 显示图像
plt.legend(stock_codes)
plt.show()
```
这段代码的作用是:
1. 设置起始日期、结束日期以及要对比的股票代码。
2. 读取每只股票的收盘价数据,并计算每日收益率。
3. 绘制三只股票的收益率曲线。
4. 使用numpy库中的corrcoef函数计算三只股票收益率曲线之间的相关系数,作为相似度的衡量。
5. 显示图像和相似度。
需要注意的是,这段代码中使用的是收盘价数据,如果您需要对比其他数据,例如开盘价、最高价或者最低价,可以将代码中的'close'替换为相应的数据列名。
另外,为了运行这段代码,您需要先从股票数据源下载每只股票在设定的时间范围内的历史数据,并将其保存为CSV格式。例如,对于股票代码002428.SZ,您可以在以下网址下载历史数据:http://quotes.money.163.com/trade/lsjysj_002428.html。将下载的CSV文件保存到您的Python工作目录中,并确保文件名与股票代码相同(例如002428.SZ.csv)。
阅读全文