从AKShare获取特定股票(池)日度行情数据。起止时间:2023年1月1日到2024年11月18日。所用股票为A股的代码最后两位为67的股票。绘制这段时间内的股票开盘价和收盘价曲线
时间: 2024-12-15 13:24:08 浏览: 37
为了从AKShare获取特定时期内A股股票的开盘价和收盘价,并绘制曲线图,你可以按照以下步骤操作:
1. 首先,确保你已经安装了`akshare`库,如果没有,可以使用pip安装:
```bash
pip install akshare
```
2. 导入必要的模块以及数据可视化库,比如`pandas`和`matplotlib`:
```python
import pandas as pd
import matplotlib.pyplot as plt
from akshare.stock_zh_a_spot import stock_zh_a_daily
```
3. 使用`stock_zh_a_daily`函数,过滤出符合条件的股票(股票代码最后两位为67)并设定起止日期(2023年1月1日至2024年11月18日):
```python
start_date = '20230101'
end_date = '20241118'
code_pattern = '67$' # 正则表达式匹配股票代码的最后两位为67
stock_df = stock_zh_a_daily(start_date=start_date, end_date=end_date, symbol=code_pattern)
```
4. 数据清洗和准备用于绘图的数据:
```python
stock_df['date'] = pd.to_datetime(stock_df['trade_date']) # 将日期列转换为datetime类型
stock_df.set_index('date', inplace=True) # 将日期设为索引以便于查询
opening_prices = stock_df['open'].astype(float) # 开盘价
closing_prices = stock_df['close'].astype(float) # 收盘价
```
5. 绘制曲线图:
```python
fig, ax = plt.subplots()
ax.plot(stock_df.index, opening_prices, label='开盘价')
ax.plot(stock_df.index, closing_prices, label='收盘价')
ax.set_title('特定股票2023年1月至2024年11月开盘价和收盘价')
ax.legend()
plt.xlabel('日期')
plt.ylabel('价格')
plt.show()
```
这将显示在这段时间内选定股票的开盘价和收盘价的折线图。
阅读全文