You need to enable JavaScript to run this app. 如何基于配对价差与标准差快速生成股票交易信号?
优惠活动
大模型
产品
解决方案
定价
更多

如何基于配对价差与标准差快速生成股票交易信号?

配对交易价差信号最简实现方案

核心规则

  • 基础定义
    • 价差(spread):配对股票策略的核心价值度量指标,单组配对组合由2支股票构成,例如Amazon、Tesla组成的Amazon_Tesla配对
    • 信号取值规则:信号值为1时,对应股票执行卖出操作;信号值为0时,对应股票执行买入操作
  • 输入参数
    • std:浮点型数值,用于计算信号触发阈值,本场景固定以1倍标准差作为触发线
    • spread:支持传入列表或pandas序列格式的价差时间序列
  • 输出要求
    最终输出两组对应配对股票的交易信号:Signal-1(配对组合第一支股票的交易信号)、Signal-2(配对组合第二支股票的交易信号)
  • 信号变动逻辑
    信号值随价差与阈值的动态关系调整:当价差超出阈值时触发对应交易,例如价差在索引位置2首次突破上阈值时,对应操作为卖出Amazon股票、买入Tesla股票;价差在阈值区间内波动时,信号保持上一次的持仓状态不变,变动规律完全匹配公开参考示例的设计逻辑。

最简实现

采用向量化计算逻辑替代手动循环,无冗余计算,适配大规模时间序列的快速处理需求:

import numpy as np
import pandas as pd

def generate_pair_signals(std: float, spread):
    # 计算1倍标准差触发阈值
    trigger_threshold = 1 * std
    spread_arr = np.array(spread)
    # 标记上下阈值穿越位置,非穿越点标记为空值
    trigger_points = np.where(
        spread_arr > trigger_threshold, 1,
        np.where(spread_arr < -trigger_threshold, 0, np.nan)
    )
    # 非触发点位前向填充,沿用最近一次的交易状态
    state_series = pd.Series(trigger_points).ffill().values
    # 配对交易多空仓位对等反向,直接推导第二支股票的信号
    signal_1 = state_series
    signal_2 = 1 - state_series
    return signal_1, signal_2

校验对齐

  • 触发行为匹配示例:当价差首次突破上阈值(如索引位置2的穿越事件),自动触发卖出配对第一支股票(Signal-1=1)、买入配对第二支股票(Signal-2=0)的操作,与示例行为无偏差
  • 无频繁信号跳变:价差在正负阈值之间的区间内波动时,信号不会随微小价差变化反复调整,保持上次触发的持仓状态,符合实盘配对交易的信号设计要求

内容的提问来源于stack exchange,提问作者birdalugur

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.11 07:45:03