有数据框如下,我想计算关闭列:波动率,exaple window = 2,即两行的波动率。我
Date close
2010-06-09 3160.0
2010-06-10 3180.0
2010-06-11 3215.0
2010-06-14 3255.0
我使用了以下使用该函数的代码:
stdDeviation = pd.rolling_std(df['Close'],window=2)
stdDeviation.head(4)
结果是:
Date
2010-06-09 NaN
2010-06-10 14.142136
2010-06-11 24.748737
2010-06-14 28.284271
Name: Close, dtype: float64
但用计算器https://en.wikipedia.org/wiki/Standard_deviation
计算标准偏差时我找到了前两个数字:3160,3180,这两个数字的标准差是10,这与函数.pd.rolling_std计算的14.142136不同。
你能不能告诉我更多关于scroll_std函数的信息,详细介绍了这个函数的作用。为什么不同,我的问题是否有问题。谢谢!
答案 0 :(得分:2)
pandas默认计算样本标准差。样本标准差的分母有一个修正因子,因此我们将平方和除以nested exception is org.postgresql.util.PSQLException: ERROR: syntax error at or near "13"
而不是n-1
。 1这里是由于样本均值而失去的自由度。如果你想获得相同的结果,可以将n
传递给rolling_std,结果会给你10个。
ddof=0