原标题:【独家发布】期货市场内外盘低频统计套利基于Python

编辑部

我们会再接再厉

声明

作者: 阿布

公众号独家授权

未经允许 禁止转载

github地址:

https://github.com/bbfamily/abu

本策略可直接运行,运行地址

https://github.com/bbfamily/abu/tree/master/abupy_lecture

首先导入本节需要使用的abupy中的模块:

算法交易之父托马斯•彼得菲最成功的一段经历是利用当时最快的计算机,租赁独享电话线以保证数据传输畅通无阻,甚至超越时代定制平叛电脑,使用统计套利在不同市场进行对冲策略。

这是最有保证的一段量化交易历史,在当时的交易环境下运用高科技在市场中确实可以获利。

但是这个策略放到今天肯定不适用,因为科技在不停的进步,技术的不断透明化,信息社会的高速发展,自动化交易占了美国股票市场60%以上的成交量。在美国很多高频交易为了通信速度能有几毫秒的提升,不惜在太平洋底打洞自己搭建通信网络,也有专门提供暗光纤的独享网络商,他们网络的一年租赁费用就高达几千万美元。在这种环境下,个人量化投资者是不是一点机会都没有呢?

1. 伦敦期货市场和国内期货市场中的金属期货

本节示例适合个人量化交易者的低频统计套利策略,目标市场为伦敦期货市场和国内期货市场中的金属期货。

如下先获取伦敦的金属期货symbol数据:

接下来获取国内的金属期货symbol数据:

如下分别将两两金属期货进行跨市场配对,首先可视化一下走势,可以看到每一个配对期货市场的走势都非常跟随:

如果做跨市场高频交易,需要非常好的设备,盯着盘口的数据,快速进行交易决策,且对资金量也有要求,本节的示例为适合个人量化交易者的跨市场低频统计套利示例。

注意观察上面的每一对趋势曲线,如CAD vs CU0,你可以发现CU0对趋势敏感的速度要明显快于CAD, 而且是非高频的快,即上面的蓝线在趋势下跌时先下跌,趋势上涨时先上涨,那么就可以认为CAD在非高频下跟随CU0,具有低频统计套利机会。

2. 趋势变化的敏感速度

我们不可能真的用肉眼去一个一个观察,而且也无法量化具体趋势敏感的速度,也即无法确定是否真实存在低频统计套利机会。

对于量化交易,优势是通过计算机强大的运算能力,在市场广度的优势下获取概率优势,进行交易,下面示例如何使用abupy中的api计算趋势变化的敏感速度,如下所示:

备注: 具体计算计算趋势速度请阅读tl模块中calc_pair_speed方法

上面的计算结果0.57为CU0对趋势变化敏感速度,0.52为CAD对趋势变化敏感速度,即CU0的对趋势变化的敏感度大于CAD,且大于0.03具备低频统计套利的条件。(大于0.05认为具有安全低频统计套利机会,具体这些阀值将在之后的章节讲解)

在低频统计套利的情况下将会使用CAD做为交易目标,CU0做为趋势风标,因为它的敏感度高,下面初始化一个字典,key为将会使用做为交易目标的CAD,value为做为趋势风标CU0,如下所示:

下面计算沪铝(AL0)和伦敦铝(AHD)对趋势变化的敏感速度,如下:

上面的计算结果0.61为沪铝(AL0)对趋势变化敏感速度,0.57为伦敦铝(AHD)对趋势变化敏感速度,即AL0对趋势变化的敏感度大于AHD,且大于0.03具备低频统计套利的条件。

字典中key为将会使用做为交易目标的低敏感AHD,value为做为趋势风标的高敏感AL0,如下所示:

下面计算国内黄金(AU0)和伦敦黄金(XAU)对趋势变化的敏感速度,如下:

上面的计算结果0.58为国内黄金(AU0)对趋势变化敏感速度,0.61为伦敦黄金(XAU)对趋势变化敏感速度,即外盘敏感速度快于国内期货趋势变化敏感速度,之前的两个都为国内期货趋势变化敏感速度快于外盘敏感速度。

字典中key为将会使用做为交易目标的低敏感国内黄金(AU0),value为做为趋势风标的高敏感伦敦黄金(XAU),如下所示:

下面计算国内白银(AG0)和伦敦白银(XAG)对趋势变化的敏感速度,如下:

上面的计算结果0.55为国内白银(AG0)对趋势变化敏感速度,0.60为伦敦白银(XAG)对趋势变化敏感速度,即白银的外盘敏感速度也快于国内期货趋势变化敏感速度。

字典中key为将会使用做为交易目标的低敏感国内白银(AG0),value为做为趋势风标的高敏感伦敦白银(XAG),如下所示:

下面计算沪锌(ZN0)和伦敦锌(SND)对趋势变化的敏感速度,如下:

字典中key为将会使用做为交易目标的低敏感伦敦锌(SND),value为做为趋势风标的高敏感沪锌(ZN0),如下所示:

下面计算沪铅(PB0)和伦敦铅(PBD)对趋势变化的敏感速度,如下:

上面的计算结果0.50为沪铅(PB0)对趋势变化敏感速度,0.59为伦敦铅(PBD)对趋势变化敏感速度,差值达到0.09远大于0.03,是非常好的低频统计套利配对。

字典中key为将会使用做为交易目标的低敏感沪铅(PB0),value为做为趋势风标的高敏感伦敦铅(PBD),如下所示:

上面即选定了跨市场低频统计套利的交易配对字典,key为为交易目标的低敏感,value为做为趋势风标的高敏感,如下:

3. 基于跨市场低频统计套利的突破策略

下面编写择时交易策略实现这个跨市场低频统计套利的交易配对,如下所示:

策略编写如上AbuFactorBuyPairBreak所示和之前章节一直使用的周期突破策略AbuFactorBuyBreak唯一不同的只有突破信号发出者为趋势风标的高敏感目标,一旦高敏感目标今天突破了,则买入的是低敏感的交易目标。

下面使用这个买入策略进行回测,卖出策略依然延用之前的策略,如下所示:

回测结果如上所示,对比未基于内外盘统计套利的普通突破策略回测可以看到回测效果提升很多,如下所示:

而且即使再次降低交易频度,不使用跨市场套利的时间优势,选择再隔一天买入交易目标,即下面的构造因子参数buy_today=False,可以看到回测的结果依然好于未基于内外盘统计套利的普通突破策略回测结果。

关注者

从1到10000+返回搜狐,查看更多

责任编辑:

python统计套利_【独家发布】期货市场内外盘低频统计套利基于Python相关推荐

  1. python统计套利_期货市场内外盘低频统计套利基于Python

    首先导入本节需要使用的abupy中的模块: AQF杂谈丨算法交易之父托马斯•彼得菲最成功的一段经历是利用当时最快的计算机,租赁独享电话线以保证数据传输畅通无阻,甚至超越时代定制平叛电脑,使用统计套利在 ...

  2. php.ini 米拓_独家发布米拓metinfo6系统ueditor编辑器getshell漏洞分析及终极解决办法...

    原标题:独家发布米拓metinfo6系统ueditor编辑器getshell漏洞分析及终极解决办法 最近笔者所有米拓metinfo系统做的网站都被植入木马,连最新版6.2.0都能被攻击,而且修改了后台 ...

  3. python手把手入门_新手必看:手把手教你入门 Python

    首先,Python是什么?据它的创始人Guido van Rossum而言, "Python是一种高级编程语言,它的核心设计思想是代码可读性和允许程序员用几行代码来表达观点的语法." ...

  4. python装逼_能够让你装逼的10个Python小技巧

    列表推导式 你有一个list: bag = [1, 2, 3, 4, 5] 现在你想让所有元素翻倍,让它看起来是这个样子: [2, 4, 6, 8, 10] 大多初学者,根据之前语言的经验会大概这样来 ...

  5. python orm库_周边生态贡献者+1,一个TDengine的Python ORM库—crown

    本文介绍了一个用于操作TDengine的 Python ORM库.本文的预期读者是,需要使用Python语言操作TDengine数据库的开发人员. 什么是ORM? ORM就是对象关系映射(Object ...

  6. python怎么认识_用“讲故事”的方式,带你认识Python编码问题的起源和发展!

    问题起源 我们在学习Python的过程中,可能会经常遇到下方这样的编码问题.有时候我们需要选择gbk,有时候需要选择utf-8.你以为这样就完了吗?我们碰到的还有gb2312,gb18030等各种奇奇 ...

  7. python硬件编程_树莓派c语言 设置并使用树莓派进行Python和C语言编程 - 硬件设备 - 服务器之家...

    树莓派c语言 设置并使用树莓派进行Python和C语言编程 发布时间:2017-03-01 来源:服务器之家 设置并使用树莓派进行Python和C语言编程 (下) Python部落组织翻译, 禁止转载 ...

  8. python简单编程语言_功能强大而又简单易学的编程语言Python

    Python是一种面向对象.直译式计算机程序设计语言,也是一种功能强大的通用型语言(维基百科).自从上次写那个批量Blast小程序的时候接触了Python,发现这个玩意儿真是好用,后来还用它弄了个动态 ...

  9. 虚拟机python建站_搭建本地虚拟服务器linux(CentOS 7)的python虚拟环境(Hyper-V演示)...

    新建虚拟机->安装CentOS7->新建虚拟交换机:内部网络->CentOS7设置->网络适配器:虚拟交换机:新建虚拟交换机->进入CentOS #cd /etc/sys ...

  10. python 字符串操作速度_强者一出,谁与争锋?与Python相比,C+的运行速度究竟有多快?|python|编程语言|字符串|示例|算法...

    对于数据科学家而言,热爱Python的理由数不胜数.但你是否也曾问过这样的问题:Python和C或C++等更专业的低级编程语言究竟有何不同呢?我想这是很多数据科学家或者Python用户曾经问过或者将来 ...

最新文章

  1. python 归一化_几种归一化方法(Normalization Method)python实现
  2. swift4 linux,Swift 4正式发布,新功能概览
  3. Mycat探索之旅(3)----Mycat的全局序列号
  4. 一次“失败”的阿里面试之旅
  5. STM32_DMA 标准初始化设置解释
  6. 抛出错误Debug Assertion Failed!
  7. 成都电讯学院研发的计算机,成都电讯工程学院
  8. 两个有序链表序列的交集_LeetCode | 21.合并两个有序链表
  9. ctf里的拼图工具_CTF比赛工具pwntools介绍
  10. [小笔记]TypeScript/JavaScript映射两组数据
  11. 离散数学思维导图笔记
  12. 【工具分享】画流程图工具Gliffy Diagrams
  13. 取手机号码php正则表达式,PHP获取手机号码的正则表达式写法
  14. 计算机学院 统计学博士点,统计学 国家重点学科/博士点/硕士点
  15. 2021年全球与中国飞机飞行控制系统(FCS)行业市场规模现状及企业市场份额分析
  16. Spring Boot基础教程 - 程序猿DD
  17. 高版本linux安装gamit,Ubuntu 14.04下安装GAMIT/GLOBK10.50软件
  18. 电脑正下方显示桌面和计算机,电脑桌面下方的显示栏怎么设置
  19. python基础刻意练习--Task 6 字典与集合
  20. Faceswap文档之---使用手册

热门文章

  1. 洛谷:P2142 高精度减法
  2. kityminder-editor 百度脑图与my-mind 使用体验
  3. meta的http-equiv属性
  4. Android 分享到Instagram
  5. vue 批量下载图片并打包成压缩包
  6. python安装后不能画图_Python实现画图软件功能,windows的画图功能不能实现
  7. AutoJsPro,阿伟的假期(看广告游戏)脚本实例
  8. Excel加密文档 加密保护破解方法 亲测有效
  9. About Config
  10. 《如何正确评估自己的工作能力》--马薇薇