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

更多精彩内容,欢迎关注公众号:数量技术宅。想要获取完整策略代码,请加技术宅微信: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分钟波动率统计策略的更多相关文章
- 【数量技术宅|金融数据分析系列分享】为什么中证500(IC)是最适合长期做多的指数
更多精彩内容,欢迎关注公众号:数量技术宅.探讨数据分析.量化投资问题,请加技术宅微信:sljsz01 投资股票指数相比个股的优势 我们在投资股票的时候,如果持仓集中在一只或者有限几只股票上,恰好不幸遇 ...
- 【数量技术宅 | Python爬虫系列分享】实时监控股市重大公告的Python爬虫
实时监控股市重大公告的Python爬虫小技巧 精力有限的我们,如何更加有效率地监控信息? 很多时候特别是交易时,我们需要想办法监控一些信息,比如股市的公告.如果现有的软件没有办法实现我们的需求,那么就 ...
- 轻量化模型系列--GhostNet:廉价操作生成更多特征
前言 由于内存和计算资源有限,在嵌入式设备上部署卷积神经网络 (CNN) 很困难.特征图中的冗余是那些成功的 CNN 的一个重要特征,但在神经架构设计中很少被研究. 论文提出了一种新颖的 Gh ...
- 量化投资策略:常见的几种Python回测框架(库)
量化投资策略:常见的几种Python回测框架(库) 原文地址:http://blog.csdn.net/lawme/article/details/51454237 本文章为转载文章.这段时间在研究量 ...
- python量化分析系列之---5行代码实现1秒内获取一次所有股票的实时分笔数据
python量化分析系列之---5行代码实现1秒内获取一次所有股票的实时分笔数据 最近工作太忙了,有一个星期没有更新文章了,本来这一期打算分享一些对龙虎榜数据的分析结果的,现在还没有把数据内的价值很好 ...
- 《Linux命令学习手册》系列分享专栏
<Linux命令学习手册>系列分享专栏 <Linux命令学习手册>已整理成PDF文档,点击可直接下载至本地查阅https://www.webfalse.com/read/207 ...
- 《你不知道的JavaScript》系列分享专栏
<你不知道的JavaScript>系列分享专栏 你不知道的JavaScript”系列就是要让不求甚解的JavaScript开发者迎难而上,深入语言内部,弄清楚JavaScript每一个零部 ...
- 《nginx源代码解析》系列分享专栏
<nginx源代码解析>系列分享专栏 解析nginx源代码,从main函数开始,一步步解读nginx运行原理,同时进行nginx第三方模块的开发,努力做到知其然,知其所以然 <ngi ...
- 《Nginx高性能Web服务器》系列分享专栏
<Nginx高性能Web服务器>系列分享专栏 [作者:Poechant] Nginx是目前最流行的基于BSD-like协议.轻量级.高性能的HTTP服务器.反向代理服务器和电子邮件(SMT ...
随机推荐
- 如何通过seo技术提高网站对用户的友好度
http://www.wocaoseo.com/thread-129-1-1.html 今天的天气又是29度,眼看着满大街的人都穿着短袖和衬衣了,自己也再不能穿个厚厚的外套出去了,要不会被别人笑 ...
- Qt 改变鼠标形状
Qt 改变鼠标形状(转载) 改变鼠标形状,在绘制坐标系的时候有用到,特此记下: 1 this->setMouseTracking(true); //设置为不按下鼠标键触发moveEvent 2 ...
- Linux下如何知道是否有人在使坏?
在 Linux 下查看用户的行为,不仅仅是网管要做的事,也是开发人员所应该具备的基本技能之一.为什么呢?因为有时其他同事在做一些很消耗资源的事情,比如在编译大型程序,可能会导致服务器变得很慢,从而影响 ...
- 牛哄哄的celery
一.什么是Celery 1.1.celery是什么 Celery是一个简单.灵活且可靠的,处理大量消息的分布式系统,专注于实时处理的异步任务队列,同时也支持任务调度. Celery的架构由三部分组成, ...
- SpringCloud Alibaba Nacos 服务注册
业务服务接入Nacos服务治理中心 启动Nacos访问地址为:http://101.200.201.195:8848/nacos/ 创建bom工程用于管理依赖(下方附加源码地址) 准备工作完成后开始接 ...
- 初学WebGL引擎-BabylonJS:第3篇-方向纹理与相机
[playground]-rotatuib abd scaling(方向) 源码 var createScene = function () { var scene = new BABYLON.Sce ...
- 【Azure DevOps系列】Azure DevOps构建并发布Nuget程序包
在Azure DevOps中,管道可以用来构建解决方案,O(∩_∩)O哈哈~快万能了,本章主要介绍如何创建Nuget包并且将其发布到Nuget服务器的过程. 前面我创建了一个非常简单的类库,这边我不做 ...
- 跟着尚硅谷系统学习Docker-【day08】
day08-20200723 p32.docker 安装redis [ docker pull redis] [docker run -p 6397:6397 -v /tmp/mydocker ...
- 解决Maven的JDK版本问题
在pom文件中添加以下代码 <build> <plugins> <plugin> <groupId>org.apache.maven.plugins&l ...
- 【小白学PyTorch】9 tensor数据结构与存储结构
文章来自微信公众号[机器学习炼丹术]. 上一节课,讲解了MNIST图像分类的一个小实战,现在我们继续深入学习一下pytorch的一些有的没的的小知识来作为只是储备. 参考目录: @ 目录 1 pyto ...