上市公司净利润增长率的计算
上市公司净利润增长率是公司基本面分析的重要参考指标,其指标的计算也是金融数据挖掘分析中的一个重要基础任务。本案例要求计算连续三年的净利润增长率,通过观察连续三年的净利润增长率情况,可以选出成长能力较好的上市公司,从而为投资者提供一定的参考价值。下面将给出具体的计算实现方法。
上市公司净利润增长率指标计算的基本思路如下:首先需要选择满足2014~2017年都存在利润数据的上市公司,不满足条件的删除。其方法是将data2.xlsx中的Stkcd列转化为序列,采用值统计函数value_count()即可实现筛选。其次对满足条件的股票代码,采用循环的方式,依次取得4年的净利润数据,将其转化为Numpy数据组的形式,假设记为d,则3年的净利润增长率=(d[1:]-d[0:-1])/d[0:-1]。最后将结果整理为数据框的形式展现出来,其中index为股票名称。示例代码如下:
import pandas as pd
dt=pd.read_excel('data2.xlsx') #获取数据
#选择满足2014~2017年都存在利润数据上市公司股票代码,即存在4个会计年度
code=dt['Stkcd'].value_counts()
code=list(code[code==4].index)
#将股票基本信息表转化为序列,其中index为股票代码,值为股票名称
info=pd.read_excel('info.xlsx')
S=pd.Series(info.iloc[:,1].values,index=info.iloc[:,0].values)
#预定义4个list,依次存放股票名称、2015、2016、2017年的净利润增长率
list1=[]
list2=[]
list3=[]
list4=[]
for t in range(len(code)):
d=dt.iloc[dt.iloc[:,0].values==code[t],2].values
r=(d[1:]-d[0:-1])/d[0:-1]
if len(r[r>0.4])==3:
list1.append(S[code[t]])
list2.append(r[0])
list3.append(r[1])
list4.append(r[2])
#将净利润增长率数据定义为字典
D={'2015':list2,'2016':list3,'2017':list4}
#将字典转化为数据框,index为股票名称
D=pd.DataFrame(D,index=list1)