Проверка стационарности рыночных тенденций с помощью непараметрического критерия Манна-Уилкоксона-Уитни

Критерий Манна-Уилкоксона-Уитни (иногда называют просто Манна-Уилкоксона) позволяет проверить гипотезу H0: функции распределения вероятностей двух выборок одинаковы. Это означает, что если эта гипотеза принимается, то у двух выборок одинаковы медианы и средние значения. Тогда для двух последовательно взятых выборок из одного ВР это является признаком стационарности!

Алгоритм, по которому рассчитывается значение данного критерия относительно прост.

  • Берут две выборки с количеством значений n1 и n2. И объединяют их в одну выборку с общим количеством значений n=n1+n2.
  • Объединённую выборку упорядочивают по возрастанию.
  • Производят ранжирование объединённой выборки. При этом каждому рангу приписывают к какой выборке он относится (к первой или второй).
  • Рассчитывают суммы рангов для первой и второй выборок соответственно R1 и R2.
  • Вычисляют такие величины: U1=n1*n2+ n1*( n1+1)*0.5-R1 и U2=n1*n2+ n2*( n2+1)*0.5-R2.
  • Значение критерия находят так U=min(U1;U2).

Есть один важный момент при ранжировании. Если в объединенной выборке присутствуют повторяющиеся подряд одинаковые значения, то им всем присваивается одинаковый ранг равный среднему значению их первоначальных рангов. Например, есть объединённая выборка S={1,2,5,5,5,7,9}, соответственно первоначальные ранги будут равны R={1,2,3,4,5,6,7}. С учетом же введенного правила ранжирования получим вот что R={1,2,4,4,4,6,7}. То есть 3+4+5/3=4.

В языке R ранжирование произвольной выборки x осуществляется единственной командой: rank(), при этом упорядочивать выборку по возрастанию нет необходимости, а среднее рангов (там где нужно) считается автоматически! То есть ранги будут рассчитаны корректно. Это упрощает алгоритм вычисления U-значения на языке R!

В различных работах показано, что при больших исходных выборках, то есть при больших значениях n1 и n2 распределение значений U приближается к нормальному распределению. При этом математическое ожидание этого распределения M(U)= n1*n2*0.5, а дисперсия D(U)= n1*n2*(n1+n2+1)/12. С учетом этого можно произвести стандартизацию величины U и она будет иметь распределение вероятностей стандартного нормального распределения N(0,1). Не буду это проверять, но проверить это не сложно, например, с помощью имитационного моделирования.

Формула стандартизации U имеет вид (если кто не знает):

Uст =(U-M(U))/sqrt(D(U)) (1)

Гипотеза H0 принимается, если |Uст|<u(1-α/2), где u(1-α/2) – это квантиль стандартной нормально распределённой случайной величины для уровня значимости α. В моем случае при α=0.05 он равен u = 1.96. В R вычисляется так: qnorm(1-0.05/2) или так: qnorm (0.975).

Хочу отметить, что в тех случаях, когда в двух выборках встречаются многократно повторяющиеся значения, то D(U) будет считаться иначе. По другой формуле. Я не буду её рассматривать. Для ВРТ одинаковые значения будут встречаться крайне редко и не оказывать существенного влияния на итоговую величину критерия для больших выборок.

Я буду проверять каждый ВРТ путем разделения его посередине на две выборки. Для проверки возьму последние 1000 значений ВРТ, которые были получены на основе EUR/USD, GBP/JPY, AUD/CAD.

Вот скрипт на языке R для проверки ВРТ на стационарность c помощью рассмотренного критерия:

#Загрузка котировок
 S<-getS(f)
 #Дифференцирование
 dS<-diff(S,1)
 #Получение ВРТ
 csgS<-getCSGS(dS)
 #Последние 1000 последних значений ВРТ
 tS<-csgS[,1][1:1000]
 lentS<-length(tS)
 #Формирование двух выборок
 x<-tS[1:trunc(length(tS)/2)]
 y<-tS[(1+trunc(length(tS)/2)):length(tS)]
 xn<-length(x)
 yn<-length(y)
 #Объединение выборок
 z<-c(x,y)
 zn<-length(z)
 #Ранжирование
 rz<-rank(z)
 #Суммы рангов
 r1<-sum(rz[1:xn])
 r2<-sum(rz[(xn+1):zn])
 #Вычиление величин U1, U2
 u1=xn*yn+0.5*xn*(xn+1)-r1
 u2=xn*yn+0.5*yn*(yn+1)-r2
 #Значение критерия
 u<-min(u1,u2)
 #Стандартизация критерия
 ust<-(u-xn*yn*0.5)/sqrt(xn*yn*(xn+yn+1)/12)
 #результаты
 print(abs(ust))
 print(qnorm(0.975))

Получились такие результаты:
EUR/USD: 0.41<1.96
GBP/JPY: 0.15<1.96
AUD/CAD: 0.53<1.96

В общем-то неплохо. Гипотезу H0 следует принять и считать, что ВРТ стационарен. Как минимум, математическое ожидание ВРТ постоянно. В следующий раз проверим постоянство дисперсии ВРТ.

Похожие статьи:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *