最优现金持有量大数据预测模型构建
2020-12-28陈国平邵洁张俊杰
陈国平 邵洁 张俊杰
【摘要】企业的生产经营及财务管理活动起始于现金,经过资产各种形态的转化最终又回到现金状态,周而复始,循环运动,以实现企业生存、发展、盈利等目的。在保障生产经营及建设资金的情况下,应充分利用闲置资金实现效益最大化,以达到提升资金管理效率和效益的目的,同时提高对资金短缺等高风险情况的整体调控力。为使现金使用效率和效益达到最高水平,对现金持有量的科学性估测不可或缺。本文利用蒙特卡罗模拟法对电网企业最佳现金持有量进行估测,估测结果可以较好地满足电网企业资金需求,同时提高资金运作效率。
关键词 最优现金,大数据模型,循环神经网络法
一、引言
(一)研究背景和意义
最佳现金持有量(或最佳安全备付金额)是指在满足基本建设和正常生产经营活动需要的基础上,使现金使用效率和效益达到最高水平时的最为合理的资金存量,即能够使现金管理的机会成本与转换成本之和保持最低的现金持有量。最佳现金持有量预测过低时,将造成资金短缺,无法偿还到期债务,乃至生产经营中断等风险;而预测过高时,会使资金得不到合理利用,产生较高的机会成本,难以达到提升现金使用效率和效益的目标。因此,对现金持有量的科学性估测不可或缺。
目前,某某电网公司(下称“某某公司”)不断提升预算及存量资金管理水平,但在制定安全备付额度方面仍缺乏科学的预测模型等数据支撑工具。当前,某某公司采取的安全备付额度的测算方式为日常净支付额度和日均不可动用资金两部分的叠加。其中,日常净支付额度是指公司上年度正常生产经营以及电网建设活动资金支出,加上年度连续高峰支付收支差额;日均不可动用资金是指受流动性较差的资金日均余额。
本次工作主要通过对最佳现金持有量在科学性预测方面的不断完善,最大限度减少资金闲置,提高资金的使用效率。
(二)研究内容
本次研究主要通过对现金科目日记账以及凭证信息等数据进行关联及清洗,从而获取每一日某某公司的净现金流,以预测2017年长中短期的最佳现金持有量。此研究工作主要从三个方面展开。
一是对2014—2017年每日净现金流数据进行清洗及观测。通过Python软件将现金日记账以及凭证信息等数据进行关联,以获取分析过程中所需的关键信息;对关联后的数据进行筛选,以剔除与现金流无关的凭证信息,获取有效的现金流数据;对筛选后的数据进行可视化分析,挖掘某某公司的收支构成,现金流量随时间变化的规律,售电及购电是否集中在某些独特日期,净流量随时间变化的规律,以及历年安全备付额度的对比情况等。
二是对已有现金持有量预测模型进行评估。结合某某公司的实际情况,对三类常见的现金持有量预测模型,即成本分析模型、存貨模型以及随机模型进行分析及研究,评估其特性以及这三类模型是否适用于某某公司的现状。
三是利用科学性预测模型对现金流进行预测。利用蒙特卡罗模拟法,模拟大量符合历史数据特性的负现金流量(现金支出),并通过风险价值模型计算某某公司全年的安全备付额度;通过历史数据训练适用于某某公司现金流的循环神经网络,以预测未来短期内现金流量的变动。
二、分析数据准备
(一)数据获取
从数据对象范围看,本次研究的对象范围为某某公司及其子公司;数据时间范围为2014年1月1日至2017年5月8日。
数据内容主要包括现金日记账、凭证信息以及某子公司凭证信息三类。其中,一是现金日记账数据用于获取凭证信息的准确对账日期,主要包括记账日期、凭证类型、凭证编码、摘要、借方、贷方、余额7个字段,全部来自ERP系统。二是凭证信息用于清洗非现金流范畴的凭证,主要包括公司、凭证编码、原因代码、总账科目、总账金额、借贷、文本7个字段,全部来自ERP系统。三是某子公司的凭证信息用于获取某子公司的有效的现金流凭证,主要包括月、日、凭证编码、摘要、借方、贷方、余额7个字段,全部来自财务管控系统。
从数据质量看,某某公司及其子公司在2014年1月到2017年5月共有38.9万条凭证信息,且凭证信息的完整率为100%,但在凭证信息中缺乏准确的记账日期,因此通过与日记账数据的关联获取其记账日期。因部分凭证科目不属于现金科目,因此关联后只保留两者相交部分的凭证信息,共38.6万条。
(二)数据预处理
1.凭证信息筛选
在最佳现金持有量预测时,需剔除与现金流无关的凭证,因为诸如冲销、转账、调整现金流量等凭证会在预测时影响实际发生的现金流金额,从而使预测准确性降低。因此,应剔除无关凭证,只保留某某公司有效的现金收入及现金支出以获取真实发生的净现金流。在凭证信息筛选后,最终保留32.4万条凭证信息进行分析及研究。
2.现金流计算
根据借贷方向及记账日期,将筛选后的32.4万条凭证分为现金收入凭证及现金支出凭证,并按日期汇总,获取从2014年1月1日到2017年5月8日期间的每日支出金额及每日收入金额;将每日收入减去每日支出,获取每日净现金流金额,用以输入预测模型。
三、每日净现金流数据观测
利用Tableau软件对筛选后的凭证信息进行可视化分析,能够更为直观地挖掘净现金流的特点,根据不同特点选取最为合适的科学性预测模型。
(一)某某公司的收支构成
根据现金收入及现金支出凭证信息,发现某某公司的收入来源较单一而支出渠道较为多样化。其中,收入主要来源于售电,占据总收入的75%。而对于支出渠道来说,购电支出、工程支出、政府部门附加费及税费四类支出的总和占总支出的74.24%,购电一项只占据总支出的50%。
根据日期,将每日的收入和支出汇总,发现收入和支出都存在较强的周期性,一般在月末容易发生较大金额的收支。初步考虑将金额较大且日期固定的发生额提取出,对其余现金流采用随机过程进行拟合。
①将数据按比例划分为训练集与测试集;
②将训练集的数据划分为训练组,训练组中元素的个数由数据特点和模型结构决定;
③将分好的训练组依次输入神经网络中进行训练,训练完成后将模型存储在计算机中;
④利用训练好的模型进行预测。
(三)模型建立与应用
1.中长期预测(蒙特卡罗模拟及风险价值模型)
(1)现金流与已知分布的拟合
通过对数据进行的初步可视化探索,能够发现2014年至2017年的净现金流量服从于某种统计分布。由于安全备付额的制订只与负现金流量相关,因此将负现金流量单独提出进行统计分布的拟合。
通过Python软件将负现金流与79个已知分布进行拟合,发现负现金流量服从(alpha = 3.06, beta = 0.49)的beta分布,且拟合程度较高。
在统计学判定样本是否服从已知净流出的金额分布,设定风险水平为0.1%,获取安全备付额度的预测值为17.03亿元,即未来在99.9%的概率下,一日的净流出不会超过17.03亿元,全年维持这一水平即可。
通过上述方法,可以利用2014年支出现金流量计算2015年最佳现金持有量,利用2014—2015年支出现金流量计算2016年最佳现金持有量,计算的最佳现金持有量与实际支出现金流量。如图2所示,计算出的2015年、2016年與2017年的最佳现金持有量分别为分布时,先假定样本服从已知分布,并计算此时的检测值,并将检测值与查询到的统计值相比对,判定是否拒绝原假设。更为直观的做法是,计算统计检测结果的P-value,当P-value小于0.05时(此时设定的置信水平为95%),拒绝原假设,即样本不服从已知分布。换言之,当P-value大于0.05时,无法拒绝原假设,则判定样本服从已知分布。
筛选出与负现金流量拟合最好的前十个已知分布的测试结果,如表1所示。
(2)通过已有分布进行蒙特卡罗模拟
通过上一步的分析,得知负现金流量服从(alpha = 3.06, beta = 0.49)的Beta分布。本部分通过对该分布进行100万次的蒙特卡罗模拟,获取模拟金额的分布,求取风险价值,这样可以增加样本点数,提高模拟稳定性,结果如图1所示。
(3)根据蒙特卡罗模拟,提取分位点,得出安全备付额度
通过上一步得到蒙特卡罗模拟的13.9亿元、14.9亿元以及17.03亿元。从2015年1月至2017年4月期间,只有3天超出了计算最佳现金持有量。2015年与2016国网定制备付金额均为20亿元,2017年国网定制金额为17亿元。
利用相同的方法,将2014—2016年的现金流以月份为依据分为12份,对每一份进行蒙特卡罗模拟及风险价值测算,获取未来每月(中期)最佳备付额度预测值。1月至4月间,实际现金支出均为超出计算值。预测支出金额最多的天所在月份为9月,金额为16.8亿元,未超出预测的17.03亿元。
2.短期预测:循环神经网络
(1)数据筛选
在凭证信息中筛选出有效的现金流数据,将其根据日期合并成以日期及净现金流为字段的输入数据。
(2)数据预处理
因输入循环神经网络的数据要求必须大于0,首先将支出数据正值化,即在某某公司测算过程中,将所有现金流数据加1682947806(约17亿),即最小净流出绝对值加一,使所有数据大于等于1;其他公司,按同理处理。之后,对正值化处理后的数据进行分组,按经验最小取7天一组,每组内含有的天数为可调参数,将会在模型训练是通过误差大小进行选择。分组后的数据将进行窗口平滑处理,具体过程为每组数值都除以每组第一个数据,并将结果减去1。
(3)模型训练与参数调整
在循环神经网络的训练中,只有两个参数需要不断调整:组长及训练次数,每调整一次模型(修改组长或训练次数)就需重新计算一次误差。
(4)误差获取
(5)最优模型选择
在步骤4中获得的模型中选取误差值最低的一个模型。
(6)日现金流预测
利用训练好的最优模型,预测日现金流,可以发现预测结果能够较好地体现真实变动情况,且这一结果还能通过更多的训练使之更加精准。目前选取8天预测第9天,平均预测误差率为15%。
六、结论及效果
(一)数据分析结论
根据有效的资金收支数据观测,可以发现某某公司资金流具有如下特性。
①收入来源较单一而支出渠道较为多样化的结论。其中收入主要来源于售电。
②对于支出渠道来说,主要包括购电、工程支出、政府部门附加费及税费四类支出。
③2014年1月1日至2017年4月30日,除2016年1月1日外,净现金流在正负20亿元之间浮动。
(二)建模工作
通过统计验证,发现2017年以前的净流出服从( alpha=3.47 ,beta=0.54)的beta分布。基于该结论,建立了基于统计的年度和月度最佳现金持有量模型,可以用于预测年度和月度最佳现金持有量。
利用长短期记忆循环神经网络计算方法可以实现日现金流量预测。其中最好的模型为将8天分为一组,即利用前19天的现金流量预测第20天的现金流量。
(三)应用效果
通过中长期以及日现金流量的预测,可以提升现金预算及存量资金精益化管理水平,为制定安全备付额度提供科学性预测模型等数据支撑工具。
同时,根据年度与月度预测数值,可以将多余的备付资金用于投资,提高公司收益。以2015年与2016年为例,国网定制安全备用金为20亿元,而根据模型计算的数值分别为13.9亿元与14.9亿元。将多余的资金用于投资的话,以4%年化利率计算,则可获得收益为:(20-14)×4% + (20-15)×4% = 0.44亿元。同时,基于月度预测,可以利用多余的备付金进行短期投资,如图3所示。
除此之外,通過精准预测公司未来现金流量,可以有效指导公司未来融资策略,应对复杂的内外部形势和未来现金流管理存在的不确定形势,在保障资金安全的前提下,创新公司融资模式,确定最佳的融资金额及融资时机,提高资金运作效率和效益,降低融资成本。
七、思考与启示
省级电网企业应不断提升现金持有量预测方面的科学性和精准性,最大限度减少资金闲置,提高资金使用效率。由于电网企业资金业务特点,一般情况下用来分析最佳现金持有量的成本分析模型、存货模型和随机模型均不适用。经检验,本文提出的通过蒙特卡罗模拟法及风险价值模型来预测中长期现金持有量以及通过循环神经网络模型来预测短期现金持有量的方法,可以较好地预测年度和月度等最佳现金持有量。
对于模型应用的关键在于对历史现金流量数据的准确提取,省级电网公司应加强日常凭证管理的规范性,并开发相应程序自动进行凭证整理和现金流数据提取,以提升预测手段的实用性和自动化。数据提取后,进行数据正值化处理,建立蒙特卡罗模型,并进行模型训练和调参,最后通过误差值获取确定最优模型,并利用最优模型预测日现金流。
在实际工作中,导致不能保持最佳现金持有量的因素有很多,企业应从多方面入手加强管理。首先,应建立健全内控制度,加强内控监督,尽量减少随意支付行为的发生,从而降低现金持有量。其次,加强预算管理,预算偏差度越小越有利于持有量的控制。再次,与银行等金融机构保持良好的合作关系,一旦有融资需求,能尽快取得融资款项并最小化成本,资金溢余时,多种理财组合以达到收益率最大化。最后,在预算管理即现金日调度基础上,建立并落实定期付款制度。不仅在总额上控制支出,而且落实到具体日期,例如可以按10日、15日、25日为支付日等,以便于财务人员调度资金,更好地实现现金管理,最大限度降低支付风险,发挥资金的最大效益。
参考文献
[1]赵冉,唐敏.企业现金持有理论解释及影响因素研究.商业会计,2015(5):44-47.
[2]张西征,许英.经营现金流波动、现金持有与企业研发投资. 商业会计,2015(23):13-17.
[3]李建卿.最佳现金持有量确定方法的应用分析.中国乡镇企业会计,2014(12):105-106.