技能使用指南

配对交易策略Skill 用法详解

配对交易策略Skill配对交易策略
21 个章节 约 18 分钟阅读 AI 智能生成

配对交易策略:用一个 Z-score 把「价差回归」变成可执行的交易信号

核心结论速览

  • 配对交易策略Skill 是一个专注于两个高相关标的价差(比值)均值回归的策略框架,用 Z-score 判断价差是否偏离过度,并给出反向开仓信号。
  • 核心逻辑只有三步:算比值 ratio = close_A / close_B → 算滚动均值与标准差 → 算 Z-score 并生成多空对冲信号。
  • 参数极简,仅 lookback(默认 60)、entry_z(默认 2.0)、exit_z(默认 0.5)三个,改配置即可换标的、换周期。
  • 天然市场中性:A 做多则 B 做空,A、B 各占 50% 资金,规避单边行情风险。
  • 依赖只有 pandas 与 numpy,股票(如 601318.SH / 601628.SH)与加密货币(如 BTC-USDT / ETH-USDT)都能跑。

该技能叫什么?如何一键安装 AI 技能提升开发效率?

技能中文名:配对交易策略Skill 技能英文名:配对交易策略 技能 ID:14255 技能分类:strategy(策略类)

它解决什么问题

做量化的人常常卡在同一个地方:想法很清晰——“中国平安和中国人寿价差拉开太多就该回归”“BTC 和 ETH 的比价偏离均值了该做对冲”——但从想法到可运行的信号,中间隔着一整套重复劳动:数据对齐、滚动窗口计算、Z-score 归一化、多空方向映射、平仓条件判断、边界情况处理(前期 NaN 怎么办、日期错位怎么办)。

配对交易策略Skill 把这些重复劳动固化成一个标准框架:你只需要给出两个标的代码 + 时间区间,剩下的比值计算、滚动统计、Z-score 阈值判断、多空信号生成、平仓逻辑全部由技能按约定输出。它的定位不是“又一个回测引擎”,而是把一套成熟的统计套利方法论变成即插即用的策略单元。

一键安装的思路与步骤

配对交易策略Skill 的安装遵循 AI 技能平台的通用方式,具体入口与命令以官方说明为准。整体路径如下:

第一步:确认安装前提

  • 已接入支持技能(Skill)调用的 AI 编程助手或策略运行环境;
  • 本地或运行环境具备 Python 环境,因为该策略的依赖为 pandas 与 numpy;
  • 已注册技能市场中 ID 为 14255 的「配对交易策略」技能。

第二步:安装技能本体

在技能市场/技能管理面板中搜索技能名称「配对交易策略」或技能 ID 14255,点击安装并启用。若你的平台支持命令行安装,按平台文档提供的技能安装命令执行,具体命令以官方说明为准。

第三步:安装运行依赖

技能详情明确给出的依赖安装命令是:

pip install pandas numpy

这是唯一需要手动补齐的运行依赖,安装完成后即可进行比值与滚动统计计算。

第四步:验证是否生效

最简单的验证方式是跑一次默认配置:构造一个包含两个标的代码的 config.json(下文有可直接复制的示例),提交给技能执行。若返回的信号序列中 A 与 B 方向始终相反(A 为 0.5 时 B 为 -0.5,A 为 0 时 B 也为 0),说明技能已正常生效;若两者出现同向信号,说明配置或对齐环节有问题,需回到「常见坑」排查。


该技能的主要功能和特点

  • 双标的价差建模:以 ratio = close_A / close_B 作为价差代理变量,避免了价差绝对值受价格量级影响的问题,同一套参数可以跨标的复用。
  • 滚动统计 + Z-score 归一化:用 ratio.rolling(lookback).mean() 与 .std() 计算动态均值与波动,再算 z = (ratio - mean) / std。相比固定阈值,Z-score 会随市场波动自适应,牛熊环境下判断标准不漂移。
  • 双向均值回归信号:Z < -entry_z 判定比值过低 → 做多 A、做空 B;Z > +entry_z 判定比值过高 → 做空 A、做多 B;|Z| < exit_z 判定已回归均值 → 平仓离场。开仓、持仓、平仓三段式逻辑完整。
  • 强制多空对冲结构:A 与 B 的信号天然相反,从根本上杜绝“两边同向”这种伪配对交易,保证策略始终是市场中性敞口。
  • 等权资金分配:A、B 各占 50% 资金,不做精细对冲比率(beta 中性)计算——这是刻意的简化,让策略更容易理解与复现,代价是对冲不完全对称(见下文注意事项)。
  • 参数极简、易调优:只有三个可调参数,网格搜索成本低,不容易过拟合。
  • 多市场数据源适配:配置中通过 source 字段切换数据源,示例覆盖 tushare(A 股)与 okx(加密货币),同一套信号逻辑跨资产类别通用。
  • 明确的信号约定:A 腿 0.5 = 做多、-0.5 = 做空、0 = 空仓;B 腿方向与 A 相反。输出格式统一,方便直接接入回测或下单模块。

和普通工具比强在哪:用 pandas 手写这段逻辑并不难,难的是每次都记得处理日期对齐、前期 NaN、方向映射这些细节。这个技能把这些“默认正确”的部分固化下来,让你把注意力放在“选哪两个标的”这个真正决定收益的问题上。


如何使用该技能?

步骤 1:准备运行环境与依赖

pip install pandas numpy

确认 pandas、numpy 可正常导入。

步骤 2:选定一对高相关标的

配对交易的前提是两个标的存在稳定的经济联系:同行业公司(如保险板块的两只龙头)、上下游、同一指数的成分股,或者加密市场中的 BTC/ETH。技能详情中的示例即为同一行业的两只标的:601318.SH 与 601628.SH。

步骤 3:编写 config.json

A 股示例(可直接复用):

{
  "source": "tushare",
  "codes": ["601318.SH", "601628.SH"],
  "start_date": "2023-01-01",
  "end_date": "2024-12-31",
  "initial_cash": 1000000,
  "commission": 0.001,
  "extra_fields": null
}

加密货币示例:

{
  "source": "okx",
  "codes": ["BTC-USDT", "ETH-USDT"],
  "start_date": "2024-01-01",
  "end_date": "2024-12-31",
  "initial_cash": 1000000,
  "commission": 0.001,
  "extra_fields": null
}

关键约束:codes 数组长度必须正好为 2。第一个是 A 腿(leg1),第二个是 B 腿(leg2),顺序会决定信号的符号方向,改顺序等于把多空方向整体对调。

步骤 4:提交策略执行

通过所在平台的策略运行入口提交该配置(具体命令或按钮入口以官方说明为准),技能会按 lookback 窗口滚动计算 Z-score 并输出信号序列。

步骤 5:读取并理解输出

以默认参数(lookback=60、entry_z=2.0、exit_z=0.5)为例,你会得到两条方向相反的信号序列:

场景 A 腿信号 B 腿信号 含义
比值过低(Z < -2.0) 0.5(做多) -0.5(做空) 赌比值回升
比值过高(Z > +2.0) -0.5(做空) 0.5(做多) 赌比值回落
已回归(|Z| < 0.5) 0(空仓) 0(空仓) 平掉双腿
窗口未填满 0 0 前期 Z 为 NaN,信号填 0

步骤 6:按需调参

  • lookback(默认 60):调大 → 均值更稳定、信号更少更保守;调小 → 对近期偏离更敏感,但更容易被噪声触发。
  • entry_z(默认 2.0):调大 → 只做极端偏离,交易次数下降、单次赔率上升;调小 → 交易频繁、成本上升。
  • exit_z(默认 0.5):决定“回归到什么程度算回归”,调大 → 更早离场、持仓时间短;调小 → 更贴近均值、但可能错过反转。

步骤 7:务必检查的四个坑

  1. codes 只能有 2 个标的,多一个少一个都不行;
  2. 两个标的的日期索引必须对齐(用 inner join),否则比值会算错;
  3. lookback 窗口填满之前 Z-score 为 NaN,信号需按 0 处理;
  4. 绝不能给 A、B 生成同向信号——配对交易的本质就是多空对冲。

另外需要清醒认识一点:该技能采用等权分配,A、B 各 50% 资金,不做精确对冲比率计算。如果两个标的波动率差异很大(例如一个日波动 1%、一个日波动 5%),等权配置会带来残余的净敞口,这不是 bug,而是框架的明确取舍。


同类型竞品对比分析

方案名称 定位 核心功能 安装/使用门槛 适用场景 优势与不足
配对交易策略Skill(ID 14255) 专注双标的价差均值回归的策略单元 比值建模、滚动 Z-score、双向对冲信号、三段式开平仓 低:安装技能 + pip install pandas numpy,配置 6 个字段即可跑 快速验证配对想法、教学演示、市场中性策略原型 优势:逻辑透明、参数少、天然多空对冲、跨股票/加密资产通用;不足:仅等权分配不做对冲比率优化、固定只支持两个标的
手工编写 pandas 脚本 自研实现 完全自定义 中:需自行实现对齐、滚动统计、NaN 处理、方向映射 有特殊需求(自定义对冲比率、多腿配对)的进阶用户 优势:自由度最高;不足:重复造轮子,细节坑(日期错位、NaN)容易出错且难以复用
通用回测框架(如 Backtrader 等) 通用策略回测引擎 事件驱动回测、多品种组合、绩效分析 中高:需学习框架 API 与数据接入方式,配对逻辑仍需自己写 完整策略研发流水线、多策略组合管理 优势:工程能力强、绩效指标完善;不足:学习曲线陡,配对交易的信号逻辑不在框架内置范围内
在线量化研究平台 云端研究 + 回测环境 内置数据源、在线 Notebook、可视化回测 低到中:注册即用,但受平台数据与算力约束 无本地环境、想快速拿数据做验证的用户 优势:免部署、数据现成;不足:策略逻辑仍需自己实现,跨平台迁移成本高

怎么选:如果你的目标是“半小时内验证‘这两个标的能不能配对交易’”,配对交易策略Skill 的路径最短;如果最终要做精细的 beta 中性对冲、多腿统计套利,则需要回到自研或通用框架。两者并不冲突——常用做法是先用技能跑通逻辑、确认价差确实存在均值回归特性,再投入工程资源做精细化实现。


该技能的典型应用场景与实际体验情况

场景一:量化初学者第一次接触统计套利

角色:刚学完 pandas、想动手做策略的开发者。 痛点:教材上讲“价差回归”很清楚,但一动手就卡在滚动窗口、NaN、信号方向映射上,跑出来的结果自己都不敢信。 使用方式:直接套用示例配置,先跑 601318.SH / 601628.SH,观察 Z-score 曲线与信号序列的对应关系,再手动改 entry_z 看信号密度如何变化。 实际体验:上手难度低,配置即代码的思路省掉了大量脚手架;输出的信号约定(0.5 / -0.5 / 0)非常直观,能立刻建立“Z 值到仓位”的映射直觉。注意事项:一定要先确认两条价格序列的日期索引已对齐,否则比值会算出无意义的结果。

场景二:行业研究员验证“同板块两只股票是否可配对”

角色:覆盖某一行业的研究员或投资经理。 痛点:凭经验觉得某两只票走势同步,但“同步到什么程度、偏离多少算异常”缺乏量化依据。 使用方式:选取同行业两只标的,跑一段两年区间的数据,重点看 Z-score 突破 ±2 的频率与随后回归的速度。 实际体验:这个技能最有价值的地方不是“给你一个能赚钱的策略”,而是给你一把尺子——用历史 Z-score 分布判断这对标的的价差是“真均值回归”还是“结构性漂移”。注意事项:若两只标的在样本期内发生基本面重大变化(并购、主营业务切换),历史相关性会失效,需要分段检验。

场景三:加密市场 BTC/ETH 比价对冲

角色:加密资产交易者。 痛点:BTC 与 ETH 的强弱轮动频繁,单边持仓风险大,想用比价做相对价值交易。 使用方式:将 source 设为 okx,codes 填 ["BTC-USDT", "ETH-USDT"],其余字段照抄示例,按加密市场 7×24 交易特性适当缩短 lookback。 实际体验:同一套逻辑无缝迁移到加密资产是这套框架的亮点,ratio = BTC/ETH 的经济含义清晰。注意事项:加密市场波动远大于股票,默认 entry_z = 2.0 可能触发过于频繁,且手续费与滑点对高频开平仓的侵蚀更明显(示例中 commission 设为 0.001,实际应按交易所真实费率调整)。

场景四:教学与策略评审演示

角色:讲师、策略评审人或团队负责人。 痛点:需要向他人解释“什么叫市场中性”,纯文字描述抽象。 使用方式:现场跑一次配对策略,展示 A 腿与 B 腿信号永远一正一负,直观说明“无论大盘涨跌,我只赚价差回归的钱”。 实际体验:信号约定的强制反向设计让概念具象化,讲解成本大幅降低。注意事项:演示时要主动说明“等权分配 ≠ 完全对冲”,避免听众形成“无风险套利”的错误预期。


该技能能为用户带来的价值

1. 把策略搭建时间从「几天」压缩到「几十分钟」 传统路径下,从数据对齐到信号输出,即使熟练开发者也需要反复调试日期索引、滚动窗口、NaN 填充、方向映射这些琐碎环节。该技能把这些环节全部封装,你只需要写一个 6 字段的 JSON,剩下的交给框架,时间成本几乎全部转移到“选标的研究”这个真正产生价值的部分。

2. 用标准范式降低犯低级错误的概率 技能详情里列出的四个“常见坑”(标的数必须为 2、日期必须 inner join 对齐、前期 NaN 填 0、禁止同向信号),恰恰是手工实现时最容易踩的四个雷。把约束前置到框架层,相当于给每次实验都配了一个自动检查清单。

3. 让「市场中性」这个抽象概念变得可执行 A、B 各占 50% 资金、信号永远反向,这套强制结构让策略天然具备对冲属性。对于想摆脱“靠天吃饭”单边策略的投资者,这是一个低门槛的起点。

4. 跨资产类别的复用价值 同一套 Z-score 逻辑,source 换成 tushare 就是 A 股配对,换成 okx 就是加密比价交易。一次理解、多处复用,学习投入的边际收益很高。

5. 长期价值:作为策略研发的“第一道筛子” 在投入工程资源做精细对冲之前,先用这个框架快速筛掉那些“看起来相关、实际价差持续单边漂移”的伪配对标的组合。省下的不是写代码的时间,而是避免在错误标的上浪费的研发周期。


常见问题 FAQ

Q1:这个技能怎么安装?需要装什么依赖?

在技能市场搜索「配对交易策略」或技能 ID 14255 安装并启用(具体安装入口与命令以官方说明为准),然后执行 pip install pandas numpy 补齐运行依赖。验证方式:跑一次双标的配置,若 A、B 两腿信号始终方向相反,即为安装生效。

Q2:这个技能收费吗?

技能详情中未涉及任何定价信息,是否收费、是否有免费额度取决于你所在平台的技能市场规则,以官方说明为准。可以确定的是,运行依赖 pandas 与 numpy 均为开源免费的 Python 库。

Q3:为什么一定要正好两个标的?三个不行吗?

不行。该技能的信号逻辑建立在「A 与 B 的比值」之上,ratio = close_A / close_B 定义的是二元关系,codes 数组长度必须等于 2,第一个是 A 腿、第二个是 B 腿。三腿及以上的统计套利需要协整关系建模,超出本技能的框架范围。

Q4:为什么我的策略一直不交易?或者交易特别频繁?

大概率是参数与标的波动不匹配。一直不交易:entry_z = 2.0 对低波动标的可能过于苛刻,可适当调小,或检查 lookback 是否过大导致均值过于平滑。交易过于频繁:把 entry_z 调大、exit_z 调小,并确认 commission 按真实费率设置,避免忽略交易成本。另外请检查 codes 中的两个标的日期是否对齐,日期错位会导致比值异常从而产生大量无意义信号。

Q5:它和直接用回测框架自己写有什么区别?我该选哪个?

这个技能是专用策略单元,只做配对交易这一件事,但把这件事做对了:逻辑透明、参数少、约束明确,适合快速验证想法和教学演示。通用回测框架是通用引擎,工程能力和绩效分析更完善,但配对交易的信号逻辑需要你自己实现。实用建议:先用技能做第一道筛选,确认价差具有均值回归特性后,再决定是否投入资源做精细化自研。另外要记住,本技能采用等权 50/50 分配,不做精确对冲比率计算,若你需要 beta 中性对冲,需要在自研环节补上这一层。