我就废话不多说了,大家还是直接看代码吧!

# -*- coding: utf-8 -*-

"""

created on thu apr 12 11:23:46 2018

@author: henbile

"""

#计算滚动波动率可以使用专门做技术分析的talib包里面的函数,也可以使用pandas包里面的滚动函数。

#但是两个函数对于分母的选择,就是使用n还是n-1作为分母这件事情上是有分歧的。

#另一个差异在于:talib包计算基于numpy,而pd.rolling是基于series或者dataframe的。

import pandas as pd

import numpy as np

import talib as tb

a = tb.var(closefull[:,0], timeperiod = 12, nbdev =1)

b = tb.var(closefull[:,0], timeperiod = 12, nbdev =0)

#我以为nbdev是涉及分母的数量,发现其实不是。nbdev = -1也没有改变。

c = pd.series(closefull[:,0]).rolling(window = 12, center = false).var()

#tb基于np数据,pd基于pd包的两个类型的数据。

d = pd.rolling_var(pd.series(closefull[:,0]), window= 12, min_periods=none, freq=none, center=false, how=none)

#__main__:1: futurewarning: pd.rolling_var is deprecated for series and will be removed in a future version, replace with

# series.rolling(window=12,center=false).var()

#以前的公式是d,现在运行d会报错,所以改正成c的形式。

closefull[0:12,0].var(ddof =1)

#out[28]: 0.30576590909090895

#ddof参数的意义:分母是n-ddof

closefull[0:12,0].var(ddof =0)

#out[29]: 0.28028541666666656

#因为window是12,所以选第11个print

print(a[11],b[11],c[11],d[11])

#0.28028541666667195 0.28028541666667195 0.3057659090909086 0.3057659090909086

#计算都是var的计算,大胆的推测std的计算也是适用的。

#talib包的std运算的公式是tb.stddev

#pd.rolling就是var换成std

#谨慎起见,还是计算一下,看一看。

#最后发现大胆的推测是正确的。

e = tb.stddev(closefull[:,0], timeperiod = fastperiod, nbdev = 1)

f = pd.series(closefull[:,0]).rolling(window = fastperiod, center = false).std()

closefull[0:12,0].std(ddof =1)

#out[45]: 0.5529610375884624

closefull[0:12,0].std(ddof =0)

#out[46]: 0.5294198869202653

print(e[11], f[11])

#0.5294198869202704 0.5529610375884622

补充知识:python —— .rolling(20).std()

#在这里我们取20天内的标准差

以上这篇基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持萬仟网。

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

python编写计算方差的函数_基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解...相关推荐

  1. python编写的动物识别专家系统_基于Python的动物识别专家系统

    1. 利用pyqt5来设计专家系统的界面. 如下图一: 图一 起始界面 相应的运行过程的界面,如图二: 图二 相应的运行过程界面 2. 设置规则文本 guizhe.txt 有毛发 哺乳动物 有奶 哺乳 ...

  2. 用python写脚本筛选原创微博_基于python编写的微博应用

    本文实例讲述了基于python编写的微博应用,分享给大家供大家参考.具体如下: 在编写自己的微博应用之前,先要到weibo开放平台申请应用的公钥和私钥. 下载python版的SDK,打开example ...

  3. python cut函数_基于python cut和qcut的用法及区别详解

    我就废话不多说了,直接上代码吧: from pandas import Series,DataFrame import pandas as pd import numpy as np from num ...

  4. python用户名和密码登录函数_基于Python构建用户ID和密码存储查询系统,python,建立,一个,用户名,UserID,Password,的...

    大家好,本篇博客目的是建立存储和查询用户名和密码的python系统,基础好的可跳过中间小干货,源码在末尾,喜欢的留下小赞哦! 系统主要功能 主要功能如下: 创建一个新用户及其密码 修改值定用户的密码 ...

  5. python中numpy数组的合并_基于Python中numpy数组的合并实例讲解

    基于Python中numpy数组的合并实例讲解 Python中numpy数组的合并有很多方法,如 - np.append() - np.concatenate() - np.stack() - np. ...

  6. python的图书管理项目教程_基于python图书馆管理系统设计实例详解

    写完这个项目后,导师说这个你完全可以当作毕业项目使用了,写的很全,很多的都设计考虑周全,但我的脚步绝不止于现在,我想要的是星辰大海!与君共勉! 这个项目不是我的作业, 只是无意中被拉进来了,然后就承担 ...

  7. python怎样使用各个日期赤纬_基于Python的天文软件命令行界面设计与实现

    计算机软件技术的不断发展,推动了人机交互技术的长足进步.从传统的命令行(Command Line Interface,CLI),到图形用户界面(Graphical User Interface,GUI ...

  8. python随机输出52张牌_基于Python制作一副扑克牌过程详解

    整理一下通过本文分享给大家, 该案例是通过 Python 类属性创建一幅除去大王.小王之后的 52 张扑克牌,并实现随机抽牌.排序.洗牌等功能: 创建一个纸牌类 一副扑克除去大王小王之外,剩下的 52 ...

  9. python中sample是什么意思_基于Python中random.sample()的替代方案

    python中random.sample()方法可以随机地从指定列表中提取出N个不同的元素,但在实践中发现,当N的值比较大的时候,该方法执行速度很慢,如: numpy random模块中的choice ...

  10. python编写win 本地reader程序_使用Python、win32api和Acrobat Reader 9打印PDF

    我有报告,我要发送到一个系统,要求报告是可读的PDF格式.我尝试了所有的免费库和应用程序,我发现唯一有效的是Adobe的acrobat家族.在 我用python编写了一个快速脚本,它使用win32ap ...

最新文章

  1. 生信服务器 | Linux 时间戳和标准时间
  2. java cutdown_Java并发程序入门介绍
  3. 10.13 上午 考试
  4. 三极管基本参数介绍与放大电路分析
  5. setTimeout(fn,0)
  6. CF16A Flag
  7. np.random的随机数函数
  8. NuGet:添加EntityFramework
  9. 移动电子商务,“移动”至生活
  10. kali linux set工具,求助: 社会工程学工具set 出现错误for kali linux.
  11. 调用ICodeCompiler来计算字符串表达式
  12. Java基础--Java---IO流------GUI(布局)、Frame、事件监听机制、窗体事件、Action事件、鼠标事件、对话框Dialog、键盘事件、菜单
  13. apache多域名403配置
  14. Axure 初学者如何做 App 产品原型?
  15. 互联网+餐饮:看李帅与面点王董事长张和平如何说
  16. Python3网络爬虫(十三):王者荣耀那些事!(Fiddler之手机APP爬取)
  17. 什么是零知识证明?Tokenview
  18. C语言循环语句进阶练习题
  19. 如何抓住ChatGPT的热潮,打造小红书爆款
  20. 大企业邮箱品牌排行中,哪个企业邮箱好用?

热门文章

  1. 600集Python从入门到精通教程(懂中文就能学会)
  2. 蓝桥杯特殊回文数C语言简易版
  3. Twaver-HTML5基础学习(3)基本数据元素(Data)其他功能函数以及组Group
  4. 摄影测量(一):概述
  5. x240无线网卡驱动 linux,Linux2.6移植:DM9000驱动
  6. 实时高清车牌识别算法
  7. 敏捷开发工具scrum
  8. 详解30道Vue面试题
  9. python对电商运营有帮助吗_做电商运营需要学习python嘛?
  10. 二进制模2除法(CRC循环冗余检验)