这个问题的范围有点广呀~我想了一下在管理司帐中我们会常用关键绩效指标考察的方法,去分解公司经营的计策目标进而实现提升企业经营效益的目的,那么绩效管理一样平常包括绩效考察和勉励管理:
个中,绩效评价是对一定期间内企业营运效率与效果进行综合评判的管理活动,是企业履行绩效管理的主要依据。在十大管理司帐常用的工具中就包含了绩效评价部分的关键绩效指标法和经济增加值法。
关键绩效指标是对公司计策目标的进一步细化和发展。针对职位而设置,着眼于考察当年的事情绩效、具有可衡量性,而且关键绩效指标随公司计策目标的发展演化而调度。

公司关键绩效指标常日由以下几个层级构成:
一是公司级关键绩效指标,它是由公司的计策目标蜕变而来的;二是部门级关键绩效指标,它是根据公司级关键绩效指标和部门职责来确定;三是由部门关键绩效指标落实到详细的岗位(或子部门)的古迹衡量指标。以某公司的KPI分解为例
在KPI体系中,财务指标因其可量化、便于横向比较和考察的特性,扮演着非常主要的浸染。
在本日的案例中,我们通过Python获取某家公司的财务报表,并打算与之干系的提升企业经营效益的业财关键指标。
在开始打算之前,先为先容一个从网页抓取财务报表的方法。由于上市公司的报表都是在网页上公开表露的,如果我们能直接拿到这些报表数据来进行剖析的话,会更加真实直不雅观~
1
数据准备
我们利用Pandas读取网页数据,在开始之前,先安装须要的引擎lxml(下载后可能要重启打算机或Python做事才可利用)
#pip install lxmlimport pandas as pdpd.options.display.float_format='{:,.2f}'.format
在案例中,我们随意挑选一只股票600007-中国国贸,重新浪财经上看报表数据:
# 股票编号600007-中国国贸的三张主表地址url_1='https://vip.stock.finance.sina.com.cn/corp/go.php/vFD_BalanceSheet/stockid/600007/ctrl/part/displaytype/4.phtml' #资产负债表url_2='https://vip.stock.finance.sina.com.cn/corp/go.php/vFD_ProfitStatement/stockid/600007/ctrl/part/displaytype/4.phtml' #利润表url_3='https://vip.stock.finance.sina.com.cn/corp/go.php/vFD_CashFlow/stockid/600007/ctrl/part/displaytype/4.phtml'#现金流量表
2
数据处理
读取第一张报表,pandas库中的read_html方法能够快速抓取网页中常见的表格型数据,他的返回值是DataFrame组成的list。
df_1 = pd.read_html(url_1)print(len(df_1))for i in df_1:print(i)print('-------------------------间隔线------------------------------')df_1的长度为15,实际上就代表网页上有15个表格
资产负债表在倒数第二个表格,索引号是13(索引号比自然顺序小1)
bal_sht=df_1[13]bal_sht
去掉一些NaN的行:
bal_sht=bal_sht.dropna().
reset_index(drop=Ture)
bal_sht
把数据的第一行变成列索引:
bal_sht.columns=bal_sht[0:1].values[0]bal_sht.drop(0,inplace=Ture)#drop函数默认删除行,删除列才加axis=1,inplace=False在原表根本上删除,无返回值bal_sht
更换显示为“--”的0数据,其余,把报表项作为index,以方便后续打算:
# 语法:df.replace(to_replace, value, inplace = false),改变源数据须要利用inplace = Truebal_sht.replace('--', 0, inplace = True)bal_sht.set_index('报表日期',inplace = True)bal_sht.index.name=Nonebal_sht
将文本类型数字转换为float:
bal_sht=bal_sht.astype(float)bal_sht
同样的方法获牟利润表:
df_2 = pd.read_html(url_2)p_l = df_2[13]p_l = p_l.dropna().reset_index(drop=True)p_l.columns = p_l[0:1].values[0]p_l.drop(0,inplace=True)p_l.replace('--', 0,inplace=True)p_l.set_index('报表日期', inplace = True)p_l.index.name=Nonep_l = p_l.astype(float)p_l
获取现金流量表:
df_3 = pd.read_html(url_3)cash_flow = df_3[13]cash_flow =cash_flow.dropna().reset_index(drop=True)cash_flow.columns =cash_flow[0:1].values[0]cash_flow.drop([0,1,12,25,42],inplace=True)cash_flow.replace('--', 0,inplace=True)cash_flow.set_index('报表日期', inplace = True)cash_flow.index.name=Nonecash_flow = cash_flow.astype(float)cash_flow.head(10)
以上是获取网页中的静态报表的方法,其余,现在很多网页都采纳JavaScript进行动态渲染(这类网站如果用Panda read_html读取是没有数据的),当碰着这两类网页时,须要采纳新的方法获取数据,这个中包括干脆、直接、好用的Selenium。
3
按照公式打算业财关键指标
接下来就开始打算常用的代表盈利能力的财务指标:
发卖利润率=净利润/发卖收入总资产净利润率=净利润/均匀总资产权柄成本利润率(ROE)=净利润/均匀权柄成本KPI = pd.DataFrame()KPI['发卖利润率'] = p_l.loc['五、净利润']/p_l.loc['一、业务总收入']KPI['总资产净利润率'] = p_l.loc['五、净利润']/(bal_sht.loc['资产总计']+bal_sht.loc['资产总计'].shift(-1))2KPI['权柄成本利润率'] = p_l.loc['五、净利润']/(bal_sht.loc['所有者权柄(或股东权柄)合计']+bal_sht.loc['所有者权柄(或股东权柄)合计'].shift(-1))2KPIshift()函数用于实现DataFrame偏移,这里我们用来获取上年数,以作均匀值的打算。
代表流动性的指标:
流动比率=流动资产/流动负债速动比率=(流动资产-存货)/流动负债现金比率=货币资金/流动负债KPI['流动比率'] = bal_sht.loc['流动资产合计']/bal_sht.loc['流动负债合计']KPI['速动比率'] = (bal_sht.loc['流动资产合计']-bal_sht.loc['存货'])/bal_sht.loc['流动负债合计']KPI['现金比率'] = bal_sht.loc['货币资金']/bal_sht.loc['流动负债合计']KPI
代表偿债能力和资产营运能力的指标:
总资产负债率=总负债/总资产总资产周转次数=发卖收入/均匀总资产KPI['总资产负债率'] = bal_sht.loc['负债合计']/bal_sht.loc['资产总计']KPI['总资产周转次数'] = p_l.loc['一、业务总收入']/(bal_sht.loc['资产总计']+bal_sht.loc['资产总计'].shift(-1))2KPI
代表现金创造能力的指标:
发卖获现率=经营性现金净流量/发卖收入净利润的现金含量=经营性现金净流量/净利润KPI['发卖获现率'] = cash_flow.loc['经营活动产生的现金流量净额']/p_l.loc['一、业务总收入']KPI['净利润的现金含量'] = cash_flow.loc['经营活动产生的现金流量净额']/p_l.loc['五、净利润']KPI
在上述案例中,我们通过数字化工具Python完成了上市公司财务报表的获取,打算出企业需提高经营效益所关注的发卖利润率、总资产净利润率、权柄成本利润率等关键的业财领悟指标。详细的操作方法还是相对大略的,你学会了吗?
©图片版权归财码数字化所有,如对版权有异议,请联系后台议定处理。
本文由财码数字化整理发布,如需转载请务必注明以上信息。