Корреляция со сдвигом во времени

 

Всем доброго времени суток!

Думаю, многие знают или просто замечали на графиках зависимость между золотом и GBPUSD. Причем самая потрясающая особенность в том, что очень часто эти два инструмента опережают один другого на определенное время, что потенциально может позволить торговать таким образом, как будто Вы знаете будущее. Иногда инструменты идут один в один по времени, чаще золото формирует развороты раньше чем GBPUSD, иногда наоборот.

Обычную корреляцию я пробовал использовать в автоматической торговле, знаком с кластерными индикаторами и пробовал торговать по ним. Но простая корреляция не так интересна. Чтобы уметь эффективно торговать GBPUSD исходя из текущей ситуации на рынке золота необходимо уметь высчитывать опережение или оставание одного инструмента относительно другого. Не знаю, что это в математическом плане, но нечто подобное корреляции но с учетом сдвигов по времени и ускорений-замедлений трендовых изменений. Иногда, например по золоту трендовое движение длиться дольше, чем аналогичное трендовое движение по GBPUSD. Иногда наоборот. Вообщем, тут как-то по-особенному надо считать зависимости. И интересен момент, что при обычном подсчете корреляции на часовке - она не такая высокая, по сути даже несущественная. Ведь всем хорошо известно, что корреляция тем лучше прослеживается чем старше таймфрейм. Но при этом визуально на графике часовки очень часто графики очень похожи, почти идентичны, но со сдвигом во времени.

Вообщем, может у кого-то есть идеи как можно посчитать такую зависимость? Вомзожно господа математики подскажут какой-то станадартный способ оценки такого рода зависимостей? Возможно у кого-то есть какие-то наработки. Уверен, что направление весьма перспективно. Думаю на базе таких расчетов получился бы очень неплохой советник.

Всем заранее спасибо.

 
была такая идея, да время пока не нашлось
 

Я думаю стоит рассматривать корреляцию на n-баров, точнее open[i+1]/open[i] рассматривать отношения и искать наиболее высокую корреляцию сдвигая ряд по влево по графику, причём например GBPUSD мы взяли от самого начала графка а Рыжую сдвигаем поочерёдно на 1 бар, сдвиг стоит производить до какого то максимального значения j я думаю это где-то баров 10-40,но тут только практика покажет. Таким образом Мы на некотором отрезке находим наиболее похожие ряды, для примера допустим gold сместили на 20 баров назад, следовательно после последнего бара GBPUSD будет то что было на GOLD-e, т.е. дорисовываем график Золота на Фунте, конечно же отмасштабировав по отношениям, те 20 баров которые пропустили надо правильно отобразить на GBP... Также надо сделать и наоборот, т.е. Gold брать только от начала а GBP сдвигать...

Вот что я думаю по этому поводу... Идея хорошая надо прорабатывать.

Функция считает по 2-м массивам коэф. корреляции. 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;
   for(i=0;i<n;i++){mx+=M1[i];my+=M2[i];}
   mx/=n;my/=n;
   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);  
   }
   f=n;chislitel/=f;X/=(f-1);Y/=(f-1);
   X=MathSqrt(X);
   Y=MathSqrt(Y);
   znamenatel=X*Y;
   res=chislitel/znamenatel;
   return(res);
}
 
StatBars:

Вот что я думаю по этому поводу... Идея хорошая надо прорабатывать.

Функция считает по 2-м массивам коэф. корреляции. n это кол-во элементов массивов

(в пику разработчикам мт... :)))

Идея то хорошая, но априори не вижу достаточной точности сравнения двух и более инструментов

по банальной причине "выпадания зубов из ряда", то бишь отсутствие баров...

Например если сравнивать EURUSD с фучерсом на золото получим "враньё" начиная с первого же пропуска бара.

Технически, для счётчика нет пропуска!!!, поскольку он тупо считает бар за баром 0, 1, 2 и т.д...

Если на 3 баре голды имеется пропуск, то начинается разнобой по времени... что это значит? а то!,

что на этих итерациях просчитываются бары имеющие событие в разное время !!!

Какая уж тут могеть быть точность... да никакой... тем более глубже по истории ещё и накапливаясь... (((

 
kombat:
StatBars:

Вот что я думаю по этому поводу... Идея хорошая надо прорабатывать.

Функция считает по 2-м массивам коэф. корреляции. n это кол-во элементов массивов

(в пику разработчикам мт... :)))

Идея то хорошая, но априори не вижу достаточной точности сравнения двух и более инструментов

по банальной причине "выпадания зубов из ряда", то бишь отсутствие баров...

Например если сравнивать EURUSD с фучерсом на золото получим "враньё" начиная с первого же пропуска бара.

Технически, для счётчика нет пропуска!!!, поскольку он тупо считает бар за баром 0, 1, 2 и т.д...

Если на 3 баре голды имеется пропуск, то начинается разнобой по времени... что это значит? а то!,

что на этих итерациях просчитываются бары имеющие событие в разное время !!!

Какая уж тут могеть быть точность... да никакой... тем более глубже по истории ещё и накапливаясь... (((

В чём то kombat конечно прав. На последних барах нет отсутствующих, а если есть то можно следить за этим. да и к тому же по моему здесь не нужна особая точность. Разве что если статистику делать, тогда да...

 
StatBars:
kombat:
StatBars:

Вот что я думаю по этому поводу... Идея хорошая надо прорабатывать.

Функция считает по 2-м массивам коэф. корреляции. n это кол-во элементов массивов

(в пику разработчикам мт... :)))

Идея то хорошая, но априори не вижу достаточной точности сравнения двух и более инструментов

по банальной причине "выпадания зубов из ряда", то бишь отсутствие баров...

Например если сравнивать EURUSD с фучерсом на золото получим "враньё" начиная с первого же пропуска бара.

Технически, для счётчика нет пропуска!!!, поскольку он тупо считает бар за баром 0, 1, 2 и т.д...

Если на 3 баре голды имеется пропуск, то начинается разнобой по времени... что это значит? а то!,

что на этих итерациях просчитываются бары имеющие событие в разное время !!!

Какая уж тут могеть быть точность... да никакой... тем более глубже по истории ещё и накапливаясь... (((

В чём то kombat конечно прав. На последних барах нет отсутствующих, а если есть то можно следить за этим. да и к тому же по моему здесь не нужна особая точность. Разве что если статистику делать, тогда да...

Вот именно, что тут не нужна такая точность. Да и при расчете даже обычной корреляции - тоже. Это ведь всё отражает приблизительное совпадение движения валютных пар. Тут даже просмотра на глаз достаточно, чтобы увидеть эти зависимости.

 
kailex:

Вот именно, что тут не нужна такая точность. Да и при расчете даже обычной корреляции - тоже. Это ведь всё отражает приблизительное совпадение движения валютных пар. Тут даже просмотра на глаз достаточно, чтобы увидеть эти зависимости.

Уж простите... но! просто корреляцию можно увидеть и невооруженым глазом...

Достаточно поставить два грфика рядом. ;) то Да!

А вот (ИМХО!!!) вести расчётную работу, на основании которой принимать решения,

тут уж увольте и казните но не соглашусь как партизан выдать где находится отряд... :)))

 
kailex:

Думаю, многие знают или просто замечали на графиках зависимость между золотом и GBPUSD. Причем самая потрясающая особенность в том, что очень часто эти два инструмента опережают один другого на определенное время, что потенциально может позволить торговать таким образом, как будто Вы знаете будущее. Иногда инструменты идут один в один по времени, чаще золото формирует развороты раньше чем GBPUSD, иногда наоборот.

Вы не совсем верно интерпретируете показания инструмента. Это может увести вас по ложному следу. Зависимость несколько другая.
 
Может, такой скрипт поможет? Откуда скачал, хоть убей, не помню, но в любом случае -- автору респект. Тема "дырок в истории" некоторое время тому назад интенсивно обсуждалась на здешнем и домашнем MQ форумах.
Файлы:
dehole_hst.mq4  14 kb
 
alexjou:
Может, такой скрипт поможет? Откуда скачал, хоть убей, не помню, но в любом случае -- автору респект. Тема "дырок в истории" некоторое время тому назад интенсивно обсуждалась на здешнем и домашнем MQ форумах.

Наверное здесь: 'Синхранизация "дыр" в истории.'

Как этот так и вариант если не ошибаюсь компостера лично мне не катит... увы.

 
Xadviser:
kailex:

Думаю, многие знают или просто замечали на графиках зависимость между золотом и GBPUSD. Причем самая потрясающая особенность в том, что очень часто эти два инструмента опережают один другого на определенное время, что потенциально может позволить торговать таким образом, как будто Вы знаете будущее. Иногда инструменты идут один в один по времени, чаще золото формирует развороты раньше чем GBPUSD, иногда наоборот.

Вы не совсем верно интерпретируете показания инструмента. Это может увести вас по ложному следу. Зависимость несколько другая.

А какая? Насколько я понимаю эта зависимость вытекает из фундаментальных факторов. Фунт - это одна из немногих валют, имеющих курсовую привязку к золоту. Эта валюта поддерживается золотым фондом ("Золотой стандарт"). Соответственно очень часто изменения в котировках золота существенно влияют на котировки фунта (и соответствующих пар). Но мгновенно это произойти не может, как правило всегда есть разница во времени в точках разворота этих двух инструментов. И тут не нужна точность до отдельных баров. Дыры в истории тут не так существенны. Нам главное раньше словить разворот или зарождение нового тренда. К тому же начинающийся разворот на золоте может быть проверен фундаментально на основе данных аналитиков и т.д., чтобы убедиться, что имеем дело именно с новым трендом а не коррекцией к старому. Но это уже для тех, кто будет торговать вручную, ну либо вмешиваться в работу советника для подтверждения соответствующего сигнала.

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