Индикаторы: L_Correlation

 

L_Correlation:

Коэффициент корреляции между графиками котировок двух валютных пар

Author: lotos4u

 

Что за гистограмма? можно поподробней, что типа функции распределения?

 
StatBars:

Что за гистограмма? можно поподробней, что типа функции распределения?

Да :). Я бы именно так и сказал "что-то типа".

Строится она так: весь интервал от -1 до +1 разбивается 200 участков. Каждому участку соответствует столбик гистограммы. Высота столбика (т.е. длина в данном случае) определяется количеством значений коэффициента корреляции, которые укладываются в участке, соответствующем столбику.

Там, кстати, кажется какой-то глюк со средним значением коэффициента корреляции. Оно, по идее, должно совпадать с максимумом гистограммы, но это далеко не всегда так. Когда разберусь, в чем там дело, обновлю версию.

 

"Строится она так: весь интервал от -1 до +1 разбивается на 200 участков. Каждому участку соответствует столбик гистограммы. Высота столбика (т.е. длина в данном случае) определяется количеством " - это и есть функция распределения(почти ф-я рапр. вероятности). Разве не так?

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

 
StatBars:

"Строится она так: весь интервал от -1 до +1 разбивается на 200 участков. Каждому участку соответствует столбик гистограммы. Высота столбика (т.е. длина в данном случае) определяется количеством " - это и есть функция распределения(почти ф-я рапр. вероятности). Разве не так?

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

Ну, да, она и есть. Просто очень лихо звучит - "функция распределения вероятности значений коэффициента корреляции". Хотя, наверно, так правильнее.

А, кстати, что за результаты Эксель выдает? Сильные расхождения есть?

И еще, не знаю, как Эксель считает, но я смотрел, чтобы сопоставляемые бары относились к одной дате (времени). Если в Экселе это не учитывать (а там автоматом, кажется, это не учитывается и надо руками чистить данные), то значения, скорее всего, не совпадут.

Собственно, необходимость вручную править данные и была одной из причин написания данного индикатора.

 
lotos4u:

А, кстати, что за результаты Эксель выдает? Сильные расхождения есть?

И еще, не знаю, как Эксель считает, но я смотрел, чтобы сопоставляемые бары относились к одной дате (времени). Если в Экселе это не учитывать (а там автоматом, кажется, это не учитывается и надо руками чистить данные), то значения, скорее всего, не совпадут.

Я имел ввиду что когда со статистикой вожусь какой-нибудь, то для проверки Exel использую... Индикатор не проверял, времени нет, но понравился...

Я не понял что значит сопоставляемые бары относились к одной дате? Вообще мне показалось что здесь дата не нужна... Типа дыры в графике что ли?

 

Кстати, вот это могло бы помочь. n - кол-во элементов для которых надо вычислить корр.

double Corr(double M1[], double M2[])
{
   double mx=0,my=0;
   double chislitel=0, znamenatel=0;
   double X=0,Y=0;
   double res=0,f;
   
   int i=0;
   f=n;
   for(i=0;i<n;i++){mx+=M1[i];my+=M2[i];}
   
   mx/=f;my/=f;
   
   for(i=0; i<n; i++)
   {
      chislitel+=(M1[i]-mx)*(M2[i]-my);
      X+=MathPow((M1[i]-mx),2);
      Y+=MathPow((M2[i]-my),2);
      
   }
   
   chislitel/=f;
   X/=(f-1);
   Y/=(f-1);
   X=MathSqrt(X);
   Y=MathSqrt(Y);
   znamenatel=X*Y;
   res=chislitel/znamenatel;
   
   return(res);
}
 
StatBars:

Кстати, вот это могло бы помочь. n - кол-во элементов для которых надо вычислить корр.

Да, спасибо. Так удобно, если есть уже два готовые массива.
 

StatBars писал(а):

Я не понял что значит сопоставляемые бары относились к одной дате? Вообще мне показалось что здесь дата не нужна... Типа дыры в графике что ли?

Да, именно дыры в истории. Бывает так, что по одному инструменту есть бар, а по другому инструменту бара с таким временем нет. Если пытаться сопоставить, валюту и, скажем, сою и т.п., то нестыковок может быть очень много.
 
Жаль, Integer сюда не заглянул. Полезно было бы услышать его мнение, он крупный спец по корреляции.
 
lotos4u:
StatBars:

Что за гистограмма? можно поподробней, что типа функции распределения?

Да :). Я бы именно так и сказал "что-то типа".

Строится она так: весь интервал от -1 до +1 разбивается 200 участков. Каждому участку соответствует столбик гистограммы. Высота столбика (т.е. длина в данном случае) определяется количеством значений коэффициента корреляции, которые укладываются в участке, соответствующем столбику.

Там, кстати, кажется какой-то глюк со средним значением коэффициента корреляции. Оно, по идее, должно совпадать с максимумом гистограммы, но это далеко не всегда так. Когда разберусь, в чем там дело, обновлю версию.

Это не глюк,и не надо ничего обновлять. В теории вероятностей широко известен факт, что наиболее вероятное значение или, как его еще называют, "мода" (т.е. значение рассматриваемой величины, при котором плотность распределения вероятностей - ну или гистограмма в вашем случае - максимальна) и среднее значение (оно же математическое ожидание, оно же первый момент, оно же интеграл от x*W(x) по dx) той же величины не есть одно и то же. Они совпадают только в некоторых ситуациях, например, при равномерном распределении или гауссовом. Есть и еще одна интересная характеристика ряда - т.н. "медиана", т.е. то значение, которое делит вариационный ряд на две равные части: 50 % ряда имеет значение признака не больше, чем медиана, а 50 % - не меньше, чем медиана. Какое из "средних" выбирать, зависит от того, какова задача и что именно надо оценить.

P.S. Кстати, несовпадение моды и матожидания - один из распространенных методов проверки распределения ряда на "негауссовость". А вообще, lotos4u, ваше бы рвение да на серьезное дело:)

Причина обращения: