👉博__主👈:米码收割机
👉技__能👈:C++/Python语言
👉公众号👈:测试开发自动化【获取源码+商业合作】
👉荣__誉👈:阿里云博客专家博主、51CTO技术博主
👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。
【python】python企业财务能力数据分析可视化(源码+报告+数据集)【独一无二】
目录
- 【python】python企业财务能力数据分析可视化(源码+报告+数据集)【独一无二】
- 一、设计要求
- 二、设计思路
- 一、数据获取与存储
- 二、财务数据分析与可视化
- 三、可视化分析
- 盈利能力分析
- 偿债能力分析
- 运营能力分析
- 成长能力分析
一、设计要求
选取中铁和贵州茅台进行分析
1.选取企业至少有5年的财务数据,能够进行纵向分析;
2.选取至少两家同类具有可比性的公司进行横向比较,并与行业均值进行对比分析;
3.分析结合实际财务数据及指标,有理有据;
3. 分析报告图文结合,具有较好的呈现效果;
import akshare as ak
zcfz = ak.stock_financial_report_sina(stock="sz000858", symbol="资产负债表")
lrb= ak.stock_financial_report_sina(stock="sh601933", symbol="利润表")
zcfz.to_excel(‘资产负债表.xlsx')
lrb.to_excel('b.xlsx')
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 财务 ” 获取。👈👈👈
二、设计思路
代码实现了从外部数据源获取两家公司的五年财务数据,并对其进行财务能力分析,主要关注盈利能力、偿债能力、运营能力和成长能力。代码分为两个主要部分:数据获取与存储、财务数据分析与可视化。以下是对每个部分的详细分析。
一、数据获取与存储
-
库的导入:
- 代码首先导入了
akshare
、pandas
和matplotlib
以及seaborn
库。akshare
用于获取股票的财务数据,pandas
用于数据处理,matplotlib
和seaborn
用于数据可视化。
- 代码首先导入了
-
定义获取财务数据的函数:
- 定义了
get_financial_data(symbol)
函数,使用ak.stock_financial_analysis_indicator
获取指定股票的财务数据。该函数接收股票代码作为参数,返回包含财务数据的 DataFrame。如果数据获取失败,函数会捕捉异常并返回一个空的 DataFrame。
- 定义了
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 财务对比 ” 获取。👈👈👈
- 获取两家公司的财务数据:
- 使用字典
stocks
存储两家公司的名称和对应的股票代码。遍历该字典,调用get_financial_data
函数获取每家公司的财务数据,并存储在financial_data
字典中。 - 遍历
financial_data
字典,检查是否成功获取数据。如果成功,将数据保存到对应公司的 Excel 文件中,文件名为{公司名}_财务摘要.xlsx
。
- 使用字典
# 导入所需的库
import akshare as ak
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# 获取五年财务数据
def get_financial_data(symbol):
try:
# 👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 财务 ” 获取。👈👈👈
return data
except Exception as e:
print(f"Error fetching data for stock {symbol}: {e}")
return pd.DataFrame()
# 获取两家公司的财务摘要数据
stocks = {
'中国石油': '601857',
'招商银行': '600036',
}
financial_data = {}
for company, stock_code in stocks.items():
# 👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 财务 ” 获取。👈👈👈
financial_data[company] = data
# 检查是否成功获取数据
for company, data in financial_data.items():
if data.empty:
print(f"No data found for {company}.")
else:
print(f"Data for {company} successfully fetched.")
# 保存数据到Excel文件
for company, data in financial_data.items():
# 👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 财务 ” 获取。👈👈👈
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 财务 ” 获取。👈👈👈
二、财务数据分析与可视化
- 库的导入:
- 代码导入了
pandas
和matplotlib
库,用于数据处理和可视化。 - 设置
plt.rcParams
参数以支持中文字符显示,并确保负号可以正常显示。
- 代码导入了
import pandas as pd
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False #用来正常显示负号
-
读取财务数据:
- 从前面保存的 Excel 文件中读取两家公司的财务数据,分别存储在
cmb_data
和petrochina_data
DataFrame 中。使用fillna(0)
方法处理空值,将其填充为 0,以避免后续计算中出现错误。
- 从前面保存的 Excel 文件中读取两家公司的财务数据,分别存储在
-
计算四大能力的平均值:
- 定义了
calculate_averages
函数,计算每家公司财务数据中的四大能力的平均值:- 盈利能力:使用每股收益(调整后)的平均值表示。
- 偿债能力:使用流动比率的平均值表示。
- 运营能力:使用总资产周转率的平均值表示。
- 成长能力:使用主营业务收入增长率的平均值表示。
- 分别计算招商银行和中国石油的四大能力平均值,存储在相应的变量中。
- 定义了
def calculate_averages(data):
profitability = data['每股收益_调整后(元)'].mean()
# 略。。。。
# 略。。。。
# 略。。。。 # 👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 财务 ” 获取。👈👈👈
return profitability, solvency, operating, growth
- 绘制图表:
- 绘制盈利能力、偿债能力、运营能力和成长能力对比的柱状图:
- 盈利能力:比较两家公司平均每股收益(调整后),展示盈利能力对比。
- 偿债能力:比较两家公司平均流动比率,展示偿债能力对比。
- 运营能力:比较两家公司平均总资产周转率,展示运营能力对比。
- 成长能力:比较两家公司平均主营业务收入增长率,展示成长能力对比。
- 使用
matplotlib
库的bar
方法绘制柱状图,设置适当的标题、标签和颜色,使图表更直观。
- 绘制盈利能力、偿债能力、运营能力和成长能力对比的柱状图:
# 绘制成长能力图表
plt.figure(figsize=(10, 6))
plt.bar(['招商银行', '中国石油'], [cmb_growth, petro_growth], color=['blue', 'green'])
plt.xlabel('公司')
plt.ylabel('平均主营业务收入增长率(%)')
plt.title('成长能力对比')
plt.show()
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 财务 ” 获取。👈👈👈
这段代码通过以下步骤实现了对两家公司的财务数据分析和可视化:
- 数据获取:使用
akshare
库获取两家公司的五年财务数据,并处理异常情况,确保数据获取的可靠性。 - 数据存储:将获取的财务数据保存到 Excel 文件中,便于后续的分析和查看。
- 数据处理:读取并清理数据,处理空值,确保数据的完整性和一致性。
- 计算分析:计算四大财务能力的平均值,提供量化的财务能力对比指标。
- 数据可视化:通过柱状图直观展示两家公司在盈利能力、偿债能力、运营能力和成长能力方面的对比情况,为财务分析提供了有力的支持。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 财务 ” 获取。👈👈👈
整个代码设计思路清晰,结构合理,通过数据获取、存储、处理、分析和可视化等一系列步骤,全面展示了两家公司财务能力的多维度对比。这种方法不仅提高了数据分析的效率和准确性,还为进一步的财务决策和市场分析提供了坚实的基础。
三、可视化分析
盈利能力分析
在盈利能力方面,我们选取了每股收益(EPS)作为核心指标。每股收益反映了公司在一定时期内的盈利能力,是衡量企业盈利水平的重要指标。从数据来看,招商银行和中国石油的每股收益在过去几年中呈现出一定的波动性。通过对两家公司的EPS进行横向对比,招商银行的每股收益较为稳定,表现出较强的盈利能力;而中国石油的每股收益则受国际油价波动和国内外市场环境影响较大,波动幅度较大。纵向分析中,招商银行通过持续的业务创新和高效的风险管理,保持了稳健的盈利增长;而中国石油则在能源价格剧烈波动和全球经济不确定性增加的背景下,盈利能力有所波动。总体来看,招商银行的盈利能力较强且稳定,而中国石油的盈利能力虽具备一定的增长潜力,但受外部市场影响较大,需要进一步提升其抗风险能力。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 财务 ” 获取。👈👈👈
偿债能力分析
偿债能力是衡量企业能否按时偿还债务的重要指标之一,我们选取流动比率作为分析指标。流动比率反映了企业流动资产与流动负债的比值,较高的流动比率表明企业有较强的短期偿债能力。横向对比中,招商银行的流动比率明显高于中国石油,这反映出招商银行在短期偿债能力方面具有更强的保障。纵向分析显示,招商银行的流动比率相对稳定,表明其在资产管理和负债控制方面较为稳健;而中国石油的流动比率则呈现出一定的波动,可能与其高资本支出和市场环境变化有关。整体而言,招商银行在短期偿债能力方面表现较好,具有较高的财务安全性;而中国石油需要进一步优化其资产负债结构,提升流动比率,以增强其短期偿债能力。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 财务 ” 获取。👈👈👈
运营能力分析
在运营能力方面,总资产周转率是一个关键指标。总资产周转率反映了企业通过资产获得收入的效率,较高的周转率意味着企业资产利用效率较高。从横向比较来看,招商银行的总资产周转率明显低于中国石油,这是因为银行业的资产主要集中在贷款和投资,周转速度相对较慢。而中国石油作为能源企业,其总资产周转率较高,反映出其在资产利用效率方面具有优势。纵向分析中,招商银行的总资产周转率变化不大,保持了较为稳定的资产运营效率;而中国石油的总资产周转率则受市场需求和油价波动影响较大,存在一定的波动性。总体来看,中国石油在资产利用效率方面表现较好,但需要关注市场环境变化对其运营能力的影响;而招商银行则需通过提升资产管理效率,进一步提高其总资产周转率。
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 财务 ” 获取。👈👈👈
成长能力分析
成长能力是企业未来发展的关键,我们选取主营业务收入增长率作为指标。主营业务收入增长率反映了企业核心业务的扩张能力和市场竞争力。横向对比中,招商银行的主营业务收入增长率较为平稳,显示出其在金融市场中具有较强的竞争力和稳定的增长潜力;而中国石油的主营业务收入增长率则波动较大,主要受国际油价和市场需求的影响。纵向分析显示,招商银行通过不断创新金融产品和优化客户服务,保持了稳定的收入增长;而中国石油在面对油价波动和市场环境变化时,其收入增长表现出较大波动,需要进一步提升其市场应变能力和业务多元化水平。总体来看,招商银行在成长能力方面表现出色,具有较强的持续增长潜力;而中国石油则需通过多元化经营和提升技术水平,以增强其收入增长的稳定性。
总体而言,通过对招商银行和中国石油在盈利能力、偿债能力、运营能力和成长能力方面的分析,我们可以看出两家公司在各自领域内的财务表现和风险状况。招商银行表现出较强的盈利能力和较低的财务风险,具有稳定的成长潜力;而中国石油则在运营能力和市场扩张方面具备优势,但需要进一步提升其财务稳健性和抗风险能力。通过对比分析,我们可以为企业提供针对性的改进建议,帮助其在复杂的市场环境中实现可持续发展
👉👉👉 源码获取 关注【测试开发自动化】公众号,回复 “ 财务 ” 获取。👈👈👈