第二十讲:跨市场基差择时:内外盘价差与进出口利润的联动

做期货做到一定阶段,你会发现一个很有意思的现象——同一个品种,国内价格和国外价格经常各走各的。明明都是铜,沪铜和伦铜的价差能拉得很大。这时候,懂行的人就开始笑了。因为价差背后,藏着进出口利润的逻辑。

说白了,内外盘价差不是随便波动的。它受制于一个硬约束——进出口利润。当价差大到能覆盖运费、关税、资金成本还有得赚,套利资金就会进场,把价差打回去。这就是我们今天要聊的核心:跨市场基差择时,本质是在跟踪进出口利润的边界

一、内外盘价差的底层逻辑

先搞清楚一个概念。内外盘价差,通常用进口盈亏来衡量。公式不复杂:

进口盈亏 = 国内价格 - (国外价格 + 运费 + 关税 + 增值税 + 港杂费)

当这个值为正,说明进口有利可图。为负,说明进口亏损,出口可能更划算。

我个人习惯把进口盈亏看作一个弹簧。价差拉得越大,弹簧绷得越紧,回归的力量就越强。但弹簧什么时候弹回来?这就要看择时了。

核心观点:内外盘价差不是随机游走,它被进出口利润的上下边界牢牢框住。我们的任务,就是在边界附近做反向操作。

二、进出口利润的上下边界

每个品种的进出口利润边界是不一样的。我拿铜来举例,因为铜的套利体系最成熟。

项目 数值(元/吨) 说明
LME铜价(折算) 50,000 按汇率折算为人民币
运费+保险费 800 从LME仓库到国内港口
关税 0 铜精矿免税,精铜1%
增值税 6,500 13%税率
港杂费 200 报关、仓储等
进口成本 57,500 国外价格+各项费用

如果国内铜价涨到60,000,进口利润就是2,500元/吨。这时候,贸易商会疯狂进口,直到价差收窄。反过来,如果国内跌到55,000,进口亏损2,500,出口利润就出来了。

你想想看,这个边界是不是很清晰?上边界是进口利润为正,下边界是出口利润为正。价差就在这个区间里来回摆动。

三、择时的三个关键信号

知道了边界,怎么择时?我总结了三步走:

  1. 识别边界位置:计算当前进口盈亏,看它处于历史区间的什么位置。靠近上边界,做空国内、做多国外。靠近下边界,反向操作。
  2. 等待驱动事件:边界不是死的。汇率波动、政策变化、运费调整都会改变边界。我记得2020年疫情后,海运费暴涨,铜的进口成本一下子多了500元/吨。这时候,原来的上边界就失效了,需要重新计算。
  3. 确认回归信号:价差到了边界,不代表立刻回归。我一般会等一个技术信号,比如价差突破边界后连续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%左右,够用了。

好了,这一讲的内容就到这里。记住,内外盘价差不是玄学,是算得清的利润边界。下次你看到价差拉大,先算算进口盈亏,再决定怎么动手。

公众号:蓝海资料掘金营,微信 deep3321