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

1,首先想到利用统计套利,可能会想到两只股票的相关系数是否会让两只股票的走势有一种特定关系。

import numpy as np
start = '2014-01-01'#此处时间一定要与回测的时间相对应,因为不同时间可能相关性不一致
end = '2016-11-01'
stock1='601618.XSHG'
stock2='600026.XSHG'
a1 = get_price(stock1,fields='close', start_date=start, end_date=end)
a2 = get_price(stock2,fields='close', start_date=start, end_date=end)
#上图
plt.scatter(a1,a2)
plt.xlabel(stock1)
plt.ylabel(stock2)
plt.title('Stock prices from ' + start + ' to ' + end)
print (stock1+"与"+stock2+"之间的相关系数: ", np.corrcoef(a1["close"],a2["close"]))

同样数据大多都集中在一条直线上

找到相关性高的股票对,我们要来研究它们之间的价差,因为这是我们策略套利的关键

从图中看出,所以相关系数高,两者之间的价差不一定会围绕一个常数波动,价差会具有一定的变异性,即价差序列是非平稳的。
我们来检验下价差的平稳性。

进一步的我们来看看以均值加减一倍标准差是否包含了大部分的差价区间

import pandas as pd
mean=np.mean(a3)
std=np.std(a3)
up=mean+std
down=mean-std
time=a3.index
mean_line=pd.Series(mean,index=time)
up_line=pd.Series(up,index=time)
down_line=pd.Series(down,index=time)
set=pd.concat([a3,mean_line,up_line,down_line],axis=1)
set.columns=['spreadprice','mean','upper','down']
set.plot(figsize=(14,7))

可以看到虽然包含了大部分价差区间,但是开仓次数太少,并且在2014年股票的差价都是在上开仓线附近小幅波动,会造成频繁开仓使得成本十分高。
同时观察2015年价差出现极端值,此时如果开仓,价差不收敛,如果没做到好的平仓条件此时会造成大量亏损。
尽管看图像上通过相关系数来做配对交易不太理想,我们还是通过回测来看看具体结果。

ricequant回测代码

import numpy as np
def init(context):#选取研究后相关系数较高的股票对,如果用户想试试其他的配对交易只需改动股票代码即可context.s1 = '601618.XSHG'context.s2 = '600026.XSHG'def before_trading(context):passdef handle_bar(context, bar_dict):# 取得选取的两只股票1年的收盘价并算出差价price_stock1=history_bars(context.s1, 250, '1d', 'close')price_stock2=history_bars(context.s2, 250, '1d', 'close')diff=price_stock1-price_stock2#以均值加一倍标准差作为上开仓线up=np.mean(diff)+np.std(diff)#以均值减一倍标准差作为下开仓线down=np.mean(diff)-np.std(diff)#取得进行交易前一天股票的收盘价并计算差价yesterday_price1=history_bars(context.s1, 1, '1d', 'close')yesterday_price2=history_bars(context.s2, 1, '1d', 'close')yesterday_diff=yesterday_price1-yesterday_price2#前一天差价达到上开仓线即卖出股票s1,做多s2if yesterday_diff>up:order_target_percent(context.s1,0)order_target_percent(context.s2,1)#前一天的差价达到下开仓线即卖出股票s2,做多s1if yesterday_diff<down:order_target_percent(context.s2,0)order_target_percent(context.s1,1)

回测结果图

根结果显示,统计相关系数配对交易,在强相关的证券,可以获得更高超过市场收益的a回报

【量化】相关系数进行配对交易相关推荐

  1. 【量化笔记】配对交易

    配对交易的步骤 1. 如何挑选进行配对的股票 2. 挑选好股票对以后,如何制定交易策略,开仓点如何设计 3. 开仓是,两只股票如何进行多空仓对比 股票对的选择 1. 行业内匹配 2. 产业链配对 3. ...

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

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

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

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

  4. 金融量化 — 配对交易策略 (Pair Trading)

    1. 配对交易策略 1.1.引言 在量化投资领域,既然严格的无风险套利机会少.收益率微薄,实际的执行过程中也不能完全消除风险.那么如果有一种选择,能够稍微放松100%无风险的要求,比如允许有5%的风险 ...

  5. 量化交易陷阱和R语言改进股票配对交易策略分析中国股市投资组合

    最近我们被客户要求撰写关于量化交易的研究报告,包括一些图形和统计输出. 计算能力的指数级增长,以及量化社区(日益增长的兴趣使量化基金成为投资者蜂拥而至的最热门领域. 量化交易陷阱和R语言改进股票配对交 ...

  6. 【量化策略系列】股票均值回归策略之一——配对交易策略(Pairs Trading)

    本文持续更新中.最后更新时间:11/11/2019 文章目录 1. 往期文章回顾 2. 均值回归策略简介 3. 配对交易策略简介 4. 配对交易策略构建流程 5. 代码实现与回测结果 Python 代 ...

  7. 量化投资实战(三)之配对交易策略---协整法

    点赞.关注再看,养成良好习惯 Life is short, U need Python 初学量化投资实战,[快来点我吧] 配对交易策略实战-协整法 基本流程 配对组合 --> 计算价差 --&g ...

  8. 量化投资实战(二)之配对交易策略---最短距离法

    点赞.关注再看,养成良好习惯 Life is short, U need Python 初学量化投资实战,[快来点我吧] 配对交易策略实战-最短距离法 基本流程 配对组合 --> 计算价差 -- ...

  9. 量化金融分析AQF(12):配对交易 Pair trading - 考虑时间序列平稳性、协整关系

    目录 1. 数据准备 & 回测准备 2. 策略开发思路 3.产生交易信号 3. 计算策略年化收益并可视化 4.总结 上节说到,做2只股票配对交易,先判断2只股票的平稳性,不平稳就做一阶差分和协 ...

最新文章

  1. DllMain中不当操作导致死锁问题的分析--加载卸载DLL与DllMain死锁的关系
  2. mysql建表影响效率_MySQL建表查询优化技巧
  3. R语言:怎么进行异常检测
  4. 百度2011招聘笔试题+答案解析
  5. 2020-07-02 CVPR2020 VL论文讨论(3) 笔记
  6. 计算机体系结构--第一章1----体系结构的分类
  7. 定制一个网络文件系统
  8. 火了!堪称神级的 Spring Boot 手册
  9. 11 MM配置-主数据-定义物料类型的编码范围
  10. 不同类型特征变量之间相关性分析
  11. 死锁、活锁、性能问题
  12. Struts配置文件的加载顺序
  13. PHP经常用到的方法,[PHP]经常用到的实用函数集合第1/2页
  14. Python3 PyV8“安装与使用”教程
  15. 哄女朋友的睡前小故事(一)
  16. Cura Engine 源码解析:Settings
  17. 【中土世界】宏大地名汇总
  18. 基于亚像素的边缘检测方法
  19. ultraiso安装matlab,ubuntu U盘安装教程:UltraISO采用U盘安装ubuntu12.10
  20. 一款全新的平面UI套件,专门用于桌面应用程序

热门文章

  1. c语言 整数四则运算
  2. 角色原画设计中的节奏感如何把握?
  3. 中国首台千万亿次超级计算机,中国首台千万亿次超级计算机完成安装
  4. python文件处理相关
  5. 商品搜索引擎---分词(插件介绍与入门实例)
  6. 2014,寻找企业信息管理软件的蓝海
  7. Ubuntu使用gym保存视频报错“Unknown encoder ‘libx264‘”
  8. CVPR2018——以属性为指导的无监督行人重识别
  9. 微信小程序客服相关功能
  10. 微信小程序+阿里物联平台+合宙Air724UG搭建无服务器物联系统(一)