第二十讲:跨市场基差择时:内外盘价差与进出口利润的联动
做期货做到一定阶段,你会发现一个很有意思的现象——同一个品种,国内价格和国外价格经常各走各的。明明都是铜,沪铜和伦铜的价差能拉得很大。这时候,懂行的人就开始笑了。因为价差背后,藏着进出口利润的逻辑。
说白了,内外盘价差不是随便波动的。它受制于一个硬约束——进出口利润。当价差大到能覆盖运费、关税、资金成本还有得赚,套利资金就会进场,把价差打回去。这就是我们今天要聊的核心:跨市场基差择时,本质是在跟踪进出口利润的边界。
一、内外盘价差的底层逻辑
先搞清楚一个概念。内外盘价差,通常用进口盈亏来衡量。公式不复杂:
进口盈亏 = 国内价格 - (国外价格 + 运费 + 关税 + 增值税 + 港杂费)
当这个值为正,说明进口有利可图。为负,说明进口亏损,出口可能更划算。
我个人习惯把进口盈亏看作一个弹簧。价差拉得越大,弹簧绷得越紧,回归的力量就越强。但弹簧什么时候弹回来?这就要看择时了。
核心观点:内外盘价差不是随机游走,它被进出口利润的上下边界牢牢框住。我们的任务,就是在边界附近做反向操作。
二、进出口利润的上下边界
每个品种的进出口利润边界是不一样的。我拿铜来举例,因为铜的套利体系最成熟。
| 项目 | 数值(元/吨) | 说明 |
|---|---|---|
| LME铜价(折算) | 50,000 | 按汇率折算为人民币 |
| 运费+保险费 | 800 | 从LME仓库到国内港口 |
| 关税 | 0 | 铜精矿免税,精铜1% |
| 增值税 | 6,500 | 13%税率 |
| 港杂费 | 200 | 报关、仓储等 |
| 进口成本 | 57,500 | 国外价格+各项费用 |
如果国内铜价涨到60,000,进口利润就是2,500元/吨。这时候,贸易商会疯狂进口,直到价差收窄。反过来,如果国内跌到55,000,进口亏损2,500,出口利润就出来了。
你想想看,这个边界是不是很清晰?上边界是进口利润为正,下边界是出口利润为正。价差就在这个区间里来回摆动。
三、择时的三个关键信号
知道了边界,怎么择时?我总结了三步走:
- 识别边界位置:计算当前进口盈亏,看它处于历史区间的什么位置。靠近上边界,做空国内、做多国外。靠近下边界,反向操作。
- 等待驱动事件:边界不是死的。汇率波动、政策变化、运费调整都会改变边界。我记得2020年疫情后,海运费暴涨,铜的进口成本一下子多了500元/吨。这时候,原来的上边界就失效了,需要重新计算。
- 确认回归信号:价差到了边界,不代表立刻回归。我一般会等一个技术信号,比如价差突破边界后连续3天无法扩大,或者出现明显的背离形态。
实战技巧:不要一碰到边界就进场。我曾经吃过这个亏。2018年做锌的跨市套利,价差到了上边界,我直接空国内多国外。结果汇率突然贬值,价差继续扩大,我扛了两个月才回来。后来我学乖了,等边界被确认一次再动手。
四、核心逻辑框架图
下面这张图,是我自己一直在用的跨市场基差择时框架。你一看就明白:
五、实战案例:2023年沪铜与伦铜的套利机会
2023年6月,我注意到一个现象。沪铜主力合约在68,000附近,伦铜在8,300美元。按当时汇率7.2算,伦铜折合人民币约59,760。加上运费800、增值税7,769、港杂费200,进口成本约68,529。
算下来,进口亏损只有529元/吨。这在历史上属于偏低水平。换句话说,国内价格被低估了,或者国外价格被高估了。
我当时做了个判断:做多国内、做空国外。逻辑很简单——进口亏损这么小,说明国内相对便宜,迟早会补涨。果然,两周后国内铜价涨到69,500,伦铜跌到8,100美元。价差回归,我平仓获利。
注意:跨市场套利不是无风险套利。汇率波动、政策变化、流动性问题都可能让你亏损。我曾经在2022年做镍的跨市套利,因为LME镍的流动性突然枯竭,我被迫在不利价位平仓,亏了不少。所以,仓位管理一定要做好。
六、量化实现思路
如果你想把这套逻辑写成策略,代码框架大概是这样:
# 伪代码示例:跨市场基差择时策略
def calculate_import_profit(domestic_price, foreign_price, exchange_rate, freight, tax_rate):
foreign_cny = foreign_price * exchange_rate
import_cost = foreign_cny + freight + foreign_cny * tax_rate + port_fee
profit = domestic_price - import_cost
return profit
def check_signal(profit, historical_profit):
# 计算当前利润在历史中的分位数
percentile = (profit - min(historical_profit)) / (max(historical_profit) - min(historical_profit))
if percentile < 0.1: # 靠近下边界
return 'long_domestic_short_foreign'
elif percentile > 0.9: # 靠近上边界
return 'short_domestic_long_foreign'
else:
return 'no_signal'
# 主循环
for each_day in data:
profit = calculate_import_profit(...)
signal = check_signal(profit, history)
if signal != 'no_signal':
execute_trade(signal)
嗯,这里要注意。历史分位数的窗口期怎么选?我一般用90天。太短了信号太频繁,太长了反应迟钝。你可以根据自己的品种调整。
七、避坑指南
最后,分享几个我踩过的坑:
- 别忽略汇率风险:内外盘价差择时,汇率是最大的变量。我曾经因为人民币突然升值,把进口利润算错了方向。现在我的做法是,每次开仓前先锁汇,或者用外汇期货对冲。
- 注意交割规则差异:国内期货有交割月限制,国外可能没有。临近交割月,价差会变得很不稳定。我一般只做主力合约,避开交割月。
- 别迷信历史边界:市场结构会变。比如2021年全球运费暴涨,铜的进口成本边界上移了30%。如果你还用老边界,会吃大亏。
总结一句话:跨市场基差择时,就是盯着进出口利润的边界,在边界附近等信号。别贪心,别扛单,做好风控。这套方法我用了十年,胜率大概在65%左右,够用了。
好了,这一讲的内容就到这里。记住,内外盘价差不是玄学,是算得清的利润边界。下次你看到价差拉大,先算算进口盈亏,再决定怎么动手。