基于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 相关文章推荐
Phantomjs抓取渲染JS后的网页(Python代码)
May 13 Python
Python小进度条显示代码
Mar 05 Python
详解Python静态网页爬取获取高清壁纸
Apr 23 Python
python输出电脑上所有的串口名的方法
Jul 02 Python
Python Numpy计算各类距离的方法
Jul 05 Python
利用pandas将非数值数据转换成数值的方式
Dec 18 Python
Django重设Admin密码过程解析
Feb 10 Python
python3.6中anaconda安装sklearn踩坑实录
Jul 28 Python
python 服务器运行代码报错ModuleNotFoundError的解决办法
Sep 16 Python
python中round函数保留两位小数的方法
Dec 04 Python
解决pycharm导入numpy包的和使用时报错:RuntimeError: The current Numpy installation (‘D:\\python3.6\\lib\\site-packa的问题
Dec 08 Python
Pytorch 中的optimizer使用说明
Mar 03 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
ThinkPHP中实例Model方法的区别说明
2010/08/21 PHP
在PHP中利用wsdl创建标准webservice的实现代码
2011/12/07 PHP
Thinkphp中的curd应用实用要点
2015/01/04 PHP
PHP用mb_string函数库处理与windows相关中文字符及Win环境下开启PHP Mb_String方法
2015/11/11 PHP
PHP7 新增常量
2021/03/09 PHP
[原创]来自ImageSee官方 JavaScript图片浏览器
2008/01/16 Javascript
javascript算法题 求任意一个1-9位不重复的N位数在该组合中的大小排列序号
2012/07/21 Javascript
js自动生成对象的属性示例代码
2013/10/28 Javascript
JavaScript三元运算符的多种使用技巧
2015/04/16 Javascript
jQuery表格行上移下移和置顶的实现方法
2015/10/08 Javascript
基于JavaScript代码实现微信扫一扫下载APP
2015/12/30 Javascript
jQuery unbind 删除绑定事件详解
2016/05/24 Javascript
完美解决IE9浏览器出现的对象未定义问题
2016/09/29 Javascript
JS获取年月日时分秒的方法分析
2016/11/28 Javascript
jQuery select自动选中功能实现方法分析
2016/11/28 Javascript
JS表单传值和URL编码转换
2018/03/03 Javascript
JS函数内部属性之arguments和this实例解析
2018/10/07 Javascript
vue-cli项目中使用echarts图表实例
2018/10/22 Javascript
vue实现购物车抛物线小球动画效果的方法详解
2019/02/13 Javascript
详解Bootstrap 学习(一)入门
2019/04/12 Javascript
vue中实现Monaco Editor自定义提示功能
2019/07/05 Javascript
js实现开关灯效果
2020/03/30 Javascript
vue 使用 canvas 实现手写电子签名
2020/03/06 Javascript
[02:44]DOTA2英雄基础教程 魅惑魔女
2014/01/07 DOTA
[00:37]2016完美“圣”典风云人物:rOtk宣传片
2016/12/09 DOTA
初步解析Python中的yield函数的用法
2015/04/03 Python
Sanic框架流式传输操作示例
2018/07/18 Python
python中join()方法介绍
2018/10/11 Python
使用Python的datetime库处理时间(RPA流程)
2019/11/24 Python
tensorflow2.0的函数签名与图结构(推荐)
2020/04/28 Python
python 实现图片裁剪小工具
2021/02/02 Python
基于CSS3特效之动画:animation的应用
2013/05/09 HTML / CSS
效能监察建议书
2014/05/19 职场文书
租车协议书
2015/01/27 职场文书
2016天猫双十一广告语
2016/01/28 职场文书
python3 删除所有自定义变量的操作
2021/04/08 Python