基于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中的pass语句使用方法讲解
May 14 Python
总结用Pdb库调试Python的方式及常用的命令
Aug 18 Python
python利用不到一百行代码实现一个小siri
Mar 02 Python
Python中第三方库Requests库的高级用法详解
Mar 12 Python
django 创建过滤器的实例详解
Aug 14 Python
Win7下Python与Tensorflow-CPU版开发环境的安装与配置过程
Jan 04 Python
python中将\\uxxxx转换为Unicode字符串的方法
Sep 06 Python
Python3安装psycopy2以及遇到问题解决方法
Jul 03 Python
Django 中自定义 Admin 样式与功能的实现方法
Jul 04 Python
python GUI图形化编程wxpython的使用
Jul 19 Python
python开发入门——列表生成式
Sep 03 Python
python 30行代码实现蚂蚁森林自动偷能量
Feb 08 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实现全角字符转为半角方法汇总
2015/07/09 PHP
如何用PHP来实现一个动态Web服务器
2015/07/29 PHP
php7 安装yar 生成docker镜像
2017/05/09 PHP
一个加密JavaScript的开源工具PACKER2.0.2
2006/11/04 Javascript
jQuery中:disabled选择器用法实例
2015/01/04 Javascript
JS实现文字链接感应鼠标淡入淡出改变颜色的方法
2015/02/26 Javascript
JavaScript实现同时调用多个函数的方法
2015/11/09 Javascript
易被忽视的js事件问题总结
2016/05/14 Javascript
jquery实现图片平滑滚动详解
2017/03/22 jQuery
AngularJS表单验证功能
2017/10/19 Javascript
关于js的三种使用方式(行内js、内部js、外部js)的程序代码
2018/05/05 Javascript
vue.js响应式原理解析与实现
2020/06/22 Javascript
微信小程序引入模块中wxml、wxss、js的方法示例
2019/08/09 Javascript
ES6中Symbol、Set和Map用法详解
2019/08/20 Javascript
详解Vue 项目中的几个实用组件(ts)
2019/10/29 Javascript
Vue-cli4 配置 element-ui 按需引入操作
2020/09/11 Javascript
JavaScript缓动动画函数的封装方法
2020/11/25 Javascript
JS如何监听div的resize事件详解
2020/12/03 Javascript
[01:28:31]《加油DOTA》真人秀 第五期
2014/09/01 DOTA
跟老齐学Python之有容乃大的list(3)
2014/09/15 Python
Python基于checksum计算文件是否相同的方法
2015/07/09 Python
python实现判断数组是否包含指定元素的方法
2015/07/15 Python
python利用Guetzli批量压缩图片
2017/03/23 Python
python画一个玫瑰和一个爱心
2020/08/18 Python
python 中文件输入输出及os模块对文件系统的操作方法
2018/08/27 Python
python 默认参数相关知识详解
2019/09/18 Python
Python实现剪刀石头布小游戏(与电脑对战)
2019/12/31 Python
如何理解python中数字列表
2020/05/29 Python
用css3写出气球样式的示例代码
2017/09/11 HTML / CSS
详解Canvas 实现炫丽的粒子运动效果(粒子生成文字)
2018/02/01 HTML / CSS
网络教育自我鉴定
2013/11/01 职场文书
会计电算化大学生职业规划书
2014/02/05 职场文书
乡镇三严三实学习心得体会
2014/10/13 职场文书
简单的个人租房协议书范本
2014/11/26 职场文书
先进党支部事迹材料
2014/12/24 职场文书
CSS 制作波浪效果的思路
2021/05/18 HTML / CSS