简单学量化pandas的应用4shift函数求每日涨跌幅

shift() 是 Pandas 中一个常用的数据处理函数,它用于对数据进行移动,如“列名.shift(1)”是将某一列数据向下移动一行。

下面我们结合股票行情数据讲一下shift()的应用。

首先,获取数据,这是我们获取000333今年的日k线数据:

df = pro.daily(ts_code='000333.SZ', start_date='20240101', end_date='20240228')#取数据
df=df[['ts_code','trade_date','open','high','low','close']]#筛选需要的列
df=df.sort_values(by='trade_date')#按交易日期升序排列
df

返回(不完全截图):

简单学量化pandas的应用4shift函数求每日涨跌幅

然后,生成新的一列——将收盘价close一列向下移动一行,变成昨日收盘价。

df['pre']=df['close'].shift(1)
df

返回(不完全截图):

简单学量化pandas的应用4shift函数求每日涨跌幅

1月2日这一行,因为没有前一日数据,所以pre处为空值

最后,计算出涨跌幅度:

df['chg']=(df['close']-df['pre'])/df['pre']
df['chg']=df['chg'].map(lambda x:format(x,'.3%'))#数字格式化,用百分数表示,并保留3位小数
df

返回(不完全截图):

简单学量化pandas的应用4shift函数求每日涨跌幅

chg一列即为相比前一交易日的涨跌幅度。

发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/74940
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!

(0)
股市刺客的头像股市刺客
上一篇 2024 年 7 月 11 日
下一篇 2024 年 7 月 11 日

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注