什么是指数偏离度

它是指数涨跌的快慢和偏离幅度指标。

当指数快速上涨,偏离度数据会迅速的向上偏离,当快速下跌时,偏离度数据会迅速的向下偏离。

而持续的上涨中出现下跌,偏离度就会急转直下,另一种持续的下跌中出现上涨,偏离度就会迅速上升。

指数偏离度的计算公式:100% × (当日指数 - N日平均指数) / N日平均指数;

其中N可以取5、10、20、30、60等值,就能反映出多少日的偏离度情况。数值越小反映的结果越趋近于瞬时变化,而数值越大反映的结果趋近于于平均变化。

指数偏离度反映的特征

下面是沪深300指数60日偏离度和10偏离度的情况。

60日偏离度更能反映指数在一段时间区间内的变化,整体性更好,抖动较大,有助于了解指数的长期偏离走势,而10日偏离度更能反映当前指数的瞬时变化,独立性更好,抖动较小,有助于了解指数的短期变化走势。

指数偏离度反映的是趋势的变化,更适用在量化的趋势投资中,也就是右侧投资模式,并不适合左侧投资方式,后续会介绍微笑曲线的投资方式,微笑曲线就是一种左侧投资方式。

在小将看来左侧投资方式的胜率更大也更适合自己,但萝卜青菜各有所爱,大家按自己的投资策略来就行。

源码

import numpy as np
import pandas as pd
import matplotlib.pyplot as pltview_name = 'sh.000300'# (当日指数或收盘价-N日平均指数或收盘价)/N日平均指数或收盘价×100%index_info = pd.read_csv('./exportfile/indexDataAll/' + view_name + '.csv')index_data = index_info['close'].values[1:len(index_info['close']):1]
win_10 = 10
win_30 = 30
win_60 = 60
offset = 60
index_data_deviation_10 = np.zeros([len(index_data),1])
index_data_deviation_30 = np.zeros([len(index_data),1])
index_data_deviation_60 = np.zeros([len(index_data),1])
for i in range(1,len(index_data)-offset,1):index_data_deviation_10[i+offset] = (index_data[i+offset] - np.mean(index_data[i+offset-win_10:i+offset])) / np.mean(index_data[i+offset-win_10:i+offset])index_data_deviation_30[i+offset] = (index_data[i+offset] - np.mean(index_data[i+offset-win_30:i+offset])) / np.mean(index_data[i+offset-win_30:i+offset])index_data_deviation_60[i+offset] = (index_data[i+offset] - np.mean(index_data[i+offset-win_60:i+offset])) / np.mean(index_data[i+offset-win_60:i+offset])plt_gap = 7
plt.rcParams["axes.grid"] = True
plt.rcParams['font.sans-serif'] = ['Microsoft YaHei']
plt.rcParams['axes.unicode_minus']=False
plt.rcParams["grid.linestyle"] = (3, 5)
fig = plt.figure(1)
ax1 = fig.add_subplot(1,1,1)
ax1.plot(index_data_deviation_10,label='10日偏离度',color='cornflowerblue',linewidth='2',linestyle='-')
ax1.plot(index_data_deviation_60,label='60日偏离度',color='tomato',linewidth='2',linestyle='-')
ax1.set_xlim(offset,len(index_data_deviation_60)+200)
ax1.set_ylim(-0.4,2)
index_ticks = index_info['date'].values[1:len(index_info['date']):1]
index_x = range(len(index_ticks),0,-round(len(index_ticks)/plt_gap))
index_xticks_tmp = index_ticks.tolist()
index_xticks = index_xticks_tmp[len(index_xticks_tmp):0:-round(len(index_ticks)/plt_gap)]
ax1.set_xticks(index_x)
ax1.set_xticklabels(index_xticks)
ax1.tick_params(labelsize=23)
plt.legend(loc='upper left',fontsize=25)ax2 = ax1.twinx()
ax2.plot(index_data,color='darkgray',label='指数走势',linewidth='3')
ax2.set_xlim(offset,len(index_data)+200)
ax2.set_ylim(0,np.max(index_data)+1000)
ax1.set_xticks(index_x)
ax1.set_xticklabels(index_xticks)
ax2.tick_params(labelsize=23)
plt.legend(loc='upper right',fontsize=25)
plt.title('沪深300偏离度 | 10日偏离度='+str("{:.3f}".format(float(index_data_deviation_10[-1]))) + ' | 60日偏离度='+str("{:.3f}".format(float(index_data_deviation_60[-1]))),size=28)plt.show()

上述源码中用到的指数沪深300数据或者大家需要用其他数据,可以参看原来的文章《基于Python的指数基金量化投资 - 指数数据获取》。

程序中用到的指数数据如果有问题,大家可以留言获取也可以添加小将前行的微信xjqx_666进行获取,欢迎大家一起交流沟通_

课程参考:基于Python的量化指数基金投资

基于Python的指数基金量化投资——指数基金偏离度计算相关推荐

  1. 基于Python的指数基金量化投资——指数基金间相关度计算

    每一种指数基金都是由一篮子股票组成的,少的有几十个成分股,多的有几百上千个成分股,而整个A股目前有四千多家上市公司,每种指数基金都从A股这个大篮子里面选取成分股,那就会有个问题,不同的指数基金选择的成 ...

  2. 基于Python的指数基金量化投资 - 指数投资技巧(三)不定期定额

    指数投资方式中有四种基本的方法,分别是定期定额.定期不定额.不定期定额和不定期不定额,这四种方式投资效果不同,对投资者的要求也不同,定期定额最简单,但收益不算高,不定期不定额最复杂,对投资者的要求最高 ...

  3. 基于Python的指数基金量化投资——指数数据获取

    做基金的量化,最最重要的是要有数据,所以指数的数据是所有分析的源头. Baostock就提供比较全面的指数数据,具体可以参考<基于Python的指数基金量化投资 - 股票数据源baostock& ...

  4. 基于Python的指数基金量化投资——指数包含的个股数据获取

    要计算指数的加权值,指数的市盈率.市净率,或者指数的净资产收益率,都需要用到指数所包含的个股信息,前面分享的<指数的净资产收益率计算>和<指数的市盈率和市净率计算>等文中都有提 ...

  5. 基于python的股票程序化交易论文_基于Python工具的股票量化投资策略研究

    2019 年第 07 期 20 世 纪 80 年代, 一 些 投 资 者 开 始 利用 计 算 机 研究金 融 数据 , 并 初显 成 效 . 20 世 纪 末 , 投 资 者 把 计 算 机 技术 ...

  6. 基于Python的指数基金量化投资——A股全市场成交量计算

    成交量是反映市场情绪和流动性一个很重要的指标,当出现牛市时成交量会急剧放大,当出现熊市时成交量会急剧缩小. 通过成交量可以反映出市场的情绪是处于正常.平淡还是疯狂,可以在一定程度上指导我们的投资操作, ...

  7. 基于Python的指数基金量化投资 ——A股所有个股名称和证券代码获取

    前面介绍过怎么获取A股个股的数据<基于Python的指数基金量化投资 - 股票数据源baostock>,里面包含了个股的各种历史数据,包含:股价.市盈率.市净率.成交量.换手率等等. 但是 ...

  8. 基于Python的指数基金量化投资-股票数据源baostock

    基于Python的指数基金量化投资-股票数据源baostock 课程参考:基于Python的量化指数基金投资 微信公众号: 量化用到的数据源来自baostock,可以通过www.baostock.co ...

  9. 基于Python的指数基金量化投资-为什么量化指数基金投资

    上一次写了基于Python的指数基金量化投资-股票数据源baostock 这次来说一下为什么要量化指数基金投资. 进行指数基金投资我们需要清楚几个关键点:该投资哪些指数品种,为什么投资这些品种.这些品 ...

最新文章

  1. 初学者 | 一文读懂命名实体识别
  2. 谈谈自己对REST、SOA、SOAP、RPC、ICE、ESB、BPM知识汇总及理解
  3. c++ 3.变量定义
  4. .NET操作WORD文档另存为其他格式的文件
  5. 最激动人心的视觉系统其实是最枯燥乏味的
  6. windows下安装mysql 开机启动
  7. java 方法保存变量_java – 在初始化对象或将其保存为变量并调用该方法时,调用方法的速度更快...
  8. canvas笔记-使用canvas画矩形及各样式(透明)
  9. 虚拟机卸载ubuntu安装mysql_ubuntu 卸载与安装mysql
  10. SQLite连接C#笔记
  11. 2014最不受欢迎10编程语言种
  12. 批处理批量更改文件名并排序
  13. kvm Libvirt qemu-kvm虚拟主机指定固定IP
  14. nginx 域名跳转
  15. 化妆品行业如何开启新零售模式?你懂了吗
  16. ensp 交换机与路由器ospf_华为三层交换机和路由器建立OSPF关系
  17. InputStream输入字节流
  18. OKEx货币对价格数量长度及精度
  19. 有的js为什么放在body里面
  20. 未转变者DLC皮肤在服务器,未转变者 steam上 最新的版本 肿么联机?肿么创建房间...

热门文章

  1. 小学生python游戏编程arcade----灯光示例
  2. 2022年第十三届蓝桥杯比赛Java B组 【全部真题答案解析-第一部分】
  3. WPAWPA2 deauth攻击实验
  4. 硬盘分区丢失不能识别,文件系统损坏,不能读取第一个/第二个NTFS引导扇区的解决方法
  5. netstat 命令详解及实现原理
  6. PMP|研发项目管理之问题及改进方法
  7. 思维导图Vue2组件
  8. 【云原生之Docker实战】使用Docker部署Rap2开源接口管理工具
  9. Basic4android 的妈妈 Basic4ppc
  10. 串口开发 打印机 读卡器 遇到的问题