import pandas as pd #可以将本地的文件数据读取到df,./data/600519.xlsx df = pd.read_excel('data/600519.xlsx') df.head()
Out[186]:
#删除无用的一列 df.drop(columns='Unnamed: 0',inplace=True) #inplace=True将删除操作作用在了原始数据中
df.shape
(2153, 7)
df.head()
#将date列转转换成时间类型 df['date'] = df['date'].astype('datetime64') #astype用作类型转换
计算股票的每日收益率和7日波动率:通过计算收益率和波动率,评估股票的风险和收益情况。
每日收益率:(当日收盘价 - 前一日的收盘价)/ 前一日的收盘价
shift():将一组数据向前或者前后进行移动
7日波动率:对每日收益率数据进行每7日滚动的方差计算
rolling():设置滚动窗口
df['close'].shift(1) #前日收盘
#每日收益率:(当日收盘价 - 前一日的收盘价)/ 前一日的收盘价 day_rate = (df['close'] - df['close'].shift(1)) / df['close'].shift(1) day_rate
#7日波动率 day_7_rolling_rate = day_rate.rolling(7).var() #var计算一组数据的方差 day_7_rolling_rate
#每日市值 day_values = df['close'] * df['volume'] day_values
#找出市值数据中最大最小值下标(市值最大和最小日期) day_values.idxmax() #求最大元素下标
day_values.idxmin() #求最小元素下标
输出该股票所有收盘比开盘上涨3%以上的日期
(收盘 - 开盘) / 开盘 > 0.03