更多精彩内容,欢迎关注公众号:数量技术宅。想要获取完整策略代码,请加技术宅微信: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. 淘宝ios端弹窗-2020年3月25日

  2. Vue.js 实战教程(附demo)

    在实战之前,你需要对vuejs的基础语法有一定的了解,可以通过以下几个途径进行学习: vue.js官方文档:https://cn.vuejs.org/v2/guide/index.html vue.j ...

  3. Pytorch原生AMP支持使用方法(1.6版本)

    AMP:Automatic mixed precision,自动混合精度,可以在神经网络推理过程中,针对不同的层,采用不同的数据精度进行计算,从而实现节省显存和加快速度的目的. 在Pytorch 1. ...

  4. 用python爬虫写一个属于自己的彩虹屁生成器!

    效果图如下:

  5. Android开发之AlertDialog警告提示框删除与取消 详解代码

    package cc.jiusansec.www; import android.app.Activity; import android.app.AlertDialog; import androi ...

  6. 《神经网络的梯度推导与代码验证》之LSTM的前向传播和反向梯度推导

    前言 在本篇章,我们将专门针对LSTM这种网络结构进行前向传播介绍和反向梯度推导. 关于LSTM的梯度推导,这一块确实挺不好掌握,原因有: 一些经典的deep learning 教程,例如花书缺乏相关 ...

  7. 剑指 Offer 53 - I. 在排序数组中查找数字 I

    题目描述 统计一个数字在排序数组中出现的次数. 示例1: 输入: nums = [5,7,7,8,8,10], target = 8 输出: 2 示例2: 输入: nums = [5,7,7,8,8, ...

  8. 在遍历ResultSet的循环中再执行SQL会发生什么(前提:同一个Statement)

    如下面代码: Class.forName(DBParam.Driver).newInstance(); conn = DriverManager.getConnection(DBParam.DbUrl ...

  9. Django-配置镜像源,虚拟环境详解

    0.配源虚拟 全局配源 阿里云镜像站:https://developer.aliyun.com/mirror/ # 在cmd中操作,查找文件 C:\Users\Administrator>pip ...

  10. mysql版本和模式查询

    查找数据库的: select version() select @@sql_mode 上面是查版本号,下面是查sql-mode,改sql-model要在mysql目录下配置文件 my.ini, 改修改 ...