财码python官网_财码Python小实验之融资分析

从本篇开始,财码小秘书将带小伙伴们进入投融资专题,今天的主题是融资分析小实验,欢迎大家来撩

01 融 资 概 述融资是指企业为满足生产经营资金的需要,向企业外部单位或个人以及从其企业内部筹措资金的一种财务活动。融资的目的一般包括:满足企业发展对资金的需要

保证日常经营活动顺利进行

调整资本结构按照融资方式,融资可以分为权益资本和债务资本:一般而言,权益性资本的成本高于债务性资本,但筹资风险小于债务融资。企业在选择融资方式时,会考虑的因素包括:时效性:能否及时获取

财务可行性:能否足额获取(债务融资有授信额度)

融资成本:能否以较低的成本获取

控制程度:是否满足企业决策权控制要求(稀释股权)

02 确定融资需求

销售百分比法是企业在预测资金需要量时常用的方法之一。该方法假设在一定的销售收入范围内,财务报表中的敏感项目与销售收入之间的百分比保持不变,非敏感项目的数额保持不变。我们来看一下销售百分比法的实施步骤:01 销售预测销售预测。预测未来某一时期的销售总额或销售增长率。02 计算百分比计算当前资产负债表中各项目与当前销售额的百分比,并区分敏感性项目和非敏感性项目。03 计算资金需求总额预计销售收入的增长数额×(敏感性资产项目与销售额的百分比-敏感性负债项目与销售额的百分比)。这里认为敏感性项目会随销售增长而变化,非敏感项目保持不变。04 测算所需融资根据利润率和股利分配政策估计内部留存收益。外部融资需求=融资总需求-留存收益增加,留存收益增加=预计销售收入*计划销售净利率*(1-股利支付率)。外部融资可以通过借款或增发股本筹资,涉及资本结构管理问题。通常,在目标资本结构允许的情况下,企业会优先使用借款融资。本节课的案例我们用Python模拟某家公司测算融资需求的过程。选择600216股票,以2014-2019年的财务数据为历史数据,预测2020年融资需求。

03 案例模拟

1. 导入环境import pandas as pdimport numpy as nppd.options.display.float_format = '{:,.2f}'.format2. 从网络抓取财务报表,参考管理会计KPI实验stock = '600216'yearlist = ['2019','2018','2017','2016','2015','2014']for year in yearlist:url_1='https://money.finance.sina.com.cn/corp/go.php/vFD_BalanceSheet/stockid/'+stock+'/ctrl/'+year+'/displaytype/1.phtml'#资产负债表df_1 = pd.read_html(url_1)df_1 = df_1[13].iloc[:,0:2]df_1.columns = df_1[0:1].values[0]df_1.drop([0,2,23,48,68,82,6,11,22,30,33,46,47,51,58,67,73,80,81,91,93,94], inplace=True) #去掉一些影响计算的合计项目df_1 = df_1.dropna().reset_index(drop=True)df_1.replace('--', 0, inplace = True)if year=='2019':df_bs=df_1else:df_bs=df_bs.merge(df_1,on='报表日期',how='outer')df_bs.set_index('报表日期', inplace = True)df_bs.index.name=Nonedf_bs = df_bs.astype(float)df_bs原网页抓取的数据3. 抓取利润表url_2='https://money.finance.sina.com.cn/corp/go.php/vFD_ProfitStatement/stockid/'+stock+'/ctrl/'+year+'/displaytype/1.phtml' #利润表df_2 = pd.read_html(url_2)df_2 = df_2[13].iloc[:,0:2]df_2.columns = df_2[0:1].values[0]df_2.drop(0, inplace=True)df_2 = df_2.dropna().reset_index(drop=True)df_2.replace('--', 0, inplace = True)if year=='2019':df_is=df_2else:df_is=df_is.merge(df_2,on='报表日期',how='outer')df_is.set_index('报表日期', inplace = True)df_is.index.name=Nonedf_is = df_is.astype(float)df_is4. 区分敏感性项目和非敏感性项目根据销售百分比法,需要区分敏感性项目和非敏感性项目。凡是随销售变动而变动并呈现一定比例关系的项目,称为敏感项目;凡不随销售变动而变动的项目,称为非敏感项目。在实际操作中,我们用相关系数来代表是否敏感。相关系数介于[-1,1]之间,一般认为绝对值大于0.8的为强相关,绝对值小于0.3的没有相关性。df_bs['相关系数']=df_bs.apply(lambda x:x.corr(df_is.loc['营业收入']),axis=1)df_bs.head(50)观察结果,我们取相关系数0.8以上的为敏感性项目。5. 根据往年情况,假设预测期收入增长率为15%df_is.loc['营业收入'].pct_change()6. 预计融资总需求接下来,我们来预计融资总需求= 销售收入的增长额×(敏感性资产项目与销售额的百分比-敏感性负债项目与销售额的百分比)=(敏感性资产项目-敏感性负债项目)*增长率,也就是认为敏感性项目会随销售增长而变化,非敏感项目保持不变。注:在预测资产负债项目时,敏感性项目与销售同比增长,非敏感项目保持不变的假设过于绝对。因此,也可以将每个项目与营业收入做回归分析,即y=ax+b,然后将预测期营业收入代入x求y,这种算法下计算的资产负债项目可能更准确一些。def forcast(bsi):if abs(bsi['相关系数'])>0.799:bsi['预测期']=bsi['2019-12-31']*1.15else:bsi['预测期']=bsi['2019-12-31']return bsidf_bs=df_bs.apply(forcast,axis=1)df_bs['变动']=df_bs['预测期']-df_bs['2019-12-31']df_bs.head(40)7. 融资总需求 = (预测资产合计-基期资产合计)-(预测负债合计-基期负债合计)Total = df_bs.loc['货币资金':'其他非流动资产','变动'].sum()-df_bs.loc['应付票据':'其他流动负债','变动'].sum()Total95753.975999999948. 根据往年,假设预测期净利率为5%df_is.loc['五、净利润']/df_is.loc['营业收入']9. 计算外部融资需求、留存收益增加外部融资需求=融资总需求-留存收益增加,留存收益增加=预计销售收入*计划销售净利率*(1-股利支付率),假设不支付股利financing = Total-df_is.loc['营业收入','2019-12-31']*1.15*0.05financing于是我们可以得到结论,案例公司2020年为了实现15%销售增长需要的外部融资额是55251.39万元。想了解更多课程,快到财码Python官网:www.fincode.com.cn学习起来吧~往期课程推荐:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值