Это обычный инженерно-математический приём
Сущая правда.
В статистике принято, что после получения оценки её тестируют на стат значимость.
У вас возник вопрос, какая оценка матожидания лучше (в среднем -0.0021000331198221074 по всем активам
по выборочной средней или в среднем -0.0000008145098932603
по линейной регрессии ряда (разница между оценками примерно -0.0021), при том что стандартное отклонение инкрементов в первой половине периода в среднем (по активам) составляет 1.1572045665147082, а во второй половине периода в среднем (по активам) составляет 1.4446945023363504 (разница примерно 0.2875 в тех же единицах, что и оцененное матожидание). Но разницей между дисперсиями мы по-инженерному пренебрегаем, а в отношении матожидания хотим докопаться до истины, какая же оценка точнее.
Даже если мы возьмем эту более амплитудную оценку матожидания по выборочной средней, она статистически значимо не отличается от нуля ни для одного из активов, и даже не приближается к статистической значимости ни для одного из активов даже без поправки на множественность сравнений (самое низкое значение
p 0.24). Нам следует констатировать, что мы не можем отвергнуть нулевую гипотезу о том, что абсолютно все активы для
имеют математическое ожидание равное нулю.
import numpy as np
from scipy.stats import ttest_1samp
data = np.load('data.npy', allow_pickle=False)
ttest_1samp(data, popmean=0.0, axis=1)
Если же воспользуетесь функцией auto.arima() в R, которую я посоветовал выше, то она тоже выкидывает ненулевой дрифт для всех инструментов как лишний в ARIMA-модели автокорреляции.
- library(readxl)
- library(forecast)
-
- data <- read_excel("data.xlsx")
-
- for (i in 1:nrow(data)) {
- model <- auto.arima(t(data[i,]))
- cat("\n******************************\nAsset # ", i, "\n")
- print(model)
- }
Итого, следует считать, что абсолютно у всех активов в
матожидание не отличается от нуля. Это была одной из причин, почему я назвал эту последовательность рафинированной и предположил, что Вы уже вычли оценку матожидания.