净利润为负,为何市盈率还是为正呢?

市盈率
标签: #<Tag:0x00007f73f3f6aa40>

(htly) #1

1

如图,000004.SZA 为 国农科技,我看了国农科技一季度财报,归属于母公司净利润为负数,为何在BigQuant上通过数据API拿到的市盈率数据是大于零的呢?直觉来看,应该也是负数啊。(因为市盈率=总市值/归属于母公司股东净利润)


(iQuant) #2

你好,你的市盈率数据(pe_ttm)是ttm结尾,表明是根据最近一年的净利润数据计算出来的市盈率,详细的数据检查和对比见下:

克隆策略

在BigQuant平台上获取数据并根据公式检查市盈率数据

In [10]:
instruments = ['000004.SZA'] # 国农科技
start_date = '2017-08-15' 
end_date = '2017-08-15'
# 获取总市值、归属于母公司总利润、净利率指标。(后缀带ttm表面是最近一年的数据)
df = D.features(instruments, start_date, end_date, fields=['market_cap_0','fs_net_profit_ttm_0','pe_ttm_0'])
print('国农科技数据', '\n', df)
print('\n')

print('计算公式:', '市盈率 = 总市值 / 归属于母公司总利润')
print('\n')

print('检查市盈率数据', df['market_cap_0'][0] / df['fs_net_profit_ttm_0'][0] )
国农科技数据 
    market_cap_0   pe_ttm_0  fs_net_profit_ttm_0       date  instrument
0  1.865962e+09  46.057407           40513828.0 2017-08-15  000004.SZA


计算公式: 市盈率 = 总市值 / 归属于母公司总利润


检查市盈率数据 46.0574

可见,公式计算的市盈率数据与直接获取的市盈率数据是一致的,我们接着看计算市盈率所需要的数据是否正确。

国农科技利润表 (from新浪财经)

从上图可以看出,国农科技最近几个财务报表公布的净利润如下:

报表(数值单位:万) 2017一季度财报 2016年年报 2016三季度财报 2016半年报 2016年一季度财报
归属于母公司股东的净利润 -117.80 3929.93 1469.85 298.57 -239.25

确实,从国农科技一季度财报来看,17年一季度确实是亏损的,但这并不表明市盈率数据为负,因为这只是一个季度,并不表明全年净利润为负。不仅如此,国农科技是 医药、生物制药板块,其行业本身具有周期性、季节性,从表中可以看出16年一季报也是亏损的。

因此,目前(2017-08-15)归属于母公司股东的净利润(TTM)计算为:

In [11]:
# 通过财报计算出来的总利润数据:
10000*(3929.93+239.25-117.8)
Out[11]:
40513800.0
In [12]:
# BigQuant平台的总利润数据
df['fs_net_profit_ttm_0'][0]
Out[12]:
40513828.0

计算市盈率的公式中,分母数据没有问题,分子是总市值数据,分子更加不容易出错(这里我们省略检查)。

既然BigQuant数据与原始财报数据保持一致,因此BigQuant的数据是有信服力的!!!