python: результат функции pd.rolling_std отличается от калькулятора стандартного отклонения

Существует следующий кадр данных, я хочу вычислить закрытый столбец: волатильность, например, окно = 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, что отличается от 14,142136, рассчитанного с помощью function.pd.rolling_std.

Не могли бы вы, парень, рассказать мне больше о функции roll_std, что такое cracualtor этой функции в деталях. почему отличается, что-то не так в моем вопросе. Спасибо!


person tktktk0711    schedule 04.07.2017    source источник


Ответы (1)


pandas по умолчанию вычисляет стандартное отклонение выборки. Знаменатель стандартного отклонения выборки имеет поправочный коэффициент, поэтому мы делим сумму квадратов на n-1 вместо n. 1 здесь - потерянные степени свободы из-за выборочного среднего. Если вы хотите получить тот же результат, вы можете передать ddof=0 в roll_std, что даст вам 10 в качестве результата.

stdDeviation = pd.rolling_std(df['Close'], window=2, ddof=0)
person ayhan    schedule 04.07.2017
comment
Привет, спасибо за ваши комментарии. Я хочу рассчитать волатильность закрытия, которая является ценой закрытия акций. Я имею в виду, какой из них правильный: образец std или std? - person tktktk0711; 04.07.2017
comment
Вы рассчитываете на основе выборки доходности, поэтому я думаю, вам следует использовать выборочное стандартное отклонение. Несколько страниц, которые я просмотрел, похоже, совпадают: macroption.com/historical-volatility-calculation - person ayhan; 04.07.2017