2. 品种选择:如何筛选具有经济逻辑的配对品种

品种选择这事,我做了快十年,踩过的坑比吃过的饭还多。说白了,选错品种,后面建模再漂亮也是白搭。今天咱们就聊聊,怎么从一堆品种里,挑出那些真正有经济逻辑的配对。

2.1 为什么经济逻辑是第一位的?

很多人一上来就搞统计套利,看相关性、看协整。嗯,这没错。但我要说一句:没有经济逻辑的统计关系,都是耍流氓

我记得2018年有个学员,拿螺纹钢和鸡蛋做配对,回测曲线漂亮得不行。我一看就笑了——这俩品种八竿子打不着,纯粹是数据挖掘出来的伪相关。后来实盘,果然亏得底裤都不剩。

所以,我的原则很简单:先找经济逻辑,再验证统计关系。逻辑不通,直接pass。

核心观点: 经济逻辑是套利策略的"根",统计关系只是"叶"。根不牢,叶再茂盛也白搭。

3.2 三大经济逻辑类型

我习惯把有套利潜力的品种分成三类。你想想看,其实市场里能做的配对,基本跑不出这三个圈子。

3.2.1 产业链上下游

这是最稳的一类。上下游品种,价格天然有传导机制。比如:

  • 原油 → 沥青:原油是沥青的原料,成本占比超过80%
  • 铁矿石 → 螺纹钢:铁矿石是炼钢的主要原料
  • 大豆 → 豆粕 + 豆油:压榨利润的天然套利

我在项目中遇到过最经典的案例,就是原油和沥青的价差套利。2019年沙特油田遇袭,原油暴涨,沥青跟涨但幅度小。价差瞬间拉大,这就是机会。为什么?因为沥青的库存周期比原油长,反应慢半拍。

我的经验: 做上下游套利,一定要搞清楚"成本传导时滞"。有的品种传导快(比如PTA和PX),有的慢(比如原油和沥青)。这个时滞决定了你的持仓周期。

3.2.2 替代品

替代品之间,价格会相互制约。比如:

  • 豆粕 vs 菜粕:都是饲料蛋白来源,可以互相替代
  • 玉米 vs 小麦:饲料能量来源,价差过大就会替代
  • 铜 vs 铝:在电线电缆领域有一定替代性

替代品套利有个坑,我必须要说。曾经我做过豆粕和菜粕的配对,回测很好,但实盘发现:替代是有条件的。比如猪饲料里豆粕占比高,但菜粕有毒素限制,不能无限替代。所以价差到了极端位置,替代才会发生。

避坑指南: 我曾经因为没考虑"替代弹性",在豆粕-菜粕上亏过一笔。替代品套利,一定要搞清楚替代的"阈值"在哪里。不是所有价差都会回归。

3.2.3 互补品

互补品相对少一些,但一旦找到,往往很稳定。比如:

  • 焦煤 vs 焦炭:焦煤是焦炭的原料,但两者又共同服务于钢铁
  • 热卷 vs 螺纹:同属钢材,但下游需求不同,价差有规律
  • 纯碱 vs 玻璃:纯碱是玻璃的主要原料

互补品的逻辑在于:它们服务于同一个最终需求。比如焦煤和焦炭,最终都是为炼钢服务的。如果钢厂利润好,两者都会涨;利润差,两者都跌。但涨跌幅度不同,这就产生了套利空间。

3.3 筛选流程:我的四步法

说了这么多理论,来点实操的。我一般按下面四个步骤筛选品种:

  1. 第一步:画产业链地图——把相关品种的上下游、替代、互补关系画出来
  2. 第二步:找"硬逻辑"——看成本占比、替代弹性、需求关联度
  3. 第三步:验证流动性——成交量、持仓量够不够?别选冷门品种
  4. 第四步:做统计检验——协整检验、相关性分析,确认统计关系

这里我画了一张流程图,把整个筛选逻辑串起来:

品种筛选四步法流程图 第一步 画产业链地图 第二步 找"硬逻辑" 第三步 验证流动性 第四步 统计检验 逻辑不通? 直接淘汰 流动性不足? 直接淘汰 最终输出 可交易的配对品种 注:任何一步不通过,直接淘汰,不要恋战

3.4 实战案例:原油-沥青套利

拿我做过的一个真实案例来说吧。原油和沥青,典型的上下游关系。

先看经济逻辑:沥青是原油蒸馏的残渣,原油成本占沥青成本的80%以上。这个逻辑够硬吧?

然后看数据。我拉了一年的日线数据,做了个简单的价差分析:

import pandas as pd
import numpy as np
import statsmodels.api as sm

# 加载数据
data = pd.read_csv('crude_bitumen.csv', parse_dates=['date'])
data.set_index('date', inplace=True)

# 计算价差
data['spread'] = data['bitumen'] - data['crude'] * 6.5  # 1吨沥青约需6.5桶原油

# 协整检验
result = sm.tsa.stattools.coint(data['crude'], data['bitumen'])
print(f'协整检验p值: {result[1]:.4f}')

# 如果p值小于0.05,说明有协整关系
if result[1] < 0.05:
    print('通过协整检验,可以继续')
else:
    print('不通过,重新找品种')

这个代码很简单,但很实用。我一般会先跑这个,看看p值。如果p值大于0.05,直接放弃,不浪费时间。

小技巧: 做协整检验时,别忘了考虑"换算系数"。比如原油和沥青,1吨沥青对应多少桶原油?这个系数搞错了,检验结果就是错的。我见过有人拿1:1去算,结果协整不通过,其实系数应该是6.5左右。

3.5 常见误区总结

最后,我列几个常见的坑,你注意避开:

误区 问题 我的建议
只看相关性 伪相关太多,比如"美国黄油产量"和"孟加拉国GDP" 先找经济逻辑,再看统计关系
忽略流动性 冷门品种滑点大,套利空间被吃掉 日均成交量低于1万手的品种,我一般不碰
不考虑交易成本 跨品种套利的手续费、保证金占用 实盘前一定要算清楚成本
过度优化 回测参数调得完美,实盘一塌糊涂 保持简单,参数越少越好

嗯,品种选择这块,核心就这些。记住一句话:逻辑先行,统计验证,流动性兜底。这三条做到了,你的套利策略就成功了一半。

我的口头禅: 选品种就像选对象,不能只看外表(统计关系),更要看内在(经济逻辑)。外表会骗人,内在不会。

专注资料整理