原创 | 以ETF为例——配对交易Python源码全公开

配对交易是指八十年代中期华尔街著名投行Morgan Stanley的数量交易员Nunzio Tartaglia成立的一个数量分析团队提出的一种市场中性投资策略。

在实际操作中,其执行过程可以简单地描述为:投资者首先选择相互匹配的两个资产,当配对资产价格差异增加的时候,做多价格偏低的资产,同时做空价格偏高的资产,而当价格差异减小的时候,则结束头寸,完成交易;同时,为了控制风险,当价差进一步扩大时,需要在适当的止损点结束头寸。

所以,想开发一个配对交易的策略,核心有两个步骤:

1.找到待交易的标的。

比如说两个走势非常类似的股票或者其他证券。

2.对两者的价差建模。

假设是两者的价差会在一个稳定的区间波动(均值回归)。

————————————————

在以往的研究中,配对交易的标的的筛选方法有很多种,归纳起来大致有这两种:

  • 最小化偏差平方和法则(最小距离法)

  • 协整理论方法

今天,我们以ETF为例。

首先获取深交所的所有交易标的,剔除掉在今年才上市和已经退市的,筛选出深交所的所有ETF基金,然后通过相关性检验取出相关系数最强的一对cp进行配对交易。


具体执行如下:

1.先获取深交所的所有交易标的

import numpy as np
import pandas as pd
from gm.api import *
import matplotlib.pyplot as plt
set_token('xxxxxxxxxxxx')
#获取深圳交易所全部标的
data1=get_instruments(exchanges='SZSE',df=True)
#剔除掉在今年才上市的标的
data1=data1[data1['listed_date']<'2020-12-30']
#剔除掉今天之前退市的标的
data1=data1[data1['delisted_date']>'2021-08-30']
data1.index=range(len(data1))
data1

2.取出ETF基金。

b=pd.DataFrame()
symbol=[]

for i in range(len(data1)):
    if 'ETF' in data1['sec_name'][i]:
        print(data1['sec_name'][i])
        symbol.append(data1['symbol'
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值