基于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中django框架通过正则搜索页面上email地址的方法
Mar 21 Python
Python使用Matplotlib实现雨点图动画效果的方法
Dec 23 Python
python微信跳一跳系列之自动计算跳一跳距离
Feb 26 Python
Python File readlines() 使用方法
Mar 19 Python
对python中的float除法和整除法的实例详解
Jul 20 Python
初次部署django+gunicorn+nginx的方法步骤
Sep 11 Python
基于Python fminunc 的替代方法
Feb 29 Python
Python操作MySQL数据库的示例代码
Jul 13 Python
Python字符串三种格式化输出
Sep 17 Python
python 密码学示例——理解哈希(Hash)算法
Sep 21 Python
python“静态”变量、实例变量与本地变量的声明示例
Nov 13 Python
python基于tkinter实现gif录屏功能
May 19 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 pcntl_fork和pcntl_fork 的用法
2009/04/13 PHP
在WAMP环境下搭建ZendDebugger php调试工具的方法
2011/07/18 PHP
定义php常量的详解
2013/06/09 PHP
php 过滤英文标点符号及过滤中文标点符号代码
2014/06/12 PHP
php利用array_search与array_column实现二维数组查找
2019/07/08 PHP
JavaScript.The.Good.Parts阅读笔记(二)作用域&闭包&减缓全局空间污染
2010/11/16 Javascript
js中将HTMLCollection/NodeList/伪数组转换成数组的代码
2011/07/31 Javascript
SwfUpload在IE10上不出现上传按钮的解决方法
2013/06/25 Javascript
JS(JQuery)操作Array的相关方法介绍
2014/02/11 Javascript
JavaScript中instanceof运算符的使用示例
2016/06/08 Javascript
jQuery表单事件实例代码分享
2016/08/18 Javascript
JQuery手速测试小游戏实现思路详解
2016/09/20 Javascript
详解Vue中一种简易路由传参办法
2017/09/15 Javascript
用Webpack构建Vue项目的实践
2017/11/07 Javascript
深入浅析Vue.js中 computed和methods不同机制
2018/03/22 Javascript
JavaScript实现HTML导航栏下拉菜单
2020/11/25 Javascript
Python中的列表生成式与生成器学习教程
2016/03/13 Python
举例讲解Python面向对象编程中类的继承
2016/06/17 Python
Python中flatten( )函数及函数用法详解
2018/11/02 Python
Python给定一个句子倒序输出单词以及字母的方法
2018/12/20 Python
Python判断一个list中是否包含另一个list全部元素的方法分析
2018/12/24 Python
解决pycharm上的jupyter notebook端口被占用问题
2019/12/17 Python
Python多线程操作之互斥锁、递归锁、信号量、事件实例详解
2020/03/24 Python
详解移动端HTML5音频与视频问题及解决方案
2018/08/22 HTML / CSS
html5中如何将图片的绝对路径转换成文件对象
2018/01/11 HTML / CSS
意大利大型购物中心:Oliviero.it
2017/10/19 全球购物
英国复古服装购物网站:Collectif
2019/10/30 全球购物
请问如下代码执行后a和b的值分别是什么
2016/05/05 面试题
机械化及自动化毕业生的自我评价分享
2013/11/06 职场文书
历史专业个人求职信分享
2013/12/20 职场文书
工程质量承诺书范文
2014/03/27 职场文书
小学标准化建设汇报材料
2014/08/16 职场文书
房产分割协议书范文
2014/11/21 职场文书
2015重阳节敬老活动总结
2015/07/29 职场文书
演讲开头怎么书写?
2019/08/06 职场文书
Python网络编程之ZeroMQ知识总结
2021/04/25 Python