基于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 相关文章推荐
python开发的小球完全弹性碰撞游戏代码
Oct 15 Python
python简单实现计算过期时间的方法
Jun 09 Python
pip matplotlib报错equired packages can not be built解决
Jan 06 Python
ubuntu安装sublime3并配置python3环境的方法
Mar 15 Python
Python异常处理操作实例详解
May 10 Python
python打包生成的exe文件运行时提示缺少模块的解决方法
Oct 31 Python
python 使用poster模块进行http方式的文件传输到服务器的方法
Jan 15 Python
Python实战购物车项目的实现参考
Feb 20 Python
python3.7 使用pymssql往sqlserver插入数据的方法
Jul 08 Python
python自动分箱,计算woe,iv的实例代码
Nov 22 Python
使用Django清空数据库并重新生成
Apr 03 Python
PyTorch 如何检查模型梯度是否可导
Jun 05 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
动态网站web开发 PHP、ASP还是ASP.NET
2006/10/09 PHP
Access数据库导入Mysql的方法之一
2006/10/09 PHP
PHP生成静态页
2006/11/25 PHP
PHP实现webshell扫描文件木马的方法
2017/07/31 PHP
PHP压缩图片功能的介绍
2019/03/21 PHP
使用Laravel中的查询构造器实现增删改查功能
2019/09/03 PHP
asp 的 分词实现代码
2007/05/24 Javascript
JavaScript下申明对象的几种方法小结
2008/10/02 Javascript
自己的js工具 Cookie 封装
2009/08/21 Javascript
在vs2010中调试javascript代码方法
2011/02/11 Javascript
js onload事件不起作用示例分析
2013/10/09 Javascript
js支持键盘控制的左右切换立体式图片轮播效果代码分享
2015/08/26 Javascript
jQuery实现的仿百度分页足迹效果代码
2015/10/30 Javascript
关于获取DIV内部内容报错的原因分析及解决办法
2016/01/29 Javascript
AngularJS中比较两个数组是否相同
2016/08/24 Javascript
jquery实现转盘抽奖功能
2017/01/06 Javascript
layui中table表头样式修改方法
2018/08/15 Javascript
Vue动态创建注册component的实例代码
2019/06/14 Javascript
js canvas实现5张图片合成一张图片
2019/07/15 Javascript
Vue实现input宽度随文字长度自适应操作
2020/07/29 Javascript
jQuery是用来干什么的 jquery其实就是一个js框架
2021/02/04 jQuery
[06:42]DOTA2每周TOP10 精彩击杀集锦vol.1
2014/06/25 DOTA
各个系统下的Python解释器相关安装方法
2015/10/12 Python
编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法
2016/01/20 Python
python在新的图片窗口显示图片(图像)的方法
2019/07/11 Python
Python使用graphviz画流程图过程解析
2020/03/31 Python
使用python编写一个语音朗读闹钟功能的示例代码
2020/07/14 Python
送给程序员的20个Java集合面试问题
2014/08/06 面试题
实习生单位鉴定意见
2013/12/04 职场文书
个人四风对照检查材料
2014/09/26 职场文书
村干部群众路线教育活动对照检查材料
2014/10/01 职场文书
预备党员2014年第四季度思想汇报范文
2014/10/25 职场文书
2015年乡镇流动人口工作总结
2015/05/12 职场文书
教师教育教学随笔
2015/08/15 职场文书
浅谈Python numpy创建空数组的问题
2021/05/25 Python
Java 垃圾回收超详细讲解记忆集和卡表
2022/04/08 Java/Android