配对交易定义

配对交易是一种基于数学分析交易策略,其盈利模式是通过两只证券的差价(spread)来获取,理论上可以做到和大盘走势完全无关。但其本质上是一种统计套利,也具有一定的风险性。

基本原理

配对交易的基本原理是,两个相似期货品种,其价格走势虽然在中途会有所偏离,但是最终都会趋于一致。配对交易就是利用这种价格偏离获取收益:当差价高于均值时,卖空涨得多的品种,差价小于均值时,买入涨得少的品种。具有这种关系的两个品种,在数学上称作协整性(cointegration),即它们之间的差价会围绕某一个均值来回摆动,这是配对交易策略可以盈利的基础。通俗点来讲,如果两个品种或者变量之间具有强协整性,那么不论它们中途怎么走的,它们的目的地总是一样的。

相关性分析

只有两个期货品种具有一定的相关性,那么对这两个品种做配对交易才有意义。那么首先就需要对各个品种做一个相关性分析。

那么要如何用Python对当前市场上所有的期货品种进行相关性分析呢?首先第一步,需要获取市场上所有的主力连续合约代码,在此之前当然还是我们熟悉的各种导入三方库。

import time
import numpy as np
import pandas as pd
%matplotlib inline
import seaborn
import matplotlib.pyplot as plt
import warnings; warnings.simplefilter('ignore') #忽略可能会出现的警告信息,警告并不是错误,可以忽略;
import akshare as ak

三方库导入完毕后,那我们开始用AKShare三方库获取当前期货市场上所有的期货连续合约代码。并整理数据。

df=ak.futures_display_main_sina()
df.set_index('symbol',inplace=True)

利用遍历循环批量获取期货连续合约的历史行情数据:

log=pd.DataFrame()
for contract_code in df.index[:10]:  # 大批量数据调取会报错,只对列表前10个期货品种进行分析time.sleep(1)  # 尽量控制调取数据频率contract_name=df.loc[contract_code]['name']data=ak.futures_main_sina(symbol=contract_code)data['日期']=pd.to_datetime(data['日期'])data.set_index('日期',inplace=True)data=data[['收盘价']]data.rename(columns={'收盘价':contract_name},inplace=True)log[contract_name]=data[contract_name]

将获取的行情数据进行处理,计算每日涨跌幅,并由此计算期货品种间的相关性:

data=log.copy()  # 复制数据,保留原始数据以便后续对原始数据进行二次分析
returns=data/data.shift(1)-1
corrs=returns.corr()  # 计算相关性

将各个品种的期货相关性以热力图的形式呈现出来:

import seaborn
fig = plt.figure(figsize=(18,18))
seaborn.heatmap(corrs)

颜色越浅相关性越高,可以看出在当前的品种中,塑料和聚丙烯之间的相关性较高。

以上便完成了对期货品种间的相关性分析。

配对交易(一):期货品种相关性研究相关推荐

  1. 高频交易——当期货配对交易加入了止损

    高频交易--当期货配对交易加入了止损 idea 数据介绍 配对交易 寻找配对标的 相关性 协整性 策略构建 回测结果 总结 核心代码示例 idea 目前在配对交易的识别上比较有代表性的是根据二者的相关 ...

  2. python 交易量化模型_Python期货股票量化交易,多品种组合模型之动量策略!

    一.策略简介 动量交易策略源于股票或期货市场中的动量效应,所谓动量效应是指过去一段时间的收益较高的资产价格,那么,资产在未来一段时间内同样也能获得较高收益. 同样的,如果某一资产价格过去的波动越大,那 ...

  3. 基于时间序列的协整关系的配对交易

    数据来源:Vitu.AI (一)什么是配对交易? 统计套利之配对交易是一种基于数学分析交易策略,其盈利模式是通过两个标的的差价(spread)来获取,两者的价格走势虽然在中途会有所偏离,但是最终都会趋 ...

  4. 配对交易方法_COVID下的自适应配对交易,一种强化学习方法

    配对交易方法 Abstract 抽象 This is one of the articles of A.I. Capital Management's Research Article Series, ...

  5. USDCNY--USDCNH 配对交易___境内及离岸人民币即期的协整关系及配对交易策略分析

    由于中国没有实现资本项下的可自由兑换,目前人民币的外汇交易存在境内及境外两个市场.在境内交易的CNY和境外交易的CNH,本质都是人民币,从这个角度上看,两者具有高度相关性.但是由于两者的市场形态.监管 ...

  6. 【量化】相关系数进行配对交易

    根据统计数据,对价差进行买卖,而不去做股票本身趋势的预测,是否能做到旱涝保收呢.下面是利用股票对之间的相关系数来进行配对交易的研究. 1,首先想到利用统计套利,可能会想到两只股票的相关系数是否会让两只 ...

  7. python统计套利_统计套利(二),利用协整关系进行配对交易【原文】

    之前我们谈到了利用两只股票之间的相关系数进行配对交易,但我们能通过两只相关性较高的股票对之间的差价图看出,相关性高他们之间的价差并不一定会是一个平稳序列,简单来说我们无法利用这个不收敛的价差来进行套利 ...

  8. 利用协整关系进行配对交易

    在前一篇当中利用相关系数来进行套利,看到价差并不为平稳序列,回测结果也就不是很好,所以想到利用协整关系来构建股票的线性组合,使得股价差为平稳序列,从而在真正意义上构建一个套利策略.看到有其他小伙伴也做 ...

  9. 一种拉风的交易策略——配对交易

    在量化投资领域,既然严格的无风险套利机会少.收益率微薄,实际的执行过程中也不能完全消除风险.那么如果有一种选择,能够稍微放松100%无风险的要求,比如允许有5%的风险,但同时却能够让套利机会增加100 ...

最新文章

  1. maven打包记录1
  2. UICollectionView的headerView、footerView使用以及与UITableView加载headerView、footerView的区别...
  3. HTTPS 原理分析
  4. Android 显示、隐藏状态栏和导航栏
  5. 【Android NDK 开发】NDK C/C++ 代码崩溃调试 - Tombstone 报错信息日志文件分析 ( 获取 tombstone_0X 崩溃日志信息 )
  6. null NULL is_null 竟然不一样
  7. [置顶] 我的程序员之路(4)---C语言课程设计
  8. php对象的三大特征,关于php中面向对象的三大特征(封装/继承/多态)
  9. 【转】crontab 详解
  10. 获取SQL命令字符串中的参数名列表
  11. Spring(4)--- hello world实例
  12. 【hortonworks/registry】AVRO 规范-Schema的定义和声明
  13. IPSecNAT穿越实验配置
  14. 用91卫图助手获取研究区(勾画研究矢量shp格式范围等)
  15. python中bin的意思_python中bin函数的使用方法
  16. Django实战教程: 开发企业级应用智能文档管理系统smartdoc(1)
  17. PCB小知识(1)-关于打接地孔
  18. Android 开源项目分类汇总 APP功能汇总
  19. 大数据挖掘-伤寒论和金匮要略(COVID-19用药启示录)
  20. 用python发邮件便利之处_第18课 python 发送邮件

热门文章

  1. python输出到文件里
  2. 【unity 保卫星城】--- 开发笔记04(武器管理系统)
  3. java jmf 教程_JMF入门(Java Media Framework)
  4. 越来越大的人使用计算机的原因,为什么越来越多的人喜欢用WPS这款电脑软件?这几点是关键原因...
  5. Android 系统名字、版本、API level的对应关系
  6. 无法识别usb设备如何解决
  7. 艾美捷科研专用西妥昔单抗Cetuximab相关介绍
  8. win10录屏_win10自带的录屏软件好用!!!
  9. DM8更换产品授权,更换KEY
  10. 计算机在医学影像中的应用,计算机图像处理技术在医学影像中的进展与应用