• 量化投资,你需要了解的A股财务数据


    摘要:基本面量化是应用量化研究领域的重头戏,财务数据的整理和加工是基本面量化的第一步。本文梳理了财务数据的基本知识,包括报表类型、数据来源、调整更正和使用原则等,并给出了单季度和TTM数据的计算流程。在本报告的基础上,可以搭建财务因子计算框架,为后续基本面量化研究铺好路。

    1.财务数据

    经典的有效市场理论认为,公司的一切信息都反映在了股价上面,基本面研究可能并无用武之处。然而近年来各种异象的发现,表明市场并没有那么有效。目前大量研究把精力放在交易数据的挖掘上,像工厂一样制造出了形形色色的因子;反而更加符合直觉的基本面研究,时常遭到莫名其妙的攻击。事实上,基本面量化是应用量化研究领域的重头戏,也是我们后续努力的方向之一。千里之行,始于足下,财务数据的整理和加工是基本面量化的第一步,也是本文要讨论的主要内容。

    财务数据就是与企业财务有关的数据,主要是反映企业一定期间的经营成果和财务状况变动。交易所为了保护投资者的权益,要求上市企业定期公布财务报告,以便投资者了解其经营以及财务状况。

    1.1报告期

    在内地,《会计法》规定会计年度从1月1日开始,12月31日结束。一般要求上市企业一年定期披露四次财报,分别是一季报、中报、三季报、年报[1]。财务报告在披露日期上没有严格要求,只要在规定的截止日之前披露就行。每个报告期都有一个标识,一般用年份+季度末表示,如2018年三季报用“20180930”标识,2018年年报用“20181231”标识,具体定义见表1。

    表1 财务报告期

    数据来源:CQR

    1.2财务报表

    财务报告主要由财务报表构成[2],财务报表包括五表一附注,即资产负债表、利润表、现金流量表、财务状况变动表、附表和附注,具体定义和特点见表2。

    表2 五表一附注

    数据来源:CQR

    1.3业绩预告和快报

    业绩预告和业绩快报是财报预披露的两种形式,旨在提前释放重要的会计信息,减少股价波动。业绩预告主要是对公司当期净利润情况的预计,包括预告类型、净利润上下限、净利润变动幅度上下限和业绩变动原因等内容;业绩快报更加全面,一般披露公司主要的财务数据,包括营业收入、净利利润和总资产等关键科目,可以提前用来计算各类财务因子。

    表3整理了业绩预告的基本规则,包括披露条件和披露时间;表4为业绩快报的披露规则。

    表3 业绩预告披露规定

    数据来源:CQR,上交所,深交所

    表4 业绩快报披露规定

    数据来源:CQR,上交所,深交所

    1.4数据源

    财务报告一般可通过上市公司官网或交易所网站进行查询,但要做量化研究则需要整理好的结构性数据。目前可以从多个数据源获取财务数据,表5整理了我们使用过的一些数据源及它们的优势劣势[3]。

    表5 常见数据源

    数据来源:CQR

    2.调整和更正

    2.1基准报告期

    在最新报告期财务报表披露时,会同时披露对应的某个历史基准报表。不同报表对应的基准报表不同,资产负债表对应上年年报,如图1白云机场披露2018年三季报的时候,会同时披露年初余额(2017年年报);利润表和现金流量表对应为上年同期值,如图2白云机场2018年三季报现金流量表时,会同时披露上年同比报告期(2017年三季报)。

    图1 白云机场2018年三季报资产负债表

    数据来源:白云机场三季报

    图2 白云机场2018年三季报现金流量表

    数据来源:白云机场三季报

    无论一季报、半年报、三季报还是年报,在每期资产负债表披露时,其对应的基准报表都为上年年报;而现金流量表和利润表,其对应的基准报表总为对应的同比报告期,对应关系见表6,表7给出了一个示例。

    表6 基准报告期

    数据来源:CQR

    表7 基准报告期示例

    数据来源:CQR

    2.2调整和更正

    财务报表披露后,由于某些原因可能会进行一些修正,更改原始的科目数值。修正按照时间频率分为两种,一种是调整,一种是不定期更正。

    财务报表第一次披露时的值,称为原始报表;在后续定期报告中再次披露基准报表时,如果基准报表和原始报表科目数值出现了不同,则发生了调整。以中铁工业(600528.SH)为例,在2017/3/31首次公布了其2016年年报(原始报表),如图3所示;2018/3/28公布2017年年报时同时披露了2016年年报(基准报表),如图4所示。图3期末余额对应2016年原始报表,图4期初余额对应2016年基准报表。可以看到,货币资金、应收票据、应收账款和预付款项均进行了调整。

    图3 2016年中铁工业合并资产负债表(部分)

    数据来源:中铁高新年报

    图4 2017年中铁工业合并资产负债表(部分)

    数据来源:中铁高新年报

    不定期更正指的是,由于会计政策变更或者会计统计差错等原因,对之前某期的报告进行更正。更正需要发更正公告,没有明确的时间规律。以柳工(000528.SZ)为例,其2018/8/30披露了2018年半年报,在2018/9/29日对半年报进行了更正,表8展示了利润表部分科目更正前和更正后的数值。

    表8 柳工2018年半年报利润表更正

    数据来源:CQR

    2.3基本原则

    在进行财务数据的量化研究时,调整和更正的存在会增加数据处理的复杂度。一个处理方式是,不考虑调整和修正,只使用第一次披露的数值。这种方式简单易实现,不会引入未来数据,逻辑上也讲得通;缺点是无法反映调整或更正等新信息,信息利用不充分。另外一种方法是始终采用调整后和修正后的最新数据,这种方式也简化了计算过程,缺点是历史回溯时会利用未来数据,导致结果偏差较大。

    上面两种方式为了追求简单而牺牲了精确性,在实际应用中并不推荐。量化研究是一个精细的过程,事实上应该遵循以下原则:在当前时点利用可得的最新信息(point in time)。按照这个原则,既能保证充分利用最新的数据,例如考虑调整和更正,或者将业绩预告和业绩快报考虑进来,也可以完全避免使用到未来的信息。

    2.4 数据存储

    无论是Wind还是Tushare,三大表在处理调整和更正时采用了相同的步骤。以大智慧(601519.SH)2014年年报合并资产负债表为例,表9记录了其首次披露、调整和更正过程。

    表9 大智慧2014年合并报表的调整和更正

    数据来源:CQR

    因此,底层表中同一个报告期可能会有多条记录,一般包括4条:类型1-初始报表(最新值)、类型2-基准报表(最新值)、类型3-初始报表(原始值)和类型4-基准报表(原始值)。这四种类型与wind和Tushare的对应关系如表10所示。

    表10 合并报表在底层表中的四种记录类型

    数据来源:CQR

    需要注意的是:1)如果没有任何一个会计科目发生调整,则初始报表和基准报表记录相同;2)由于对上市公司财务报表披露规范的指定,1998之前的数据没有调整和更正,每个报告期只有一条记录;3)如果更正发生在基准报告之前,则只有三条记录:初始报表(最新值)、初始报表(原始值)和基准报表(最新值);4)如果更正发生在基准报告之后,则上面四条记录都有。

    2.5如何使用

    为了说明如何正确使用数据,图5展示了几种常见的情况。

    第一种情况,如图5a所示,x年年报在t1日披露后,如果没有发生调整和更正,此时只有1条数据即类型1。t1日后如果要使用该财报数据,则提取类型1即可。

    第二种情况如图5b所示,x年年报在t1日首次披露,在t2日x+1年年报披露时顺便再一次披露了x年年报(基准报表)。则在t1~t2日如果要使用该财报数据,提取类型1;在t2日后如果要使用该数据,则提取类型2。

    图5c展示了第三种情况,即除了常规的初始报表和基准报表,还发生了数据更正,且更正发生在基准报表之前[4]。在t1日x年年报披露,此时记录为类型1;在t2时刻对年报进行了更正,此时更正后的数据记为类型1,更正前的数据记为类型3;在t3日披露调整数据,此时记录为类型2。因此,如果在t1~t2日要使用x年年报,应提取类型3;在t2~t3如果要使用该数据,则提取类型1;在t3之后,提取类型2即可。

    最后一种情况见图5d,即更正发生在基准报表之后。t1日披露x年年报,此时记为类型1;t2日披露x年年报基准报表,记为类型2;t3日发出x年年更正公告,此时修改类型1和类型2为更正后的最新值,原来的数据分别记为类型3和类型4。因此,如果在t1~t2要使用该年报,则应提取类型3;在t2~t3要使用该数据,则提取类型类型4;t3之后提取类型2即可。

    图5 调整和更正示例

    数据来源:CQR

    3.财务计算

    3.1单季度数据

    每年12个月可以分为四个季度,每个季度包含三个月份,单季度数据对每个季度作单独衡量。由于资产负债表是一个时点数据,因此单季度数据和对应的报告期数据相同;对于利润表和现金流量表,一季度数据和一季报相同,其余三个季度数据等于对应报告期减去环比报告期数据;如果环比报告期缺失,则无法计算单季度数据,单季度数据为空。具体对应关系见表11,计算流程图见图6。

    表11 单季度指标计算

    数据来源:CQR

    图6 单季度指标计算流程图

    数据来源:CQR

    3.2 TTM数据

    TTM是Trailing Twelve Months首字母的缩写,即滚动12个月数据,以消除季节性差异使得横向可比,具体计算流程图见图7。

    对于资产负债表来说,由于其为时点数据,如果要计算其科目TTM数据,常见有三种算法:1)当前最新数据;2)最近四个报告期平均值;3)当前最新报告期和其同比报告期的平均值。

    对于利润表和现金流量表来说,如果最新报告期为年报,则TTM数据即为年报数据;如果是其他报告期,则TTM数据等于当前最新报告期数据,加上上年年报数据,减去上年同比报告期数据;如果上年年报或同比报告期不存在,可以使用年化算法,即当前最新报告期数据乘以年化系数[5]。

    图7 单季度指标计算流程图

    数据来源:CQR

    A股上市公司从2002年开始披露季度资产负债表和利润表,从2003年开始披露季度现金流量表

    财务报表是财务报告中的标准数据,除了五表一附注外,财务报告还包括董事报告、管理分析和财务情况说明书等非标准内容

    从wind接口提取会计科目或者财务指标,如果报表有过更正,只能提取到更正后的数据,例如柳工(000528.SZ),提取的每股收益和净利润/营业总收入,均是用更正后的数值计算。另外,从wind接口提取财务指标,财务指标均是用调整前的数据计算,例如中铁工业(600528.SH)的流动资产/总资产,虽然后面进行了追溯调整,但并没有用更新该指标的值。和wind一样,Tushare财务指标表中,如果有过更正,只能提取到更正后的数据;如果有过实质性调整,也不对指标进行更新。

    还有一种极其特殊的情形,即更正公告和基准报表在同一日披露。这种情况比较少见,小差错往往在基准报告中就可以做修正调整,除非影响比较大。如股票600087.SH在2010年年报,初次披露日期为20110304,在20120412日披露了2011年年报及2010年年报基准报表,同一天也披露了2010年会计差错更正。这种情形在提取数据时,可以忽略掉会计更正记录,因为在新的基准报告中也会体现这种更正。

    一季报、中报和三季报的年化系数分别为4、2、4/3



    作者:Tushare挖地兔
    链接:https://xueqiu.com/9103835084/122956701
    来源:雪球

  • 相关阅读:
    json python
    mysql存储json
    C#中使用Newtonsoft.Json序列化和反序列化自定义类对象
    IDEA 中的.iml文件和.idea文件夹 ( 隐藏方式 )
    C#中Newtonsoft.Json.dll 的使用 序列化 JsonConvert.SerializeObject(obj) Object 反序列 obji = JsonConvert.DeserializeObject<Object>(json数据);
    [python] JSON
    编程经验:分组条件查询having
    软件汉化:OllyDBG 入门之三简介及常用命令
    读书札记: [转] 失去目标的时候进来看看!
    软件汉化:OllyDBG 入门之二破解预备知识(转)
  • 原文地址:https://www.cnblogs.com/the-wolf-sky/p/10562783.html
Copyright © 2020-2023  润新知