Скачать MetaTrader 5

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

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
MetaQuotes Software Corp.
Модератор
186034
MetaQuotes Software Corp.  

L_Correlation:

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

Author: lotos4u

Артём
16
Артём  

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

lotos4u
34
lotos4u  
StatBars:

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

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

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

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

Артём
16
Артём  

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

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

lotos4u
34
lotos4u  
StatBars:

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

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

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

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

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

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

Артём
16
Артём  
lotos4u:

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

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

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

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

Артём
16
Артём  

Кстати, вот это могло бы помочь. 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);
}
lotos4u
34
lotos4u  
StatBars:

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

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

StatBars писал(а):

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

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

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

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

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

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

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

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

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