纯碱基本面分析:从库存累加到成本支撑的底部判断

纯碱基本面分析:从库存累加到成本支撑的底部判断 纯碱库存连续六周增加时市场最关心的往往是同一个问题价格底部到底在哪里。要回答这个问题不能只盯着库存数字本身更不能靠“跌了很多所以见底”的直觉。基本面分析的价值是通过可复现的数据链路把供给、需求、库存、成本、利润这些变量拆开逐一量化再判断当前价格处于哪个阶段。这篇文章以纯碱为例整理一套适合个人研究和团队协作的纯碱基本面分析框架包含数据口径、核心指标、计算代码、底部信号识别方法和常见误判点读者可以按这套流程建立自己的常规跟踪表。这套方法既适用于商品研究岗位的新人也适合需要快速建立大宗商品分析能力的数据工程师和量化爱好者。分析本身不复杂难点在于数据口径是否一致、指标是否连续跟踪、以及底部判断是否建立在多因子验证之上。本文会围绕“从数据到判断”这条主线展开不提供任何交易建议只讨论分析方法和数据处理过程。1. 纯碱基本面分析到底在分析什么1.1 先理解纯碱在产业链中的位置纯碱化学名碳酸钠是重要的基础化工原料。上游原料主要是原盐、石灰石、合成氨下游最大需求来自玻璃制造尤其是浮法玻璃和光伏玻璃此外还用于洗涤剂、造纸、化工制品等领域。这意味着分析纯碱基本面时不能只看纯碱自身的开工和库存还要同时观察上游原料成本变化和下游玻璃产线冷修、点火、复产的节奏。产业链的位置决定了数据跟踪的范围。如果只记录纯碱库存而忽略玻璃产线变化容易把累库单纯理解为供应过剩但实际上可能是下游需求收缩。做基本面分析的第一步是明确这个品种的产业链传导路径。1.2 基本面分析的三大支柱供给、需求、库存基本面分析通常围绕三个核心变量展开供给产能、产量、开工率、检修计划、新增产能投放节奏。需求下游消费结构、浮法玻璃日熔量、光伏玻璃产能、出口订单。库存厂库、社会库存、交割库库存以及库存的边际变化方向。三者不是并列关系而是循环关系。供给和需求共同决定库存的增减库存的变化又会反过来影响生产企业的定价心态和开工决策。分析时要把这三个变量放到同一个时间轴上看而不是各看各的。1.3 价格底部的形成机制价格底部不是某个具体点位而是一个区域。形成底部通常需要几个条件同时出现生产成本提供支撑价格跌至多数企业现金流成本附近行业整体亏损。供给端开始响应出现集中检修、减产或新产能推迟投放。库存累库速度放缓随后转为去库。下游需求边际改善至少不再继续恶化。这个顺序很重要。很多时候市场看到“库存六周连增”就判断价格还要大跌其实底部可能已经接近了。相反有时候库存已经开始下降但价格还会继续阴跌原因是需求改善不足以消化存量库存。理解底部形成机制是为了在数据上识别这些信号而不是猜一个具体价位。2. 库存六周连增背后先搞清库存数据口径2.1 不同库存口径的含义差异纯碱库存不是一个单一数据它至少包含以下几种统计范围库存类型统计对象主要作用生产企业厂库纯碱厂家产成品库存反映生产端销售压力交割库库存交易所交割仓库库存反映仓单注册和期现套利行为社会库存贸易商和终端企业库存反映中间环节备货意愿港口库存进出口货物库存反映进出口贸易节奏不同口径的库存可能存在方向背离。厂库下降而社会库存上升说明货从厂家转移到了贸易商并没有真正被下游消耗。只看单一口径很容易把“库存搬家”误判成“需求好转”。2.2 库存连续增加要看速率和斜率连续六周增加本身只是一个状态描述更重要的是增加的速度。第一周增加5万吨和第六周只增加1万吨含义完全不同。前者是快速累库后者是累库明显放缓市场通常把后者视为底部的早期信号之一。分析连续累库时至少要看三个衍生指标周度累库平均值六周累计增加量除以六周。累库加速度后三周平均累库速度减前三周平均累库速度。产销率当周销售量除以当周产量低于100%说明产出大于销售。我用 Python 写一个简单脚本从原始周度库存数据中自动计算这些指标。import pandas as pd # 假设已经有周度库存数据 data { week: [2025-W10, 2025-W11, 2025-W12, 2025-W13, 2025-W14, 2025-W15], inventory: [85.0, 88.5, 91.2, 93.8, 95.0, 96.2], } df pd.DataFrame(data) # 周度环比变化 df[change] df[inventory].diff() # 连续增加周数统计最近连续 change 0 的周数 streak 0 for v in df[change].iloc[1:]: if v 0: streak 1 else: streak 0 # 累库速度 avg_last_3 df[change].iloc[-3:].mean() avg_first_3 df[change].iloc[1:4].mean() print(f连续增加周数: {streak}) print(f近三周平均累库: {avg_last_3:.2f} 万吨/周) print(f前三周平均累库: {avg_first_3:.2f} 万吨/周) print(f累库是否放缓: {avg_last_3 avg_first_3})这段代码的关键不是计算本身而是把“连续增加”这种模糊描述转化成可复用的量化指标。接入新数据后可以快速判断累库是加速还是减速。2.3 结合开工率和产销率一起判断库存与开工率必须联动观察。库存连续增加的同时如果开工率也从高位回落说明企业正在主动减产应对库存压力底部逻辑加强。如果库存连续增加开工率依然维持高位说明供给端还没有真正收缩价格下行压力仍然存在。一个常用的组合判断是库存周环比上升 开工率周环比下降 供给端被动响应库存周环比上升 开工率周环比上升 供需同时走弱后续累库压力更大。3. 搭建一套可复用的纯碱数据跟踪表3.1 核心指标清单基本面分析最怕数据零散。建议先建一张主表每周更新积累一段时间后数据本身就有分析价值。以下是一份适合纯碱品种的指标清单分类指标单位更新频率供给纯碱产能万吨/年月度供给周度开工率%周度供给周度产量万吨周度供给新增产能计划万吨/年月度库存厂库库存万吨周度库存交割库库存万吨周度库存社会库存万吨周度/月度需求浮法玻璃日熔量万吨/日周度需求光伏玻璃日熔量万吨/日周度需求表观消费量万吨周度成本原盐价格元/吨周度成本合成氨价格元/吨周度成本纯碱综合成本元/吨周度利润纯碱生产利润元/吨周度外部纯碱出口量万吨月度这个清单不是固定的。个人研究者可以精简到周度产量、厂库库存、开工率、表观消费量、成本利润五个核心项团队或机构可以在此基础上扩展出更细的数据模型。3.2 关键指标如何计算表观消费量是一个容易被忽略但很实用的指标它反映“真正被社会消耗掉”的纯碱量公式为表观消费量 产量 进口量 - 出口量对纯碱这种进口依赖度不高的品种可以简化成表观消费量 周度产量 - 周度净出口量库存可用天数是另一个重要指标用来评估当前库存水平相对于消耗速度是否过高库存可用天数 期末库存 / 周度表观消费量如果库存可用天数持续上升说明按当前消耗速度库存消化需要的时间越来越长对价格的压力会逐步累积。3.3 用 Python 做周度数据更新手动维护 Excel 也能完成但用脚本能减少复制粘贴错误。下面是一个简单的数据合并示例import pandas as pd production pd.read_csv(production.csv) inventory pd.read_csv(inventory.csv) glass pd.read_csv(glass_production.csv) # 合并产量与库存 df production.merge(inventory, onweek, howouter) # 计算表观消费量假设进出口量暂不单独统计 df[apparent_consumption] df[production_ton] - df[export_ton].fillna(0) # 计算库存可用天数 df[inventory_days] df[factory_inventory] / df[apparent_consumption] # 按周排序 df df.sort_values(week).reset_index(dropTrue) print(df.tail())实际项目中进出口数据往往是月度数据周度粒度没有现成值。处理方式有两种一种是把月度数据拆成周度均值一种是不在周度层面计算净出口直接用产量近似表观消费量。两种都有误差关键是每次分析都保持同一口径不要换来换去。4. 成本支撑如何判断底部区域在哪里4.1 纯碱的成本构成成本是判断底部的锚点之一但要注意“成本”不是单一数值而是随工艺、区域、原料价格变化的一条区间。纯碱生产主要分为联碱法、氨碱法、天然碱法三种工艺的成本结构差异明显。工艺路线主要原料特点成本相对水平氨碱法原盐、石灰石、氨工艺成熟能耗较高中高联碱法原盐、合成氨、二氧化碳联产氯化铵利润可分摊中天然碱法天然碱矿石成本低环保压力小低分析底部时不能只用平均成本做支撑线。价格跌破高成本工艺的现金成本时对应企业会先减产跌破所有工艺的完全成本时可能出现更大规模停产。底部往往出现在“边际成本 亏损减产预期”附近而不是平均成本附近。4.2 用成本区间代替单点预测与其预测“底部是 XX 元”不如建立一个成本区间表高成本装置现金成本: 1550 元/吨 行业平均完全成本: 1700 元/吨 低成本天然碱成本: 1350 元/吨价格进入这一区间后需要开始重点跟踪两类信号是否出现企业检修公告、是否出现开工率下行。如果价格已经在最低成本线之下同时开工率才开始下降说明供给出清刚刚开始底部还需要时间确认。4.3 成本分析的两个常见误区第一个误区是把历史成本当成固定值。原盐、煤炭、合成氨价格波动会直接推动纯碱成本上下移动必须按当期原料价格重算成本。第二个误区是忽略利润对供给的反馈。企业亏损不等于立刻减产大型装置往往有长协订单和库存缓冲短时间内仍会维持运行。成本支撑能否起作用很大程度上取决于企业现金流和亏损持续时间不是“成本到了就一定会反弹”。5. 底部信号系统从累库放缓到价格修复5.1 领先、同步、滞后指标划分底部判断需要把指标按时间先后关系排列。提前于价格见底的信号称为领先指标与价格同步的称为同步指标确认趋势反转的称为滞后指标。指标类型典型指标说明领先指标利润转负、企业检修计划增加供给端开始主动收缩领先指标累库速度放缓供应过剩程度边际改善同步指标库存出现周度去化供需关系从过剩转向平衡滞后指标价格企稳反弹市场情绪和资金面确认底部确认的关键不是等待价格反弹后再判断而是观察领先指标是否逐一出现。如果利润已经转负、检修增加、累库放缓三个领先指标同时出现即使价格还在创新低也已经进入底部区域观察期。5.2 典型的底部形成顺序纯碱市场的底部通常按以下顺序展开价格下跌行业利润收窄。高成本装置先进入亏损开始检修或降负。周度产量下降累库速度放缓。库存由升转降至少连续两到三周确认去库。价格在低位区间不再创新低成交回暖。这套顺序的价值在于每一步都可以被数据验证。如果在第二步时库存还在大幅增加说明减产力度不够底部还需要更长时间。如果在第三步时库存确实放缓但下游玻璃需求还在恶化则要警惕底部滞后。5.3 多因子信号打分单看某个指标容易误判可以把多个底部信号组合成打分表。每周更新一次用 0 分或 1 分标记是否满足条件信号判定条件得分利润压缩行业平均利润小于等于零0/1供给收缩周度开工率较上月下降2个百分点以上0/1累库放缓近四周累库均值小于前四周0/1库存去化本周库存环比下降0/1需求企稳下游玻璃日熔量连续两周持平以上0/1总分越高底部信号的确认程度越高。得分 5 分时底部概率较高得分 0 到 1 分时即使价格跌幅很深也还不能确认进入底部区域。这种方法不预测具体价格而是帮助分析者避开“跌深即见底”的主观陷阱。6. 常见误判库存和价格的四个典型陷阱6.1 只看单周数据忽略趋势连续性单周库存下降有时候只是因为运输受阻或统计口径调整并不代表供需逆转。正确做法是看连续三到四周的方向一致性同时观察累库/去库的速度是否发生变化。在周度数据里单周波动是噪声连续方向才是信号。6.2 忽略季节性和下游节奏纯碱下游玻璃的需求与房地产竣工周期、光伏装机节奏相关天然具有季节性。一季度受春节因素影响施工减少玻璃需求偏弱纯碱累库是常态。如果只看“连续六周增加”而忽略这是否为季节性规律可能把正常现象误判为基本面恶化。可以在同比维度上对比去年同期的库存变化避免季节性干扰。6.3 把宏观情绪或价格走势等同于基本面价格下跌本身不是基本面信号。价格可能被宏观预期、资金情绪、套保行为放大波动与基本面数据短期背离。分析时要区分“价格为什么跌”和“基本面是否恶化”两个问题。如果库存、产量、需求数据都未明显变化只是价格下跌更多是估值或情绪层面的调整。6.4 数据口径不统一导致误判不同来源的库存数据可能统计范围不同例如有的只统计厂库有的包含交割库。分析时要固定数据来源不能这周用 A 平台的数据下周换成 B 平台的数据。换口径后库存差值会立刻变化连续周数的统计也会失真。建议在数据表里额外加一列“数据来源”字段每次更新时自动核验。7. 从分析到复盘建立自己的周度跟踪清单7.1 日常跟踪节奏不同频率的数据对应不同决策周期。个人研究者建议按以下节奏安排日度关注价格、现货成交、期货盘面情绪但不下基本面结论。周度更新开工率、库存、产量、表观消费量跑一遍信号打分表。月度更新进出口、新增产能、下游玻璃产线变化、成本曲线。季度评估整条产业链供需平衡表判断大方向。基本面分析不是每天都要做而是每周固定时间做一次完整复盘长期积累才有意义。7.2 周度复盘清单每周更新完数据后可以按这份清单检查厂库库存周环比变化量和连续变化周数。开工率较上周相比是上升还是下降。产量变化是否与开工率一致。表观消费量是否改善。行业利润处于什么区间是否已有企业亏损。下游玻璃日熔量是否出现明显波动。价格是否位于成本区间附近。信号打分表总分为多少是否达到底部确认阈值。清单的作用是强迫自己把所有维度看一遍避免只关注库存一个指标。7.3 底部判断最终要落到供需再平衡库存连续六周增加对应的基本面逻辑通常是供应过剩或需求走弱。当累库速度放缓、开工率下行、利润压缩到企业减产、库存开始去化时底部区域的概率才会上升。分析者要做的是持续跟踪这些变量等它们逐一确认而不是提前预判“这个价位一定是底”。对于刚接触大宗商品分析的人来说最有效的练习是从历史数据里找一段完整周期手动回填当前这套指标表观察底部信号出现的先后顺序。数据积累三个月以上再去判断当下行情会有完全不同的体感。