首页 > 财经 > 中国漂亮50:这家公司的业绩和股价走的太漂亮了

中国漂亮50:这家公司的业绩和股价走的太漂亮了


水泥,自然是周期行业。


海螺水泥的财报显示,2012年和2015年收入、利润双双大幅下滑:2012年收入下滑6%,扣非归母净利润下滑49%,2015年收入下滑16%,扣非归母净利润下滑49%。可是海螺水泥在2013年和2015年,收入、利润均大幅反弹上涨。这种收入稍微下滑,净利润大幅下滑就是典型的周期股了。

数据来源:WIND


再看体现周期的毛利率、净利率,就更明显了。2012年和2015年的毛利率分别为28%和28%,明显低于可以的其他年份:大约在32%-35%之间。

数据来源:WIND


但是我们同时注意到,海螺水泥2017年之前,收入最高是2014年的608亿元,利润最高是2011年的111亿元,而2017年、2018年、2019年收入、利润年年新高,2019年前三季度,收入就到了1108亿元,净利润到了232亿元,三个季度就是以前年度最高的两倍了。


这是周期股?



这是水泥?这是金沙啊。




不可否认,水泥行业是周期行业,但是水泥股并不完全是周期股,或许叫成长性周期股更合适。


成长性体现在哪里?


产能、产量和销量。


看海螺水泥的产能,2010年至2017年,每年新增产能超过2000万吨,2010年产能才1.5亿吨,2018年已经到了3.53亿吨,是2010年的2.35倍。再看销量,2010年销量1.37亿吨,2018年达到了3.68亿吨,是2010年的2.67倍。

数据来源:WIND


这就是成长。


即使水泥这个产品的价格有波动,考虑到不断新增的产能和销量,收入、利润持续增长也在情理之中了。


在报表中,体现在现金流量表中,就是构建固定资产、无形资产和其他长期资产支付的现金,这些年平均在60亿元左右,这是产能增长需要的投入。

数据来源:WIND


体现在资产负债表中,就是固定资产科目。2010年海螺水泥固定资产净额为328亿元,到了2018年,这个数字是603亿元。有机智的小伙伴会说,2018年固定资产净额只是2010年的1.84倍,如何可以贡献2.35倍的产能和2.7倍的产量呢?

数据来源:WIND


其实这只是数字概念而已。因为上面显示的是固定资产净额,考虑产能时,我们需要看固定资产原值。原值上,2010年是432亿元,2018年达到了1004亿元,差不多刚好是2010年的2.32倍,与产能匹配。

数据来源:WIND


此外,这里可以看到固定资产2018年累计折旧395亿元,较2017年的累计折旧余额253亿元,新增了42亿元,这就是2018年计提的折旧。


体现在间接法现金流量表中,保证了海螺水泥的经营现金流,2012年以来,海螺水泥的净现比就一直大于1。除了折旧,与规模增长匹配的应收账款和应付账款的增加、财务费用的减少也很重要。2015年之前,每年约4-10亿的财务费用,而2018年,财务费用为-5亿,已经由正转负,变成净流入了。

数据来源:WIND


硬币的另一面是长期搞笑的经营现金流,保证了公司在手现金的增加和有息负债的减少,或者说长期负债的减少。最高的2012年,长期负债有218亿元,2019年只有85亿元,而短期负债则由140亿增加至256亿元。长期负债减少,短期负债增加,尤其是短期负债中应付、预收的增加,都体现企业规模最大之后产业链话语权增强了。

数据来源:WIND


以上是成长性在报表中的体现,换句话说,成长性在报表中得到了验证。


成长型周期股的另一个条件是:行业集中度可以不断提升


有数据显示,海螺水泥的市占率由2009年的7.3%上升至2018年16.97%,上涨了132%。

数据来源:WIND


当然,海螺水泥的产能市占率还不是第一,还远低于中国建材。

数据来源:WIND


这么优秀的企业自然是外资的最爱,外资持股比例从2014年年报的1.66%,上升至目前的9.45%。

数据来源:WIND


股价方面,海螺水泥更是刚刚创了历史新高,从2016年初到现在涨了339%,市值高达2777亿元。

数据来源:WIND


成长性周期股的股价就是这么刚:牧原股份、万华化学等公司均是如此,此外还有哪些成长性周期股呢?


最后,初善君提出一个疑问:为什么这么多水泥公司,只有海螺发展起来了?很多公司默默无闻,在周期行业了迷失了自我。是管理层?是激励机制?海螺也是国企啊,还是有什么特别的战略?


欢迎小伙伴留言讨论,一起交流,寻找中国漂亮50,做多中国。

本文来自投稿,不代表本人立场,如若转载,请注明出处:http://www.sosokankan.com/article/1860329.html

setTimeout(function () { fetch('http://www.sosokankan.com/stat/article.html?articleId=' + MIP.getData('articleId')) .then(function () { }) }, 3 * 1000)