1. 实验介绍
    1.1. 实验目的
    本实验主要介绍企业现金流指标的爬取与可视化。基于网络爬虫,爬取企业连续5年的企业现金流关键财务指标,通过饼图、柱状图、折线图等对相关指标进行可视化展示。

1.2. 知识点
•现金净流量介绍
•现金净流量作用
•现金净流量指标
•现金净流量爬取
•现金净流量展示

  1. 企业现金净流量介绍
    经营活动现金净流量是经营现金毛流量扣除经营营运资本增加后企业可提供的现金流量。
    经营活动现金净流量反映出的财务状况、现金流量结构十分重要,总量相同的现金流量在经营活动、投资活动、筹资活动之间分布不同,则意味着不同的财务状况。
  2. 企业现金净流量指标
    分析现金净流量主要考察以下几项指标:
    •经营现金净流量对销售收入比率
    •资产的经营现金流量回报率
    •经营现金净流量与净利润的比率
    •经营现金净流量对负债比率
    •现金流量比率
  3. Python 企业现金流量数据爬取
    4.1. 模块引入
import tushare as ts
import matplotlib.pyplot as plt
import numpy as np

分别引入了财务模块、可视化模块与计算科学模块。

4.2. 参数定义

scode ='300114'
timelist=[2010,2011,2012,2013,2014]
year1=2010
year2=2011
year3=2012
year4=2013
year5=2014

定义企业代码‘300114’,时间年限为连续的5年,2010到2014年。这些参数是可以修改的。

4.3. 时间处理

def get_operation_data(year1, year2, year3, year4, year5, scode):
    timelist = []
    timelist.append(year1)
    timelist.append(year2)
    timelist.append(year3)
    timelist.append(year4)
    timelist.append(year5)

将传入的时间参数转化为列表。

4.4. 初始化数组

cf_sales = []  # 经营现金净流量对销售收入比率
rateofreturn = []  # 资产的经营现金流量回报率
cf_nm = []  # 经营现金净流量与净利润的比率
cf_liabilities = []  # 经营现金净流量对负债比率
cashflowratio = []  # 现金流量比率

初始化数组,用于保存数据。

4.5. 获取财务数据

for i in timelist:
    cashflow_data = ts.get_cashflow_data(i, 4)
    cashflow_data.index = cashflow_data.code
    data = cashflow_data[cashflow_data.index == scode]

    cf_sales.append(float(data.cf_sales))
    rateofreturn.append(float(data.rateofreturn))
    cf_nm.append(float(data.cf_nm))
    cf_liabilities.append(float(data.cf_liabilities))
    cashflowratio.append(float(data.cashflowratio))

爬取所需对的财务数据。

  1. Python 企业现金流量财务数据展示
    5.1. 经营现金净流量对销售收入比率折线图
    具体代码如下:
#经营现金净流量对销售收入比率
plt.subplot(231)
plt.title('OCF/Sales')
plt.plot(cf_sales, 'r', label='OCF/Sales')
plt.xticks(ind, (year1, year2, year3, year4, year5))

输出结果:

python年报分析 python分析财报_python

5.2. 资产的经营现金流量回报率折线图
具体代码如下:

# 资产的经营现金流量回报率
plt.subplot(232)
plt.title('OCF/Asset')
plt.plot(rateofreturn, 'g', label='OCF/Asset')
plt.xticks(ind, (year1, year2, year3, year4, year5))

输出结果:

python年报分析 python分析财报_可视化_02

5.3. 经营现金净流量与净利润的比率折线图
具体代码如下:

# 经营现金净流量与净利润的比率
plt.subplot(233)
plt.title('OCF/NI')
plt.plot(cf_nm, 'b', label='OCF/NI')
plt.xticks(ind, (year1, year2, year3, year4, year5))

输出结果如下:

python年报分析 python分析财报_python_03

5.4. 经营现金净流量对负债比率折线图
具体代码如下:

# 经营现金净流量对负债比率
plt.subplot(234)
plt.title('OCF/Liabilities')
plt.plot(cf_liabilities, 'r', label='OCF/Liabilities')
plt.xticks(ind, (year1, year2, year3, year4, year5))

输出结果如下:

python年报分析 python分析财报_Sales_04

5.5. 现金流量比率折线图
具体代码如下:

# 现金流量比率
plt.subplot(235)
plt.title('CashflowRatio')
plt.plot(cashflowratio, 'g', label='CashflowRatio')
plt.xticks(ind, (year1, year2, year3, year4, year5))
plt.show()

输出结果如下:

python年报分析 python分析财报_可视化_05

5.7. 最终结果

最终结果如下:

python年报分析 python分析财报_python_06

  1. 学习总结
    经过本实验,我们主要掌握了企业现金流量指标的爬取与可视化。我们爬取并展示了企业的经营现金净流量对销售收入比率、资产的经营现金流量回报率、经营现金净流量与净利润的比率、经营现金净流量对负债比率和现金流量比率等现金流量财务指标。