基于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 调用VC++的动态链接库(DLL)
Sep 06 Python
在Django中同时使用多个配置文件的方法
Jul 22 Python
Python使用filetype精确判断文件类型
Jul 02 Python
神经网络理论基础及Python实现详解
Dec 15 Python
利用Python+阿里云实现DDNS动态域名解析的方法
Apr 01 Python
Django异步任务线程池实现原理
Dec 17 Python
浅谈python元素如何去重,去重后如何保持原来元素的顺序不变
Feb 28 Python
解决 jupyter notebook 回车换两行问题
Apr 15 Python
如何对python的字典进行排序
Jun 19 Python
Python venv虚拟环境配置过程解析
Jul 08 Python
python中entry用法讲解
Dec 04 Python
Python 中random 库的详细使用
Jun 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
简单示例AJAX结合PHP代码实现登录效果代码
2008/07/25 PHP
浅谈web上存漏洞及原理分析、防范方法(文件名检测漏洞)
2013/06/29 PHP
Apache实现Web Server负载均衡详解(不考虑Session版)
2013/07/05 PHP
关于php支持的协议与封装协议总结(推荐)
2017/11/17 PHP
Javascript - HTML的request类
2007/01/09 Javascript
js 父窗口控制子窗口的行为-打开,关闭,重定位,回复
2010/04/20 Javascript
js实现在页面上弹出蒙板技巧简单实用
2013/04/16 Javascript
javascript eval(func())使用示例
2013/12/05 Javascript
Javascript解析URL方法详解
2014/12/05 Javascript
jqGrid中文文档之选项设置
2015/12/02 Javascript
js面向对象实现canvas制作彩虹球喷枪效果
2016/09/24 Javascript
使用BootStrap实现表格隔行变色及hover变色并在需要时出现滚动条
2017/01/04 Javascript
javascript实现的图片预览功能
2017/03/25 Javascript
整理关于Bootstrap排版的慕课笔记
2017/03/29 Javascript
Nodejs读取文件时相对路径的正确写法(使用fs模块)
2017/04/27 NodeJs
jQuery操作css样式
2017/05/15 jQuery
vue+Vue Router多级侧导航切换路由(页面)的实现代码
2018/12/20 Javascript
微信小程序rich-text富文本用法实例分析
2019/05/20 Javascript
微信小程序中如何计算距离某个节日还有多少天
2019/07/15 Javascript
[03:36]2015国际邀请赛第二日现场精彩集锦
2015/08/06 DOTA
详解python并发获取snmp信息及性能测试
2017/03/27 Python
Python3.5 Pandas模块之Series用法实例分析
2019/04/23 Python
使用Python画股票的K线图的方法步骤
2019/06/28 Python
Flask框架学习笔记之表单基础介绍与表单提交方式
2019/08/12 Python
Python Web框架之Django框架文件上传功能详解
2019/08/16 Python
详解pandas apply 并行处理的几种方法
2021/02/24 Python
深入解析HTML5中的Blob对象的使用
2015/09/08 HTML / CSS
canvas学习总结三之绘制路径-线段
2019/01/31 HTML / CSS
Html5 webview元素定位工具的实现
2020/08/07 HTML / CSS
普通院校学生的自荐信
2013/11/27 职场文书
公司会计主管岗位责任制
2014/03/01 职场文书
大学班级学风建设方案
2014/05/01 职场文书
领导班子党的群众路线对照检查材料
2014/09/25 职场文书
党员剖析材料范文
2014/09/30 职场文书
委托书范本格式
2019/04/18 职场文书
Python如何快速找到多个字典中的公共键(key)
2022/04/29 Python