Показатель Херста - страница 5

 
Yurixx:

Методов расчета Херста действительно несколько, но я бы предостерег Вас считать, что только у grasn'а правильный. На самом деле там не ахти какая математика, поэтому в любом из методов можно разобраться. Надо только взять код и поэкспериментировать с разными рядами.
Главный вопрос: использовать отношение логарифмов или аппроксимацию прямой?
Все (в частности Петерс) и везде (находил в сети диссертации), кроме Федера ( и то неявно) используют отношение логарифмов. Хотя в обсуждении почти все признали, что нужно аппроксимировать прямую. Я не математик, только читаю:)
Вот и не ахти какая математика...
 
Gorillych писал (а):
Yurixx:

Методов расчета Херста действительно несколько, но я бы предостерег Вас считать, что только у grasn'а правильный. На самом деле там не ахти какая математика, поэтому в любом из методов можно разобраться. Надо только взять код и поэкспериментировать с разными рядами.
Главный вопрос: использовать отношение логарифмов или аппроксимацию прямой?
Все (в частности Петерс) и везде (находил в сети диссертации), кроме Федера ( и то неявно) используют отношение логарифмов. Хотя в обсуждении почти все признали, что нужно аппроксимировать прямую. Я не математик, только читаю:)
Вот и не ахти какая математика...

У Петерса показатель Херста = угловой коэффициент линии регрессии построенной на множестве точек (Log(R/S),Log(N/2)).
Простое отношение этих логарифмов даст угловой коэффициент не аппроксимирующей прямой, а радиус-вектора точки с координатами (Log(R/S),Log(N/2)). Отличие может быть существенным, особенно если в последовательности мало точек.
 
Расчет показателся Херста по методу grasn`a меня не вдохновил. При всем уважении к нему (нет у меня и капли его опыта и знаний), не так должен выглядеть индикатор на основе показателя Херста:


Так как геометрический смысл показателя Херста - угловой коэффициент линии регрессии, то кажется очень странным, что этот коэффициент меняется с реактивной скоростью. Поэтому решил написать свой индикатор на основе показателя Херста. В первом варианте построил его на основе ряда цен закрытия, если считать показатель на основе всех рядов одновременно, то результат выглядит так же, разве что на несколько баров быстрее. Выглядит уже лучше, хотя и немного странновато для углового коэффициента линии регресии:) В общем, получился такой индикатор:



Показатель Херста для него колеблется в диапазоне от 0.2 до 0. 9 . Колеблется плавно, но не очень хорошо то, в каких пределах он изменяется. Хотя индикатор вышел в общем занятный:)

Алгоритм расчета для знатоков Херста представлене ниже:
for(int j=limit;j>=0;j--)
      {
         int max_index=ArrayMaximum(Close,HerstPeriod+j,j);
         int min_index=ArrayMinimum(Close,HerstPeriod+j,j);
         MaxH=Close[max_index];
         MinH=Close[min_index];
         R=MaxH-MinH;
         Average=iMA(NULL,0,HerstPeriod,0,0,0,j);
         sum=0;
         for (int i=1;i<=HerstPeriod;i++)
             sum+=MathPow((Average-Close[i+j]),2);
         double S=MathSqrt(sum/(HerstPeriod-1));
         if (S>0)
            ExtMapBuffer1[j]=(MathLog(R/S))/(MathLog(HerstPeriod*a));    
      }

Вроде все верно.
 
Файлы:
 
После этого расчитал показатель Херста для разницы цен, как это пытался сделать grasn . В качестве ценового ряда был взят ряд цен закрытия. Алгоритм:
      for(int j=limit;j>=0;j--)
      {
         ExtMapBuffer2[j]=Close[j]-Close[j+1];
         int max_index=ArrayMaximum(ExtMapBuffer2,HerstPeriod+j,j);
         int min_index=ArrayMinimum(ExtMapBuffer2,HerstPeriod+j,j);
         MaxH=ExtMapBuffer2[max_index];
         MinH=ExtMapBuffer2[min_index];
         R=MaxH-MinH;
         for (i=1;i<=HerstPeriod;i++)
            sum+=ExtMapBuffer2[i+j];
         Average=sum/HerstPeriod;
         sum=0;
         for (i=1;i<=HerstPeriod;i++)
             sum+=MathPow((Average-ExtMapBuffer2[i+j]),2);
         double S=MathSqrt(sum/(HerstPeriod-1));
         if (S>0)
            ExtMapBuffer1[j]=(MathLog(R/S))/(MathLog(HerstPeriod*a));    
      }

Остался прежним. Единственное отличие - расчет не по ряду цен закрытия, а по их разнице. Результат был просто ошеломительным:





Получилось то, что и должно получиться - 0.5 . То есть ряд действительно хаотичен! И примерно такая картинка на всех валютах и таймфреймах ниже D1. На дневках получилось 0.3-0.4 . А это означает персистентность, то есть возврат к среднему. Период для расчета показатля - 500. В рамках H1 это примерно за месяц.

Вывод, исходя из показателся Херста, - ценовые ряды на Forex хаотичны и непредсказуемы :)
Если рачеты неправильны - просьба поправить.

Впрочем, я провел еще слишком мало иследований для таких выводов. Те, кто будет исследовать - просьба выкладывать все на ветке или слать на мыло favoritefx [гав-гав]mail.ru

Файлы:
 
>>>ценовые ряды на Forex хаотичны и непредсказуемы
Вот в этой ветке автор проводит некие исследования хаотичных ценовых рядов Форекс. Возможно Вам будет интересно взглянуть, если Вы решили всерьёз разобраться с тем с чем мы имеем дело на Форекс. На мой взгляд весьма информативная ветка.
 

Всем привет.

Зашел на эту ветку совершенно случайно, даже и не знал, что мои исследования показателя Херста стали кому-то интересны. Если позволите, то внесу свои комментарии. Из всего того, что я пытался сделать, я все сделал. Расчет показателя, приведенный на https://www.mql5.com/ru/forum/50458 я давно не использую. Так же следует учитывать, что я опубликовал далеко не все и по разным причинам этого делать не буду (если и опубликую, то в сокращенном виде).

Что касается значения показателя Херста все время 0.5, то это отличный результат, который позволит трейдеру сэкономить все свои деньги.

Вообще говоря, Херст ведь открыл явление, а показатель (названный его именем) это его количественная оценка. А это главное! И результат 0.5 – это лишь одна точка зрения на очень сложный процесс. Объясняя просто, смотря какое движение Вы исследуете. Кстати, а что Вы исследуете и чего хотите от Херста? Мне это рассказывать не обязательно, а вот для себя нужно определиться.

Очень гладкий показатель Херста – это или ошибка расчета или очень грубая оценка. Он по своей природе не может быть супер гладким.

«Простая математика», которую можно увидеть по ссылкам в Интернете, на самом деле не совсем корректна (я не пишу, что ошибочна). К ней нужно добавить еще немного простой математики.

Не в плане хвастовства, а как результат работы моей модели с использованием показателя Херста: https://www.mql5.com/ru/forum/50458 «grasn 11.01.07 16:16». Скоро опубликую продолжение, если конечно форум не «умрет».

Удачи.

 
grasn:

Всем привет.

Зашел на эту ветку совершенно случайно, даже и не знал, что мои исследования показателя Херста стали кому-то интересны. Если позволите, то внесу свои комментарии. Из всего того, что я пытался сделать, я все сделал. Расчет показателя, приведенный на https://www.mql5.com/ru/forum/50458 я давно не использую. Так же следует учитывать, что я опубликовал далеко не все и по разным причинам этого делать не буду (если и опубликую, то в сокращенном виде).

Здравствуйте!
Очень рад, в той ветке неудобно было задавать вопросы и захломлять ее свей необразованностью.
Внимательно читаю ту ветку и сейчас, пытаюсь в меру сил что-то понять.
Там где-то Вы говорите, что вариант рассчета показателя Херста Сергея вернее. Поясните пожалуйста.
Спасибо!
Успехов и удачи!
 
Gorillych:
grasn:

Всем привет.

Зашел на эту ветку совершенно случайно, даже и не знал, что мои исследования показателя Херста стали кому-то интересны. Если позволите, то внесу свои комментарии. Из всего того, что я пытался сделать, я все сделал. Расчет показателя, приведенный на https://www.mql5.com/ru/forum/50458 я давно не использую. Так же следует учитывать, что я опубликовал далеко не все и по разным причинам этого делать не буду (если и опубликую, то в сокращенном виде).

Здравствуйте!
Очень рад, в той ветке неудобно было задавать вопросы и захломлять ее свей необразованностью.
Внимательно читаю ту ветку и сейчас, пытаюсь в меру сил что-то понять.
Там где-то Вы говорите, что вариант рассчета показателя Херста Сергея вернее. Поясните пожалуйста.
Спасибо!
Успехов и удачи!
Вы весьма самокритичны и думаю, что напрасно. Форумы ведь для того и существуют, что бы общаться, задавать вопросы, обсуждать и т.д. Метод расчета показателя Херста, предложенный Сергеем действительно очень интересный. Рекомендую его так же посмотреть.
 
favoritefx писал(а) >>
После этого расчитал показатель Херста для разницы цен, как это пытался сделать grasn . В качестве ценового ряда был взят ряд цен закрытия. Алгоритм:

Остался прежним. Единственное отличие - расчет не по ряду цен закрытия, а по их разнице. Результат был просто ошеломительным:





Получилось то, что и должно получиться - 0.5 . То есть ряд действительно хаотичен! И примерно такая картинка на всех валютах и таймфреймах ниже D1. На дневках получилось 0.3-0.4 . А это означает персистентность, то есть возврат к среднему. Период для расчета показатля - 500. В рамках H1 это примерно за месяц.

Вывод, исходя из показателся Херста, - ценовые ряды на Forex хаотичны и непредсказуемы :)
Если рачеты неправильны - просьба поправить.

Впрочем, я провел еще слишком мало иследований для таких выводов. Те, кто будет исследовать - просьба выкладывать все на ветке или слать на мыло favoritefx [гав-гав]mail.ru

Это не Херст.

         ExtMapBuffer2[j]=Close[j]-Close[j+1];
         int max_index=ArrayMaximum(ExtMapBuffer2,HurstPeriod+j-1,j);
         int min_index=ArrayMinimum(ExtMapBuffer2,HurstPeriod+j-1,j);
         MaxH=ExtMapBuffer2[max_index];
         MinH=ExtMapBuffer2[min_index];

Как можно видеть из кода, максимум и минимум берутся для исходного ряда, а не для rescaled (с измененным масштабом).

Далее, похоже, также содержится ошибка. Формула R/S=c*n^^H после логарифмирования должна бы выглядеть так: log(R/S)=log(c)+H*log(n), откуда H=[log(R/S)-log(c)]/log(n)

ExtMapBuffer1[j]=(MathLog(R/S))/(MathLog(HurstPeriod*a));

константа с почему-то перекочевала к n, а не к R/S.

С чего вдруг константа для рыночных возвратов должна быть равна двум? Что это за секрет, что я его не знаю? ;)

Короче, помогите отсталому, у кого-нибудь есть расчет экспоненты Херста в mql4 или в чем-либо ещё распространенном? grasn?

Уважаемые Метаквоты, в MQL5 будет внедрен расчет экспоненты Херста?

 

Свой эмпирический закон Хёрст открыл, занимаясь изучением Нила. Впоследствии оказалось, что многие другие природные явления хорошо описываются этим законом. Оказывается, временные последовательности измерений таких величин, как температура, сток рек, количество осадков, толщина колец деревьев или высота морских волн можно исследовать методом нормированного размаха или методом Хёрста. Такие последовательности характеризуются показателем Н, показателем Хёрста.

Временные последовательности, для которых Н больше 0.5, относятся к классу персистентных - сохраняющих имеющуюся тенденцию. Если приращения были положительными в течение некоторого времени в прошлом, то есть происходило увеличение, то и впредь в среднем будет происходить увеличение. Таким образом, для процесса с Н > 0.5 тенденция к увеличению в прошлом означает тенденцию к увеличению в будущем. И наоборот, тенденция к уменьшению в прошлом означает, в среднем, продолжение уменьшения в будущем. Чем больше Н, тем сильнее тенденция.

При Н=0.5 никакой выраженной тенденции процесса не выявлено, и нет оснований считать, что она появится в будущем.

Случай Н < 0.5 характеризуется антиперсистентностью - рост в прошлом означает уменьшение в будущем, а тенденция к уменьшению в прошлом делает вероятным увеличение в будущем. И чем меньше Н, тем больше эта вероятность. В таких процессах после возрастания переменной обычно происходит её уменьшение, а после уменьшения - возрастание.

PS ...если кому интересно

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