配对交易(一):期货品种相关性研究
配对交易定义
配对交易是一种基于数学分析交易策略,其盈利模式是通过两只证券的差价(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)
颜色越浅相关性越高,可以看出在当前的品种中,塑料和聚丙烯之间的相关性较高。
以上便完成了对期货品种间的相关性分析。
配对交易(一):期货品种相关性研究相关推荐
- 高频交易——当期货配对交易加入了止损
高频交易--当期货配对交易加入了止损 idea 数据介绍 配对交易 寻找配对标的 相关性 协整性 策略构建 回测结果 总结 核心代码示例 idea 目前在配对交易的识别上比较有代表性的是根据二者的相关 ...
- python 交易量化模型_Python期货股票量化交易,多品种组合模型之动量策略!
一.策略简介 动量交易策略源于股票或期货市场中的动量效应,所谓动量效应是指过去一段时间的收益较高的资产价格,那么,资产在未来一段时间内同样也能获得较高收益. 同样的,如果某一资产价格过去的波动越大,那 ...
- 基于时间序列的协整关系的配对交易
数据来源:Vitu.AI (一)什么是配对交易? 统计套利之配对交易是一种基于数学分析交易策略,其盈利模式是通过两个标的的差价(spread)来获取,两者的价格走势虽然在中途会有所偏离,但是最终都会趋 ...
- 配对交易方法_COVID下的自适应配对交易,一种强化学习方法
配对交易方法 Abstract 抽象 This is one of the articles of A.I. Capital Management's Research Article Series, ...
- USDCNY--USDCNH 配对交易___境内及离岸人民币即期的协整关系及配对交易策略分析
由于中国没有实现资本项下的可自由兑换,目前人民币的外汇交易存在境内及境外两个市场.在境内交易的CNY和境外交易的CNH,本质都是人民币,从这个角度上看,两者具有高度相关性.但是由于两者的市场形态.监管 ...
- 【量化】相关系数进行配对交易
根据统计数据,对价差进行买卖,而不去做股票本身趋势的预测,是否能做到旱涝保收呢.下面是利用股票对之间的相关系数来进行配对交易的研究. 1,首先想到利用统计套利,可能会想到两只股票的相关系数是否会让两只 ...
- python统计套利_统计套利(二),利用协整关系进行配对交易【原文】
之前我们谈到了利用两只股票之间的相关系数进行配对交易,但我们能通过两只相关性较高的股票对之间的差价图看出,相关性高他们之间的价差并不一定会是一个平稳序列,简单来说我们无法利用这个不收敛的价差来进行套利 ...
- 利用协整关系进行配对交易
在前一篇当中利用相关系数来进行套利,看到价差并不为平稳序列,回测结果也就不是很好,所以想到利用协整关系来构建股票的线性组合,使得股价差为平稳序列,从而在真正意义上构建一个套利策略.看到有其他小伙伴也做 ...
- 一种拉风的交易策略——配对交易
在量化投资领域,既然严格的无风险套利机会少.收益率微薄,实际的执行过程中也不能完全消除风险.那么如果有一种选择,能够稍微放松100%无风险的要求,比如允许有5%的风险,但同时却能够让套利机会增加100 ...
最新文章
- maven打包记录1
- UICollectionView的headerView、footerView使用以及与UITableView加载headerView、footerView的区别...
- HTTPS 原理分析
- Android 显示、隐藏状态栏和导航栏
- 【Android NDK 开发】NDK C/C++ 代码崩溃调试 - Tombstone 报错信息日志文件分析 ( 获取 tombstone_0X 崩溃日志信息 )
- null NULL is_null 竟然不一样
- [置顶] 我的程序员之路(4)---C语言课程设计
- php对象的三大特征,关于php中面向对象的三大特征(封装/继承/多态)
- 【转】crontab 详解
- 获取SQL命令字符串中的参数名列表
- Spring(4)--- hello world实例
- 【hortonworks/registry】AVRO 规范-Schema的定义和声明
- IPSecNAT穿越实验配置
- 用91卫图助手获取研究区(勾画研究矢量shp格式范围等)
- python中bin的意思_python中bin函数的使用方法
- Django实战教程: 开发企业级应用智能文档管理系统smartdoc(1)
- PCB小知识(1)-关于打接地孔
- Android 开源项目分类汇总 APP功能汇总
- 大数据挖掘-伤寒论和金匮要略(COVID-19用药启示录)
- 用python发邮件便利之处_第18课 python 发送邮件
热门文章
- python输出到文件里
- 【unity 保卫星城】--- 开发笔记04(武器管理系统)
- java jmf 教程_JMF入门(Java Media Framework)
- 越来越大的人使用计算机的原因,为什么越来越多的人喜欢用WPS这款电脑软件?这几点是关键原因...
- Android 系统名字、版本、API level的对应关系
- 无法识别usb设备如何解决
- 艾美捷科研专用西妥昔单抗Cetuximab相关介绍
- win10录屏_win10自带的录屏软件好用!!!
- DM8更换产品授权,更换KEY
- 计算机在医学影像中的应用,计算机图像处理技术在医学影像中的进展与应用