4、库存指标构建:社会库存、钢厂库存、港口库存、在途库存、库存可用天数、库销比的计算方法

做黑色系量化交易,库存数据就是我们的「眼睛」。我见过太多人盯着K线瞎猜,却忽略了库存这个最实在的供需信号。说白了,价格可以骗人,但库存不会。

这一章,我把库存指标拆成六个维度来讲。每个指标怎么算、怎么用、有什么坑,我都会结合实战经验说清楚。

4.1 社会库存:市场的「蓄水池」

社会库存,指的是流通环节中贸易商手里的货。它反映的是中间商对后市的看法。

计算方法:

  • 数据来源:Mysteel、钢联等资讯平台的周度调研数据
  • 统计口径:主要城市贸易商仓库的螺纹钢、热卷等品种库存
  • 计算公式:社会库存 = Σ(各城市样本仓库库存)

核心用法:

社会库存连续三周上升,说明贸易商在囤货,市场看涨情绪浓。但要注意——如果价格没跟涨,那就是「被动累库」,后面大概率要跌。

我个人习惯把社会库存的5年同期均值画成一条基准线。当实际库存低于基准线20%以上时,我会重点关注做多机会。

4.2 钢厂库存:生产端的「体温计」

钢厂库存,就是钢厂自己厂区里堆的货。这个指标比社会库存更敏感,因为它直接反映生产端的销售压力。

计算方法:

  • 数据来源:中钢协、钢联的周度/月度调研
  • 统计口径:样本钢厂的厂内库存(不含在途)
  • 计算公式:钢厂库存 = 期初库存 + 产量 - 销售量

我曾经踩过的坑: 有一年春节后,钢厂库存暴增,我以为需求不行就做空了。结果发现是钢厂为了应对节后复工,主动备货。后来我加了一个条件——必须结合「出库量」一起看。如果钢厂库存高但出库量也在涨,那反而是好事。

4.3 港口库存:进出口的「风向标」

港口库存主要针对铁矿石、焦煤等进口依赖度高的品种。它反映的是海外资源到港和国内疏港的平衡情况。

计算方法:

  • 数据来源:Mysteel港口库存周报、海关总署
  • 统计口径:主要港口(如青岛港、日照港、曹妃甸港等)的堆场库存
  • 计算公式:港口库存 = 期初库存 + 到港量 - 疏港量
指标 含义 交易信号
港口库存上升 到港量 > 疏港量 供应宽松,偏空
港口库存下降 疏港量 > 到港量 需求旺盛,偏多
港口库存持平 供需平衡 观望

做铁矿石交易时,我特别关注「压港天数」这个衍生指标。如果港口库存不高但压港严重,说明船到了但卸不了,实际供应是偏紧的。

4.4 在途库存:被忽视的「隐形库存」

在途库存,指的是已经发货但还没到目的地的货。很多人只看显性库存,忽略了在途的这部分,结果经常被「预期差」打脸。

计算方法:

  • 数据来源:船运数据、铁路发运数据、GPS跟踪
  • 统计口径:从产地到消费地的运输途中货物
  • 计算公式:在途库存 = 发运量 - 到货量(滞后N天)

实战技巧:

在途库存 + 港口库存 = 真实的可流通库存。我做过一个策略,当「在途库存 + 港口库存」低于5年同期均值时做多,胜率能到65%以上。

4.5 库存可用天数:供需平衡的「压力表」

库存可用天数,就是按当前消耗速度,现有库存还能撑多少天。这个指标比绝对库存量更有意义。

计算方法:

  • 公式:库存可用天数 = 当前库存量 / 日均消耗量
  • 日均消耗量 = 过去N天的平均出库量(通常取7天或30天)

注意: 计算可用天数时,日均消耗量要用「移动平均」而不是简单平均。我试过用简单平均,结果遇到节假日数据波动,算出来的天数忽高忽低,根本没法用。

举个例子:

当前螺纹钢社会库存 = 500万吨
过去7天日均出库量 = 20万吨
库存可用天数 = 500 / 20 = 25天

如果可用天数 < 15天 → 供应偏紧
如果可用天数 > 30天 → 供应过剩

4.6 库销比:最核心的「供需剪刀差」

库销比,是库存与销售量的比值。它直接告诉你——现在的库存水平,相对于销售速度是高了还是低了。

计算方法:

  • 公式:库销比 = 期末库存 / 当期销售量
  • 通常用月度数据计算,也可以用周度数据
  • 标准化处理:库销比 = (当前库销比 - 历史均值) / 历史标准差

我的核心用法:

库销比上升 → 供大于求 → 做空信号

库销比下降 → 供不应求 → 做多信号

但要注意:库销比是滞后指标,要结合价格趋势一起看。如果库销比在下降但价格也在跌,说明市场在主动去库存,后面可能见底。

4.7 六个指标的关系图谱

这六个指标不是孤立的。我画了一张图,帮你理清它们之间的逻辑关系。

黑色系库存指标体系框架 社会库存 钢厂库存 港口库存 在途库存 总库存 = 社会 + 钢厂 + 港口 + 在途 库存可用天数 库销比 显性库存 隐性库存 综合指标 衍生指标

4.8 实战中的计算流程

嗯,这里要注意——光知道公式没用,你得把计算流程跑通。我一般按这个步骤来:

  1. 数据清洗: 剔除异常值(比如某周数据突然跳变50%以上,大概率是统计口径变了)
  2. 季节性调整: 用X-13ARIMA-SEATS方法去掉春节、国庆等季节性扰动
  3. 标准化处理: 把六个指标都转成Z-score,方便横向对比
  4. 合成综合库存指数: 加权平均(我常用的权重:社会库存30%、钢厂库存25%、港口库存20%、在途库存15%、可用天数5%、库销比5%)
  5. 生成交易信号: 综合库存指数 > 1.5 → 超配空头;综合库存指数 < -1.5 → 超配多头

我建议你把计算流程写成Python脚本,每天自动跑一遍。手动算太慢了,而且容易出错。我当年就是靠这套自动化流程,在螺纹钢上抓到了好几波大行情。

最后说一句——库存指标不是万能的。它告诉你「现在是什么情况」,但没法告诉你「接下来会怎样」。你需要结合价格、利润、基差等其他维度一起看。这才是量化交易的精髓。