简介:这份资源为天风证券2022年1月发布的港股中国联塑(02128)首次覆盖研究报告,面向关注地产建筑产业链、港股建材板块的投资者与行业研究人员,聚焦工程塑管龙头的成长弹性与持续性这一核心命题。压缩包内仅含1个PDF文件,大小约1.36MB,完整保留了原报告的评级、目标价、盈利预测与风险提示等关键信息。报告系统梳理了塑料管道行业需求端的地产、基建、老旧小区改造与农业灌溉测算,以及供给端集中度提升的中长期逻辑,并深入分析公司渠道、产能布局与成本护城河,同时覆盖建材家居、供应链平台等第二增长极。内容含首次覆盖给予买入评级、目标价21.08港元及21至23年归母净利预测,适合用于快速把握公司基本面与行业格局。目前已有80人学习下载。
1. 工程塑管龙头的成长弹性,到底该怎么拆解
一份名为“中国联塑-2128-工程塑管龙头,重视成长弹性及持续性.pdf”的研报标题,把三个关键词摆在了台面上:工程塑管、龙头地位、成长弹性与持续性。如果你是从业者,看到这个标题的第一反应大概率不是“这是什么”,而是“这家公司的成长逻辑还能不能持续,弹性从哪里来”。工程塑管这个赛道,下游绑着地产、基建、市政管网,过去几年地产下行把整个板块的估值压得很低,但市政管网改造、农业灌溉、旧城更新这些增量又在慢慢托底。所以这份研报真正想回答的问题,不是“龙头是谁”,而是“龙头的成长弹性还在不在,持续性靠什么撑”。适合读这篇的人,是关注建材、管材、地产后周期链条的研究者或投资者,以及想理解“龙头在行业下行期怎么找第二曲线”的从业者。下面我按自己拆这类研报的习惯,把逻辑、数据、验证路径和坑一条条讲清楚。
2. 工程塑管龙头的成长弹性从哪里来:先把收入结构拆开看
2.1 塑管生意的本质:不是卖管,是卖“管网解决方案”
很多人看塑管公司,第一眼盯的是产能和吨价,这没错,但容易漏掉一个关键:工程塑管的下游极度分散,市政、建筑、农业、工业各有各的招标节奏和账期。龙头的优势不在于单吨成本最低,而在于能同时接住多个下游的订单,并且在原材料价格波动时用规模采购和配方调整把毛利稳住。换句话说,塑管生意的本质是“管网解决方案”的交付能力,而不是单纯的制造。你拆收入结构时,至少要分三层:按产品分(PVC、PE、PPR)、按下游分(市政、地产、农业)、按区域分(华南、华东、中西部)。这三层拆完,你才能判断成长弹性到底来自哪个口子。
2.2 用一张表把收入拆到“可归因”的粒度
我一般会先做一张收入拆解表,把最近三到五年的数据按下面这个结构填进去。注意,这里的数据需要你自己从年报或研报里摘,不要凭感觉填。
| 维度 | 拆分项 | 关注指标 | 归因问题 |
|---|---|---|---|
| 产品 | PVC/PE/PPR | 收入占比、毛利率 | 哪个产品在拖累,哪个在拉动 |
| 下游 | 市政/地产/农业 | 收入增速、应收账期 | 地产下行被谁对冲了 |
| 区域 | 华南/华东/中西部 | 收入增速、产能利用率 | 增量是本地还是外拓 |
| 渠道 | 直销/经销 | 回款周期、渠道库存 | 压货还是真实动销 |
这张表填完,你基本能看出龙头的成长弹性是“结构性”的还是“周期性”的。结构性弹性来自新下游的渗透,比如市政管网改造和农业节水灌溉;周期性弹性来自地产竣工端的反弹。两者混在一起,很容易把周期反弹误判成成长。
2.3 一个可复现的拆解脚本:用Python把年报数据拉平
如果你手头有年报的PDF或Excel,可以用下面这段脚本把关键科目拉平,方便做同比和占比分析。这里用pandas做示例,数据源换成你自己的文件路径即可。
import pandas as pd # 读取年报摘录的Excel,假设每行是一个科目,每列是一个年度 df = pd.read_excel("pipe_company_financials.xlsx", index_col="科目") # 转置,让年度变成行索引,科目变成列 df_t = df.T # 计算收入结构占比:按产品线拆分 product_cols = ["PVC收入", "PE收入", "PPR收入"] df_t["塑管总收入"] = df_t[product_cols].sum(axis=1) for col in product_cols: df_t[col + "_占比"] = df_t[col] / df_t["塑管总收入"] # 计算下游结构占比 downstream_cols = ["市政收入", "地产收入", "农业收入"] df_t["下游总收入"] = df_t[downstream_cols].sum(axis=1) for col in downstream_cols: df_t[col + "_占比"] = df_t[col] / df_t["下游总收入"] # 输出最近三年的结构变化 print(df_t[["塑管总收入", "PVC收入_占比", "PE收入_占比", "PPR收入_占比"]].tail(3)) print(df_t[["下游总收入", "市政收入_占比", "地产收入_占比", "农业收入_占比"]].tail(3))这段脚本的逻辑很简单:先把科目和年度转置成“年度×科目”的宽表,再分别算产品线和下游的占比。参数说明:index_col="科目"要求你的Excel第一列是科目名;product_cols和downstream_cols需要根据你实际拿到的科目名调整。跑完之后,重点看两个东西:一是占比变化的斜率,二是总收入增速和占比变化的匹配度。如果总收入在涨,但某个高毛利产品的占比在掉,那成长弹性可能就是“虚胖”。
2.4 选型理由:为什么先拆收入而不是先看利润
很多人一上来就看净利润和ROE,这在塑管行业容易翻车。因为塑管的利润受原材料价格影响极大,PVC树脂价格一波动,毛利率能差出好几个点。你先拆收入结构,是为了确认“量”的逻辑还在不在;再看利润,才是确认“价”和“成本”的逻辑。顺序反了,很容易被单年的利润高增误导,以为成长弹性很强,其实是原材料跌价带来的短期红利。
3. 成长持续性怎么验证:从产能、渠道到现金流的三条线
3.1 产能投放节奏:别只看总产能,要看“有效产能”
塑管行业的产能门槛不高,但有效产能的壁垒在于“靠近市场”和“配套服务”。龙头在全国铺生产基地,不是为了堆产能,而是为了缩短运输半径、快速响应市政招标。你验证持续性时,要盯的是产能投放的节奏和区域匹配度。比如,如果新增产能集中在华南,但增量订单在西北,那产能利用率就会承压。常见做法是拉一张“产能-区域-下游”的三维表,看新增产能有没有对应的订单支撑。
3.2 渠道库存:经销商压货是弹性的“黑匣子”
塑管的销售很大一部分走经销渠道,经销商库存是个黑匣子。如果龙头为了冲收入,把货压给经销商,短期收入好看,但持续性会出问题。验证方法是看两个指标:一是应收账款周转天数,二是经销商数量与单商提货额的变化。如果应收天数在拉长,同时单商提货额在下降,那大概率是压货。我一般会再叠加一个“渠道库存推测模型”:用龙头收入增速减去下游实际需求增速,差值如果持续为正,就是渠道在累积库存。
3.3 现金流:经营性现金流净额与净利润的比值
这是最硬的验证指标。塑管龙头的成长持续性,最终要落到现金流上。如果净利润在涨,但经营性现金流净额/净利润的比值持续低于0.8,说明利润没有变成真金白银,可能是应收款堆出来的。你可以用下面这段脚本快速算这个比值,并画出趋势。
import pandas as pd import matplotlib.pyplot as plt # 读取现金流和净利润数据 df = pd.read_excel("cashflow_profit.xlsx", index_col="年度") # 计算比值 df["现金流利润比"] = df["经营性现金流净额"] / df["净利润"] # 画图 plt.figure(figsize=(8, 4)) plt.plot(df.index, df["现金流利润比"], marker="o", label="现金流利润比") plt.axhline(y=0.8, color="r", linestyle="--", label="警戒线0.8") plt.xlabel("年度") plt.ylabel("比值") plt.title("经营性现金流净额/净利润") plt.legend() plt.show() # 输出最近三年比值 print(df[["经营性现金流净额", "净利润", "现金流利润比"]].tail(3))逻辑说明:这个比值衡量的是“利润的含金量”。参数上,警戒线0.8不是绝对的,不同行业有差异,但塑管行业如果长期低于0.8,就要警惕。跑完图之后,重点看趋势:如果比值在下降,同时收入增速也在下降,那成长持续性就要打问号。
3.4 一个容易被忽略的验证点:研发投入的资本化率
塑管行业的技术迭代不算快,但龙头如果在新材料、新工艺上有投入,研发资本化率是个观察窗口。资本化率过高,可能是在美化利润;资本化率过低,又可能说明研发没有形成资产。常见做法是把这个指标和同行比,如果龙头显著高于同行,就要多问一句“资本化的依据是什么”。
4. 避坑与常见问题:拆解工程塑管研报时容易翻车的五个点
4.1 把地产竣工反弹当成成长弹性
现象:看到某年收入增速回升,就判断成长弹性恢复。原因:塑管收入里地产相关占比可能只有三成,但地产竣工的短期反弹会带动整体收入,掩盖了市政和农业的疲软。解决:拆收入时把地产单独拎出来,看剔除地产后的增速是否稳定。
4.2 忽略原材料价格对毛利率的滞后影响
现象:某年毛利率大幅提升,以为是产品结构优化。原因:PVC树脂价格下跌的传导有滞后,可能半年后才体现在报表里。解决:把原材料价格曲线和毛利率曲线叠在一起看,滞后一个季度到两个季度是正常的。
4.3 用总产能利用率代替区域产能利用率
现象:总产能利用率很高,但某些区域基地开工不足。原因:塑管的运输半径有限,区域产能利用率才是真实需求指标。解决:按区域拆产能和收入,算区域产能利用率。
4.4 把经销商数量增长当成渠道扩张
现象:经销商数量每年增加,以为渠道在扩张。原因:新增经销商可能只是老经销商拆分成多个主体,单商提货额没变。解决:同时看经销商数量和单商提货额,两者同增才是真扩张。
4.5 忽视应收账款的账龄结构
现象:应收账款周转天数没变,以为回款正常。原因:账龄结构可能恶化,一年以上的应收占比在提升。解决:拉账龄表,看1年以内和1年以上的占比变化。
5. 把研报结论落到可跟踪的指标清单上
5.1 建立一个月度跟踪表:三个先行指标
研报的结论再漂亮,也要落到可跟踪的指标上。我一般会建一个月度跟踪表,盯三个先行指标:一是市政招标中标金额(可以从公开招标平台抓),二是PVC树脂现货价格(跟踪成本端),三是龙头企业的月度发货量(如果有渠道调研)。这三个指标领先报表一到两个季度,能帮你提前判断成长弹性的方向。
| 指标 | 数据来源 | 跟踪频率 | 领先报表时间 |
|---|---|---|---|
| 市政招标中标金额 | 公开招标平台 | 月度 | 1-2个季度 |
| PVC树脂现货价格 | 商品交易所 | 周度 | 1个季度 |
| 月度发货量 | 渠道调研 | 月度 | 1个季度 |
5.2 一个具体的验证技巧:用“收入-应收-现金流”三角验证
这个技巧是我自己踩坑后总结的。具体做法是:把收入增速、应收增速、经营性现金流增速放在一张图里。如果收入增速>应收增速>现金流增速,说明增长质量在下降;如果现金流增速>收入增速>应收增速,说明增长质量在提升。这个三角验证能帮你快速判断成长持续性的真假。
import pandas as pd import matplotlib.pyplot as plt df = pd.read_excel("three_growth.xlsx", index_col="年度") plt.figure(figsize=(8, 4)) plt.plot(df.index, df["收入增速"], marker="o", label="收入增速") plt.plot(df.index, df["应收增速"], marker="s", label="应收增速") plt.plot(df.index, df["现金流增速"], marker="^", label="现金流增速") plt.xlabel("年度") plt.ylabel("增速") plt.title("收入-应收-现金流三角验证") plt.legend() plt.show()逻辑说明:三条线的相对位置比绝对值更重要。参数上,增速用同比,避免季节性干扰。如果三条线纠缠在一起,说明增长比较健康;如果应收增速持续高于收入增速,就要警惕。
5.3 最后说一个我自己的习惯
我拆这类研报,最后一定会问自己一个问题:如果这家公司的成长弹性明天消失,我最先会从哪个指标上看到?这个问题的答案,就是你要重点跟踪的指标。对我来说,塑管行业最先反应的往往是市政招标金额和经销商单商提货额。希望帮到你。
本文还有配套的精品资源,点击获取