今天,我们学习使用pandas中的rank()函数进行排名。
在量化交易中,经常会用到排名,比如按市值从小到大排名,排名靠前的优先买入;比如按ROE从大到小排名,排名靠前的优先买入。
下面我们按成交量由大到小排名,简单的学习一下rank()函数的使用方法。
首先,获取数据,我们获取股票000333今年前10个交易日的成交量等数据:
df = pro.daily(ts_code='000333.SZ', start_date='20240101', end_date='20240303')#取数据
df=df[['ts_code','trade_date','open','high','low','close','volume']]#筛选需要的列
df=df.sort_values(by='trade_date')#按交易日期升序排列
df=df.head(10)
df
返回:

然后,按成交量从大到小进行排序:
df['成交量排名']=df['volume'].rank(ascending=False).map(lambda x:int(x))
df

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