基于python计算滚动方差(标准差)talib和pd.rolling函数差异详解


Posted in Python onJune 08, 2020

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

# -*- 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计算滚动方差(标准差)talib和pd.rolling函数差异详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python3图片转换二进制存入mysql
Dec 06 Python
python 根据正则表达式提取指定的内容实例详解
Dec 04 Python
python寻找list中最大值、最小值并返回其所在位置的方法
Jun 27 Python
python中scikit-learn机器代码实例
Aug 05 Python
Python 3.8中实现functools.cached_property功能
May 29 Python
200行python代码实现2048游戏
Jul 17 Python
python虚拟环境完美部署教程
Aug 06 Python
python django model联合主键的例子
Aug 06 Python
Python使用Excel将数据写入多个sheet
May 16 Python
基于plt.title无法显示中文的快速解决
May 16 Python
浅谈OpenCV中的新函数connectedComponentsWithStats用法
Jul 05 Python
Python读取文件夹下的所有文件实例代码
Apr 02 Python
Python实现查找数据库最接近的数据
Jun 08 #Python
python numpy库np.percentile用法说明
Jun 08 #Python
python thrift 实现 单端口多服务的过程
Jun 08 #Python
Python astype(np.float)函数使用方法解析
Jun 08 #Python
python opencv 实现读取、显示、写入图像的方法
Jun 08 #Python
python:删除离群值操作(每一行为一类数据)
Jun 08 #Python
pyecharts在数据可视化中的应用详解
Jun 08 #Python
You might like
PHP count_chars()函数讲解
2019/02/14 PHP
Js+Dhtml:WEB程序员简易开发工具包(预先体验版)
2006/11/07 Javascript
javaScript call 函数的用法说明
2010/04/09 Javascript
JavaScript在IE和Firefox(火狐)的不兼容问题解决方法小结
2010/04/13 Javascript
JavaScript 操作键盘的Enter事件(键盘任何事件),兼容多浏览器
2010/10/11 Javascript
js表头排序实现方法
2015/01/16 Javascript
jQuery实现的多级下拉菜单效果代码
2015/08/24 Javascript
基于jquery实现左右按钮点击的图片切换效果
2021/01/27 Javascript
js获取时间精确到秒(年月日)
2016/03/16 Javascript
jQuery实现公告新闻自动滚屏效果实例代码
2016/07/14 Javascript
微信jssdk用法汇总
2016/07/16 Javascript
快速解决js中window.location.href不工作的问题
2016/11/02 Javascript
JS实现的RGB网页颜色在线取色器完整实例
2016/12/21 Javascript
BootStrap中jQuery插件Carousel实现轮播广告效果
2017/03/27 jQuery
javaScript实现复选框全选反选事件详解
2020/11/20 Javascript
vue-prop父组件向子组件进行传值的方法
2018/03/01 Javascript
js 实现在2d平面上画8的方法
2018/10/10 Javascript
详解Node.js读写中文内容文件操作
2018/10/10 Javascript
详解Vue 动态组件与全局事件绑定总结
2018/11/11 Javascript
浅谈vue加载优化策略
2019/03/19 Javascript
详解小程序如何避免多次点击,重复触发事件
2019/04/08 Javascript
Vue数字输入框组件示例代码详解
2020/01/15 Javascript
用Python制作简单的朴素基数估计器的教程
2015/04/01 Python
python进阶_浅谈面向对象进阶
2017/08/17 Python
在PyCharm下打包*.py程序成.exe的方法
2018/11/29 Python
对Python模块导入时全局变量__all__的作用详解
2019/01/11 Python
用openCV和Python 实现图片对比,并标识出不同点的方式
2019/12/19 Python
带你彻底搞懂python操作mysql数据库(cursor游标讲解)
2020/01/06 Python
Python开发.exe小工具的详细步骤
2021/01/27 Python
HTML5微信播放全屏问题的解决方法
2017/03/09 HTML / CSS
车间主任岗位职责
2015/02/03 职场文书
新员工试用期自我评价
2015/03/10 职场文书
信仰观后感
2015/06/03 职场文书
2016年会领导致辞稿
2015/07/29 职场文书
幼儿园科学课教学反思
2016/03/03 职场文书
「睡美人」爱洛公主粘土人开订
2022/03/22 日漫