更多精彩内容,欢迎关注公众号:数量技术宅。想要获取完整策略代码,请加技术宅微信:sljsz01

股指期货分钟级别波动率观察

在A股市场,股指期货是由一揽子股票组成的股票现货指数,所对应的期货。由于期货市场敏锐的价格发现作用,股指期货的价格运动往往领先于股票现货市场,波动率相比较股票市场也会更高,可以说股指期货是股票市场的风向标。

对于股指期货这样一个重要的风向标,我们先来统计一下它在分钟级别最精细的颗粒:1分钟K线下的波动特征。我们尝试用Python Pandas库的方法读入格式为csv文件的股指期货1分钟K线数据,并计算出股指期货1分钟的收益率数据,然后我们调用seaborn库的distplot、kdeplo、rugplot方法,绘制出股指期货1分钟K线波动的频率分布。

根据绘制的股指期货1分钟K线波动频率分布,与大多数金融资产一样,波动分布存在着尖峰厚尾的特征。从下图也可以看出,在-6 Sigma的区域,仍然存在相当显著的频率分布。

因此,我们可以判断,股指期货的分钟级波动,存在着“厚尾效应”,接下来我们将尝试,能否利用这些“厚尾效应”。

统计“厚尾”波动发生后,行情会出现什么特征

我们分别以0.3、0.5、1的百分比阈值为例,统计“厚尾”波动发生后,接下来1分钟的收益率情况,并采用subplot语法,将3种不同的阈值,绘制在同一张输出图,以便比较。

观察统计结果,随着波动率阈值的升高,均值附近的分布比率下降、两侧的分布比率增加,说明下1分钟的波动率与上1分钟的波动率呈现正向相关的关系。

由于0.5%的阈值,在统计频数、分布规律上都比较显著。后续,我们选择0.5%作为统计和计算的阈值。

“厚尾”波动的分类与思考

我们在前文中计算的波动率,是按照收盘价与上一个收盘价(pre_close to close)的变化比率来衡量的,这就存在一个问题,即 close to close 的变化比率,可以由K线实体(open to close)的大幅变动产生,同样也可以由K线之间的跳空(pre_close to open)的大幅变动产生。

K线实体(open to close)的大幅变动通常发生在盘中,而K线之间的跳空(pre_close to open)几乎都发生在开盘的第1分钟。因此,我们将这两类厚尾波动分为实体波动以及跳空波动

实体波动的统计规律

将实体的厚尾波动,再按向上波动(大幅上涨)和向下波动(大幅下跌)分为两类,波动的阈值按照此前设计的0.5%来截取,分为上涨、下跌进行统计,是为了避免混合在一起,某一方向的强特性掩盖了另一方向的弱特性。我们统计未来1分钟的收益率,并对收益率进行累积处理。

从统计结果可以看到,实体分钟K线的大幅波动,对后1分钟的预测结果呈现弱趋势线。即盘中股指期货,在前1分钟大幅上涨或下跌,后1分钟有较大的概率延续前1分钟的运动方向,而上涨的延续性,相比较下跌的延续性更强。

跳空波动的统计规律

我们以同样的方式,来统计跳空厚尾波动的接下来1分钟的行情运动规律。

我们看到了与实体波动完全不同的统计规律,第一点,跳空波动中厚尾波动发生的频率、频数,远高于实体波动,这一点也很好理解,因为开盘的跳空,消化的是停盘几个小时国内外发生的所有消息和事件;第二点,跳空波动在下1分钟的运动轨迹呈现显著的反转特征,开盘大幅的跳高、跳低在下1分钟反转的成功率高、多空性质稳定。

构建IF分钟波动率统计策略

通过比较实体波动与跳空波动的统计规律,跳空波动无论是在频率、还是稳定性上,均要优于实体波动。我们将根据跳空波动的规律,来构建一个简单的股指期货IF分钟波动率统计策略。

当股指期货IF大幅高开,超过我们设定的阈值,我们进场在接下来的1分钟时间内做空;而当股指期货IF大幅低开,超过我们设定的阈值乘以-1,在接下来的1分钟时间内做多。我们先按照统计规律中0.5%的阈值,测试这个策略想法。

我们改变阈值,将厚尾跳空波动的认定范围提高到1%,其他条件不变再次测试。

对于策略衍生的思考

由于持有时间仅1分钟,策略的单笔利润较为微薄,在严格的费率和冲击下,有可能会侵蚀相当程度的测试利润。如果该策略需要应用到实际交易,仍需要进一步测试,是否有延长持有时间、或是截断亏损让利润奔跑的常规趋势出场操作的改进机会。

这个策略更大的应用价值,在于对大多数趋势策略在开盘触发止损(止盈)信号的叠加。试想,当我们的趋势策略持有与隔夜大幅跳空反向时,按照趋势策略常规的出场逻辑,我们会在开盘价附近直接止损,下图就是一个典型的策略信号。

而根据我们这个策略的测试,大幅度的隔夜跳空,会带来下1分钟极高概率的反向运动。因此,更优的做法是,我们在反向隔夜跳空触发策略出场时,等待1分钟,再进行出场的操作。相当于在原始策略收益的基础上,叠加了这个策略的利润,且对于叠加的策略,无需付出任何冲击、交易成本(因为我们本身也是要做同样的交易)。

如果想要获取本次分享的完整代码,或是任何关于数据分析、量化投资的问题,欢迎添加技术宅微信:sljsz01,与我交流


往期干货分享推荐阅读

【数量技术宅 | Python爬虫系列分享】实时监控股市重大公告的Python爬虫

【数量技术宅|量化投资策略系列分享】股指期货IF分钟波动率统计策略的更多相关文章

  1. 【数量技术宅|金融数据分析系列分享】为什么中证500(IC)是最适合长期做多的指数

    更多精彩内容,欢迎关注公众号:数量技术宅.探讨数据分析.量化投资问题,请加技术宅微信:sljsz01 投资股票指数相比个股的优势 我们在投资股票的时候,如果持仓集中在一只或者有限几只股票上,恰好不幸遇 ...

  2. 【数量技术宅 | Python爬虫系列分享】实时监控股市重大公告的Python爬虫

    实时监控股市重大公告的Python爬虫小技巧 精力有限的我们,如何更加有效率地监控信息? 很多时候特别是交易时,我们需要想办法监控一些信息,比如股市的公告.如果现有的软件没有办法实现我们的需求,那么就 ...

  3. 轻量化模型系列--GhostNet:廉价操作生成更多特征

    ​  前言  由于内存和计算资源有限,在嵌入式设备上部署卷积神经网络 (CNN) 很困难.特征图中的冗余是那些成功的 CNN 的一个重要特征,但在神经架构设计中很少被研究. 论文提出了一种新颖的 Gh ...

  4. 量化投资策略:常见的几种Python回测框架(库)

    量化投资策略:常见的几种Python回测框架(库) 原文地址:http://blog.csdn.net/lawme/article/details/51454237 本文章为转载文章.这段时间在研究量 ...

  5. python量化分析系列之---5行代码实现1秒内获取一次所有股票的实时分笔数据

    python量化分析系列之---5行代码实现1秒内获取一次所有股票的实时分笔数据 最近工作太忙了,有一个星期没有更新文章了,本来这一期打算分享一些对龙虎榜数据的分析结果的,现在还没有把数据内的价值很好 ...

  6. 《Linux命令学习手册》系列分享专栏

    <Linux命令学习手册>系列分享专栏 <Linux命令学习手册>已整理成PDF文档,点击可直接下载至本地查阅https://www.webfalse.com/read/207 ...

  7. 《你不知道的JavaScript》系列分享专栏

    <你不知道的JavaScript>系列分享专栏 你不知道的JavaScript”系列就是要让不求甚解的JavaScript开发者迎难而上,深入语言内部,弄清楚JavaScript每一个零部 ...

  8. 《nginx源代码解析》系列分享专栏

    <nginx源代码解析>系列分享专栏 解析nginx源代码,从main函数开始,一步步解读nginx运行原理,同时进行nginx第三方模块的开发,努力做到知其然,知其所以然 <ngi ...

  9. 《Nginx高性能Web服务器》系列分享专栏

    <Nginx高性能Web服务器>系列分享专栏 [作者:Poechant] Nginx是目前最流行的基于BSD-like协议.轻量级.高性能的HTTP服务器.反向代理服务器和电子邮件(SMT ...

随机推荐

  1. 想学习SEO可以看哪些书籍

    http://www.wocaoseo.com/thread-28-1-1.html 除了一些常见的比如入门推荐<走进搜索引擎>和进阶推荐<这就是搜索引擎--核心技术详解>之外 ...

  2. 23种设计模式 - 数据结构(Composite - iterator - Chain of Responsibility)

    其他设计模式 23种设计模式(C++) 每一种都有对应理解的相关代码示例 → Git原码 ⌨ 数据结构 Composite 动机(Motivation) 软件在某些情况下,客户代码过多依赖于对象容器复 ...

  3. vue 中PDF实现在线浏览,禁止下载,打印

    需求:在线浏览pdf文件,并且禁止掉用户下载打印的效果. 分析:普通的iframe.embed标签都只能实现在线浏览pdf的功能,无法禁止掉工具栏的下载打印功能.只能尝试使用插件,pdfobject. ...

  4. unity 4种实现动态障碍方法

    此文将介绍4种实现动态障碍的方法,2种基于navmesh,2种基于astar算法. 1.基于navmesh. 1.制作场景障碍: a.有几个独立的障碍物,就定义几个user area,即,一个场景仅仅 ...

  5. Shader之溶解效果的几种实现方法

    这里通过 “是否丢弃像素”的2种方法,写2个shader,效果是一样的,也提到了,丢弃某个像素的3种方式. 是否丢弃: 1.通过脚本控制shader变量判断当前是否丢弃像素,需要额外脚本: 2.sha ...

  6. 初级知识六——C#事件通知系统实现(观察者模式运用)

    观察者模式,绝对是游戏中十分重要的一种模式,运用这种模式,可以让游戏模块间的通信变得简单,耦合度也会大大降低,下面讲解如何利用C#实现事件通知系统. 补充,首先说下这个系统的实现原理,不然一头扎进去就 ...

  7. Linux安装doker

    docker安装(centos) 官方文档:https://docs.docker.com/engine/install/centos/ 前提条件 内核系统3.10以上的centos7.可用 unam ...

  8. 从String中移除空白字符的多种方式!?

    字符串,是Java中最常用的一个数据类型了.我们在日常开发时候会经常使用字符串做很多的操作.比如字符串的拼接.截断.替换等. 这一篇文章,我们介绍一个比较常见又容易被忽略的一个操作,那就是移除字符串中 ...

  9. 小程序开发-媒体组件image

    image 图片组件,支持 JPG.PNG.SVG.WEBP.GIF 等格式,2.3.0 起支持云文件ID. 所有属性如下: Tips image组件默认宽度320px.高度240px image组件 ...

  10. 每日一道 LeetCode (41):阶乘后的零

    每天 3 分钟,走上算法的逆袭之路. 前文合集 每日一道 LeetCode 前文合集 代码仓库 GitHub: https://github.com/meteor1993/LeetCode Gitee ...