1.首先调用tusharepro的库,和matplotlib中的可视化工具pyplot,将your token替换为tushare为你提供的api。
import tushare as ts
import matplotlib.pyplot as plt
pro = ts.pro_api('your token')#在这里输入token
2.接下来用tushare获取600031(三一重工的股票代码)的2020年的每天的开盘价,收盘价,最小值,最大值,成交手数,将数据存储在csv中。tushare的库里面似乎自带dataframe,就不需要调用pandas了。
# 获取600031的2020年每天的开盘价、收盘价、最小值、最大值、成交手数
df = pro.daily(ts_code='600031.SH', start_date='20200101', end_date='20201231',
fields='trade_date,open,close,low,high,vol')
print(df)
返回值:
trade_date open high low close vol 0 20201231 34.50 35.16 34.27 34.98 619459.34 1 20201230 33.38 34.50 33.26 34.45 638564.26 2 20201229 33.80 33.92 33.11 33.47 524752.92 3 20201228 33.80 34.40 33.42 33.95 667544.18 4 20201225 32.87 33.74 32.62 33.71 631013.73 .. ... ... ... ... ... ... 238 20200108 17.10 17.19 16.86 16.89 705015.67 239 20200107 17.20 17.41 16.98 17.19 912931.18 240 20200106 17.70 17.86 16.84 17.17 1190170.24 241 20200103 17.88 17.92 17.67 17.75 574810.63 242 20200102 17.29 17.95 17.29 17.95 1252622.07 [243 rows x 6 columns]
# 将trade_date设置为索引
df['trade_date'] = pd.to_datetime(df['trade_date'])
df.set_index('trade_date', inplace=True)
# 将数据保存到CSV文件
df.to_csv('600031_2020_daily_data.csv')
csv中的部分数据:
trade_date open high low close vol
1 2020-12-31 34.5 35.16 34.27 34.98 619459.34
2 2020-12-30 33.38 34.5 33.26 34.45 638564.26
3 2020-12-29 33.8 33.92 33.11 33.47 524752.92
4 2020-12-28 33.8 34.4 33.42 33.95 667544.18
5 2020-12-25 32.87 33.74 32.62 33.71 631013.73
6 2020-12-24 32.8 33.37 32.32 32.68 707390.43
7 2020-12-23 31.5 32.71 31.32 32.52 882038.13
8 2020-12-22 31.0 32.11 30.81 31.3 739694.28
9 2020-12-21 31.4 31.4 30.58 31.0 807548.89
10 2020-12-18 32.18 32.37 31.51 31.56 678281.63
11 2020-12-17 32.2 32.45 31.71 32.37 622378.75
12 2020-12-16 31.4 32.49 31.2 32.33 747973.27
3.将每天的收盘价可视化
# 可视化每天的收盘价
plt.figure(figsize=(10, 6))
df['close'].plot(title='600031 Daily Close Price in 2020')
plt.xlabel('Date')
plt.ylabel('Close Price (CNY)')
plt.grid(True)
plt.show()
可以灵活调整展示不同的数据。