返回顶部
p

pair-trade-screener配对交易筛选器

Statistical arbitrage tool for identifying and analyzing pair trading opportunities. Detects cointegrated stock pairs within sectors, analyzes spread behavior, calculates z-scores, and provides entry/exit recommendations for market-neutral strategies. Use when user requests pair trading opportunities, statistical arbitrage screening, mean-reversion strategies, or market-neutral portfolio construction. Supports correlation analysis, cointegration testing, and spread backtesting.

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 0.1.0
安全检测
已通过
2,274
下载量
免费
免费
5
收藏
概述
安装方式
版本历史

pair-trade-screener

配对交易筛选器

概述

该技能通过配对交易识别和分析统计套利机会。配对交易是一种市场中性策略,通过两只相关证券的相对价格变动获利,不受整体市场方向影响。该技能使用严格的统计方法,包括相关分析和协整检验,以寻找稳健的交易对。

核心方法:

  • - 识别具有高相关性和相似行业/板块敞口的股票对
  • 检验协整性(长期统计关系)
  • 计算价差Z分数以识别均值回归机会
  • 基于统计阈值生成入场/出场信号
  • 提供市场中性敞口的头寸规模建议

主要优势:

  • - 市场中性:在上涨、下跌或横盘市场中均可获利
  • 风险管理:对整体市场波动的敞口有限
  • 统计基础:数据驱动,非主观判断
  • 分散化:与传统纯多头策略不相关

何时使用该技能

在以下情况下使用该技能:

  • - 用户询问配对交易机会
  • 用户想要市场中性策略
  • 用户请求统计套利筛选
  • 用户询问哪些股票走势同步?
  • 用户希望对冲行业敞口
  • 用户请求均值回归交易思路
  • 用户询问相对价值交易

用户请求示例:

  • - 在科技板块寻找配对交易机会
  • 哪些股票具有协整关系?
  • 筛选统计套利机会
  • 寻找均值回归配对
  • 目前有哪些好的市场中性交易?

分析工作流程

步骤1:定义配对池

目标: 建立待分析股票池以寻找配对关系。

选项A:基于板块筛选(推荐)

选择特定板块进行筛选:

  • - 科技
  • 金融
  • 医疗保健
  • 非必需消费品
  • 工业
  • 能源
  • 材料
  • 必需消费品
  • 公用事业
  • 房地产
  • 通信服务

选项B:自定义股票列表

用户提供特定股票代码进行分析:

示例:[AAPL, MSFT, GOOGL, META, NVDA]

选项C:特定行业

聚焦板块内的特定行业:

  • - 示例:科技板块内的软件
  • 示例:金融板块内的地区银行

筛选标准:

  • - 最低市值:20亿美元(中盘股及以上)
  • 最低平均成交量:100万股/天(流动性要求)
  • 活跃交易:无退市或停牌股票
  • 同一交易所偏好:避免跨交易所复杂问题

步骤2:获取历史价格数据

目标: 获取价格历史数据用于相关性和协整分析。

数据要求:

  • - 时间范围:2年(至少252个交易日)
  • 频率:每日收盘价
  • 调整:已调整股票分割和股息
  • 数据清洁:无缺口或缺失值

FMP API端点:

GET /v3/historical-price-full/{symbol}?apikey=YOURAPIKEY

数据验证:

  • - 验证所有股票代码的日期范围一致
  • 移除缺失数据超过10%的股票
  • 使用前向填充法填补少量缺口
  • 记录数据质量问题

脚本执行:
bash
python scripts/fetchpricedata.py --sector Technology --lookback 730

步骤3:计算相关性和贝塔系数

目标: 识别具有强线性关系的候选配对。

相关性分析:

对于池中的每对股票(i, j):

  1. 1. 计算皮尔逊相关系数(ρ)
  2. 计算滚动相关性(90天窗口)以检查稳定性
  3. 筛选ρ >= 0.70的配对(强正相关)

相关性解读:

  • - ρ >= 0.90:非常强的相关性(最佳候选)
  • ρ 0.70-0.90:强相关性(良好候选)
  • ρ 0.50-0.70:中等相关性(边缘)
  • ρ < 0.50:弱相关性(排除)

贝塔系数计算:

对于每个候选配对(股票A,股票B):

贝塔 = 协方差(A, B) / 方差(B)

贝塔表示对冲比率:

  • - 贝塔 = 1.0:等额美元
  • 贝塔 = 1.5:每1美元A对应1.50美元B
  • 贝塔 = 0.8:每1美元A对应0.80美元B

相关性稳定性检查:

  • - 计算多个时间段的相关性(6个月、1年、2年)
  • 要求相关性保持稳定(不恶化)
  • 标记近期相关性低于历史相关性超过0.15的配对

步骤4:协整检验

目标: 统计验证长期均衡关系。

为什么协整重要:

  • - 相关性衡量短期共同变动
  • 协整证明长期均衡关系
  • 协整配对可预测地均值回归
  • 非协整配对可能永久偏离

增广迪基-富勒(ADF)检验:

对于每个相关配对:

  1. 1. 计算价差:价差 = 价格A - (贝塔 × 价格B)
  2. 对价差序列运行ADF检验
  3. 检查p值:p < 0.05表示协整(拒绝单位根原假设)
  4. 提取ADF统计量用于强度排序

协整解读:

  • - p值 < 0.01:非常强的协整(★★★)
  • p值 0.01-0.05:中等协整(★★)
  • p值 > 0.05:无协整(排除)

半衰期计算:

估计均值回归速度:

半衰期 = -log(2) / log(均值回归系数)

  • - 半衰期 < 30天:快速均值回归(适合短期交易)
  • 半衰期 30-60天:中等速度(标准)
  • 半衰期 > 60天:慢速均值回归(持有期长)

Python实现:
python
from statsmodels.tsa.stattools import adfuller

计算价差

spread = pricea - (beta * priceb)

ADF检验

result = adfuller(spread) adf_stat = result[0] p_value = result[1]

解读

iscointegrated = pvalue < 0.05

步骤5:价差分析和Z分数计算

目标: 量化当前价差与均衡的偏离程度。

价差计算:

两种常用方法:

方法1:价格差(加法)

价差 = 价格A - (贝塔 × 价格B)

最适合:价格水平相近的股票

方法2:价格比(乘法)

价差 = 价格A / 价格B

最适合:价格水平不同的股票,更易解读

Z分数计算:

衡量价差偏离均值多少个标准差:

Z分数 = (当前价差 - 均值价差) / 标准差价差

Z分数解读:

  • - Z > +2.0:股票A相对B昂贵(做空A,做多B)
  • Z > +1.5:中等昂贵(关注入场)
  • Z -1.5至+1.5:正常范围(不交易)
  • Z < -1.5:中等便宜(关注入场)
  • Z < -2.0:股票A相对B便宜(做多A,做空B)

历史价差分析:

  • - 计算90天滚动窗口的均值和标准差
  • 绘制历史Z分数分布
  • 识别最大历史Z分数偏离
  • 检查结构性断裂(价差制度变化)

步骤6:生成入场/出场建议

目标: 提供可操作的交易信号及明确规则。

入场条件:

保守方法(Z ≥ ±2.0):

做多信号:

  • - Z分数 < -2.0(价差低于均值2个以上标准差)
  • 价差均值回归(协整p < 0.05)
  • 半衰期 < 60天

→ 操作:买入股票A,做空股票B(对冲比率 = 贝塔)

做空信号:

  • - Z分数 > +2.0(价差高于均值2个以上标准差)
  • 价差均值回归(协整p < 0.05)
  • 半衰期 < 60天

→ 操作:做空股票A,买入股票B(对冲比率 = 贝塔)

激进方法(Z ≥ ±1.5):

  • - 更低阈值,交易更频繁
  • 胜率更高但每笔交易平均利润较小
  • 需要更严格的风险管理

出场条件:

主要出场:均值回归(Z = 0)

当价差回归均值时出场(Z分数穿越0)
→ 同时平仓两条腿

次要出场:部分获利了结

当Z分数达到±1.0时出场50%
剩余50%在Z分数=0时出场

止损:

如果Z分数超出±3.0则出场(极端偏离)

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 pair-trade-screener-1776376311 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 pair-trade-screener-1776376311 技能

通过命令行安装

skillhub install pair-trade-screener-1776376311

下载

⬇ 下载 pair-trade-screener v0.1.0(免费)

文件大小: 37.46 KB | 发布时间: 2026-4-17 16:20

v0.1.0 最新 2026-4-17 16:20
Initial release of pair-trade-screener: a statistical arbitrage tool for market-neutral pair trading.

- Detects cointegrated stock pairs using correlation and cointegration analysis.
- Calculates spread z-scores to identify mean-reversion opportunities.
- Generates entry and exit signals for trades based on statistical thresholds.
- Recommends position sizing for market-neutral exposure.
- Provides workflow for sector-based, custom, or industry-specific screening.
- Supports spread analysis, backtesting, and risk management for pair trades.

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部