如何使用jqdata获取上市公司自由现金流

您所在的位置:网站首页 哪个软件可以查上市公司股票行情数据 如何使用jqdata获取上市公司自由现金流

如何使用jqdata获取上市公司自由现金流

2024-07-08 08:06:32| 来源: 网络整理| 查看: 265

By 陈鹏

自由现金流有很多著名的拥护者,其中最著名的莫过于巴菲特和贝索斯了。巴菲特认为企业所能够产生的自由现金流,才是投资者真正拥有的财富。与此同时,贝索斯认为,一个公司的核心能力是自由现金流,投资者有多少钱能够支付到对未来的投资上去,才是决定公司价值的核心指标。

那么,如何才能追随两位大师的步伐,以及在实际应用中将自由现金流模型贯彻落实呢?首先来看一下下面的模型。

​DCF模型,即贴现自由现金流模型,全称为Discounted Cash Flow,这个模型是由美国的John Burr Williams在1937年哈佛大学的博士论文中首次提出,并于1938年发表于《The Theory of Investment Value》一书中。它是巴菲特、贝索斯自由现金流模型的理论版,具体做法就是把企业在未来持续经营期间内的所有自由现金流贴现到今日,最终得到的数值就是企业的价值。DCF模型公式如下:

p=∑t=1nCFt(1r)t

p=∑t=1nCFt(1r)tp=∑t=1nCFt(1r)t

其中:P为企业价值;CFt为企业第t年的自由现金流;r为折现率;t为预测期间

 

我们先对其中的CF因素进行探讨。理解自由现金流,需从如下两个方面入手:

​ 1.自由现金流的定义是什么?

​ 2.自由现金流的公式如何计算?

第一个问题,自由现金流就是企业日常经营活动中产生的,减去各种税费,扣除企业相关投资需求后,能够分配给股东和债权人的最大现金流量。

第二个问题,我们考证了金融学领域的经典教材,由美国MIT斯隆管理学院斯蒂芬·A·罗斯撰写的《公司理财》一书,书中给出了完整的自由现金流的计算方法,即自由现金流=经营性现金流-资本性支出-净营运资本的增加。本文通过实例来验证自由现金流数据,所采用的数据取自于聚宽数据出品的JQData本地量化金融数据,测试对象为贵州茅台("600519.XSHG")2017年年报,以上公式中用到的数据在JQData中都可以直接获取,测试代码如下:

计算上市公司的FCFF,自由现金流=经营性现金流-资本性支出-净营运资本的增加

 

from jqdatasdk import * auth('用户名','密码') #经营性现金流=息税前利润 折旧-当期税款 #计算息税前利润(息税前利润=净利润 所得税 利息费用) def EBIT(code,report_date): #从合并利润表中获取净利润、所得税、利息费用数据 df = finance.run_query(query(finance.STK_INCOME_STATEMENT.code, finance.STK_INCOME_STATEMENT.report_type, finance.STK_INCOME_STATEMENT.net_profit, finance.STK_INCOME_STATEMENT.income_tax, finance.STK_INCOME_STATEMENT.interest_expense).filter( finance.STK_INCOME_STATEMENT.code==code, finance.STK_INCOME_STATEMENT.report_date==report_date)) df = df.fillna(0) df = df[df['report_type']==0] df['EBIT'] = df['net_profit'] df['income_tax'] df['interest_expense'] #息税前利润=净利润 所得税 利息费用 return df['EBIT'][1] #计算本期折旧(本期折旧=本期累计折旧-上期累计折旧) def depreciation(code,report_date): #从合并现金流量表中获取折旧数据 df_depreciation = finance.run_query(query(finance.STK_CASHFLOW_STATEMENT.code, finance.STK_CASHFLOW_STATEMENT.report_type, finance.STK_CASHFLOW_STATEMENT.fixed_assets_depreciation).filter( finance.STK_CASHFLOW_STATEMENT.code==code, finance.STK_CASHFLOW_STATEMENT.report_date==report_date)) df_depreciation = df_depreciation.fillna(0) #本期折旧=本期累计折旧-上期累计折旧 depreciation = df_depreciation[(df_depreciation.report_type==0)]['fixed_assets_depreciation'][1]-df_depreciation[(df_depreciation.report_type==1)]['fixed_assets_depreciation'][0] return depreciation #计算当期税款(当期税款=所得税-递延所得税) def current_tax(code,report_date): #从合并利润表中获取所得税数据 df = finance.run_query(query(finance.STK_INCOME_STATEMENT.code, finance.STK_INCOME_STATEMENT.report_type, finance.STK_INCOME_STATEMENT.income_tax).filter( finance.STK_INCOME_STATEMENT.code==code, finance.STK_INCOME_STATEMENT.report_date==report_date)) df = df.fillna(0) df = df[df['report_type']==0] current_tax = df['income_tax'][1]-deferred_income_taxes(code,report_date) #当期税款=所得税-递延所得税 return current_tax #计算递延所得税(递延所得税=递延所得税资产的减少 递延所得税负债的增加) def deferred_income_taxes(code,report_date): #从合并现金流量表中获取递延所得税资产的减少、递延所得税负债的增加数据 df = finance.run_query(query(finance.STK_CASHFLOW_STATEMENT.code, finance.STK_CASHFLOW_STATEMENT.report_type, finance.STK_CASHFLOW_STATEMENT.deffered_tax_asset_decrease, finance.STK_CASHFLOW_STATEMENT.deffered_tax_liability_increase).filter( finance.STK_CASHFLOW_STATEMENT.code==code, finance.STK_CASHFLOW_STATEMENT.report_date==report_date)) df = df.fillna(0) df = df[df['report_type']==0] df['deferred_income_taxes'] = df['deffered_tax_asset_decrease'] df['deffered_tax_liability_increase'] #递延所得税=递延所得税资产的减少 递延所得税负债的增加 return df['deferred_income_taxes'][1] #计算资本性支出(资本性支出=期末固定资产净额-期初固定资产净额 折旧) def capital_expenditure(code,report_date): #从合并资产负债表中获取固定资产净额数据 df_fixed_assets = finance.run_query(query(finance.STK_BALANCE_SHEET.code, finance.STK_BALANCE_SHEET.report_type, finance.STK_BALANCE_SHEET.fixed_assets).filter( finance.STK_BALANCE_SHEET.code==code, finance.STK_BALANCE_SHEET.report_date==report_date)) df_fixed_assets = df_fixed_assets.fillna(0) fix_assets = df_fixed_assets[(df_fixed_assets.report_type==0)]['fixed_assets'][1]-df_fixed_assets[(df_fixed_assets.report_type==1)]['fixed_assets'][0] depreciation_ = depreciation(code,report_date) capital_expenditure = fix_assets depreciation_ #资本性支出=期末固定资产净额-期初固定资产净额 本期折旧 return capital_expenditure #计算净营运资本增加额(期末净营运资本-期初净营运资本 其中:净营运资本=流动资产-流动负债) def net_working_capital_increment(code,report_date): #从合并资产负债表中获取本期和上期的流动资产&流动负债数据 df = finance.run_query(query(finance.STK_BALANCE_SHEET.code, finance.STK_BALANCE_SHEET.report_type, finance.STK_BALANCE_SHEET.total_current_assets, finance.STK_BALANCE_SHEET.total_current_liability).filter( finance.STK_BALANCE_SHEET.code==code, finance.STK_BALANCE_SHEET.report_date==report_date)) df = df.fillna(0) end_working_capital = df[(df.report_type==0)]['total_current_assets'][1]-df[(df.report_type==0)]['total_current_liability'][1] begin_working_capital = df[(df.report_type==1)]['total_current_assets'][0]-df[(df.report_type==1)]['total_current_liability'][0] net_working_capital_increment = end_working_capital-begin_working_capital #净营运资本增加额=期末净营运资本-期初净营运资本 return net_working_capital_increment #计算FCFF自由现金流(自由现金流=息税前利润-当期税款-资本性支出-净营运资本增加额 折旧) def FCFF(code,report_date): #自由现金流=息税前利润-当期税款-资本性支出-净营运资本增加额 折旧 FCFF = EBIT(code,report_date)-current_tax(code,report_date)-capital_expenditure(code,report_date)-net_working_capital_increment(code,report_date) depreciation(code,report_date) return FCFF

CFF中传入code和report_date 形如 FCFF('600519.XSHG','2017-12-31')

其中:report_date可以是"XXXX-03-31","XXXX-06-30","XXXX-09-30","XXXX-12-31"

分别表示XXXX年的一季报、半年报、三季报以及年报

print(FCFF('600519.XSHG','2017-12-31'))

代码运行结果为8180290417.57,为了验证数据的准确性,我们对比了几个主流平台的相应的数据。

数据来源贵州茅台2017年年报企业自由现金流(亿元)jqdata81.80Wind296.07i问财84.48

最后可以看出,jqdata的数据和i问财的数据之间是比较接近的,而Wind和我们的计算差异较大。

 


【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭