基于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编程实现语音控制电脑
Apr 01 Python
用python删除java文件头上版权信息的方法
Jul 31 Python
浅析Python基础-流程控制
Mar 18 Python
深入理解Python分布式爬虫原理
Nov 23 Python
python八大排序算法速度实例对比
Dec 06 Python
python生成1行四列全2矩阵的方法
Aug 04 Python
解决python线程卡死的问题
Feb 18 Python
利用Python计算KS的实例详解
Mar 03 Python
python 8种必备的gui库
Aug 27 Python
学生如何注册Pycharm专业版以及pycharm的安装
Sep 24 Python
Python importlib模块重载使用方法详解
Oct 13 Python
selenium如何定位span元素的实现
Jan 13 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+jquery编码方面的一些心得(utf-8 gb2312)
2010/10/12 PHP
php将gd生成的图片缓存到memcache的小例子
2013/06/05 PHP
php中隐形字符65279(utf-8的BOM头)问题
2014/08/16 PHP
PHP实现长文章分页实例代码(附源码)
2016/02/03 PHP
PHP redis实现超迷你全文检索
2017/03/04 PHP
PHP/ThinkPHP实现批量打包下载文件的方法示例
2017/07/31 PHP
PHP中register_shutdown_function函数的基础介绍与用法详解
2017/11/28 PHP
jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera
2009/08/28 Javascript
jquery 查找select ,并触发事件的实现代码
2011/03/30 Javascript
js 实现 input type="file" 文件上传示例代码
2013/08/07 Javascript
JQuery中使用ajax传输超大数据的解决方法
2014/07/14 Javascript
JavaScript中的迭代器和生成器详解
2014/10/29 Javascript
Javascript监视变量变化的方法
2015/06/09 Javascript
使用JavaScript为Kindeditor自定义按钮增加Audio标签
2016/03/18 Javascript
jQuery实现鼠标经过显示动画边框特效
2017/03/24 jQuery
配置eslint规范项目代码风格
2019/03/11 Javascript
在JavaScript中如何访问暂未存在的嵌套对象
2019/06/18 Javascript
解决layui中onchange失效以及form动态渲染失效的问题
2019/09/27 Javascript
Nautil 中使用双向数据绑定的实现
2019/10/02 Javascript
JS实现网页烟花动画效果
2020/03/10 Javascript
Vue实现简单的跑马灯
2020/05/25 Javascript
jquery实现简易验证插件封装
2020/09/13 jQuery
Flexible.js可伸缩布局实现方法详解
2020/11/13 Javascript
python使用心得之获得github代码库列表
2014/06/25 Python
探究Python中isalnum()方法的使用
2015/05/18 Python
Android应用开发中Action bar编写的入门教程
2016/02/26 Python
详解使用python的logging模块在stdout输出的两种方法
2017/05/17 Python
jupyter notebook 添加kernel permission denied的操作
2020/04/21 Python
荷兰牛仔裤网上商店:Jeans Centre
2018/04/03 全球购物
军训自我鉴定怎么写
2014/02/13 职场文书
高校教师自荐信范文
2014/03/13 职场文书
专项法律服务方案
2014/06/11 职场文书
美术第二课堂活动总结
2014/07/08 职场文书
交警作风整顿剖析材料
2014/10/11 职场文书
工厂清洁工岗位职责
2015/02/14 职场文书
使用react+redux实现计数器功能及遇到问题
2021/06/02 Javascript