Построение торговой системы с использованием цифровых фильтров НЧ - страница 19

 

Привет всем!

Да, забавная функция в Маткаде - predict, -действительно предсказывает на нужное количество шагов вперёд!

Попробуем на каждом баре делать прогноз на n баров вперёд. Что бы было с чем сравнивать, усредним ценовой ряд (тонкая красная ломаная линия) симметричным (способным заглядывать в "будущее") НЧ фильтром Баттероута 1-го порядка (толстая красная линия), а реальное усреднение (нельзя заглядывать в "будущее") обозначим толстой синей линией. Видим заметную ФЗ (запаздывание), так и должно быть. Теперь, напустим на запаздывающий индикатор наш предсказатель predict с прогнозным горизонтом 40 баров (тонкая чёрная линия) - действительно, он опережающе предсказывает поведение запаздывающего индикатора! Правда стал менее устойчивым.

Что будет, если всё увеличивать горизонт прогноза? Ответ можно посмотреть в прилагаемой авишке, тонкая синяя линия, это ФНЧ с плавно уменьшающимся окном усреднения

Файлы:
1.zip  130 kb
 

Думаю в тему

Взял ряд MathLog(Close[i]/Close[i+1]) /// в понимании MQL4

Разложил на гармоники (Спасибо огромное за библиотеку klot)

НАписал эксперта по индикатору (ТОже спасибо ему) правда немного модифицировав его

Суть эксперта имеем 8 гармоник

Если первая больше нулевой линии считаем (ИМХО) что "долгосрочный" тренд вверх

Если третья гармоника пересекает нулевую сверху вниз считаем (ИМХО) что тенденция изменилась на "меньшем" уровне - селим

Соответсвенно наоборот с баем

Вот картинка из тестера

Комплект всего что использовал в архиве

Признаюсь Параметры стоплосса профита подбирал в оптимизаторе

В индикаторе закоментьированы несколько строк

int start()
  {
   int    counted_bars=IndicatorCounted();
   counted_bars=100;
   double m;
   for(int i=M-1; i>=1; i--)
   {
      //aa[i]=iOpen(NULL,0,i);
      //aa[i]=Close[i]-Close[i+1];
      //aa[i]=Open[i+1]-Close[i];
      aa[i]=MathLog(Close[i]/Close[i+1]);
      //aa[i]=MathLog(Close[i]/Open[i+1]);
   }

Можно раскоментировать поочереди строки и проверять что возможно "работает", можно что то свое ...

Файлы:
experts.zip  42 kb
 
to Neutron

Серега, привет, давно не видел!!! Может ты мне кратко объяснишь, что предсказывает фильтр тебя и у Prival-а? Заранее благодарен. Неужели Вы сделали АФ???

Да, забавная функция в Маткаде - predict, -действительно предсказывает на нужное количество шагов вперёд!

Рад помочь. А у тебя случайно подробного алгоритма ее реализации нет? :о)

 
Neutron:

Да, забавная функция в Маткаде - predict, -действительно предсказывает на нужное количество шагов вперёд!

Что будет, если всё увеличивать горизонт прогноза? Ответ можно посмотреть в прилагаемой авишке, тонкая синяя линия, это ФНЧ с плавно уменьшающимся окном усреднения


Привет, Сергей !

А вот что будет если не увеличивать горизонт прогноза, а напустить predict на полученный результат, т.е. на тонкую черную линию ?

 
Prival:

grasn

:-) ну из вредности я тоже покажу, фильтр калмана. В основе лежит анализ АКФ. Окно - минутки прошлая неделя 7200. На входе только ряд цен, никакой оптимизации. За ссылку спасибо.

Методика следующая. Анализ АКФ- вытаскиваю параметры АКФ в модель- модель запихиваю в фильтр калмана, он дает прогноз и текущую оценку. Компостер написал прогу могу в реальном мремени делать обработку поступающих цен в маткаде и управлять МТ, если надо могу поделиться




Понять хочу, чем эти линии лучше "навороченных" МАшек?

 
Понять хочу, чем эти линии лучше "навороченных" МАшек?

вот и мне интересно...

 
Mathemat, подарочек тебе - Дж. Бендат, А. Пирсол, "Прикладной анализ случайных данных" (http://dsp-book.narod.ru/bendat.djv). Авторы приводят описание и примеры использование метода инверсий для проверки стационарности случайного процесса. Я не вдавался в детали и строгость самого метода, но поверхностно внушает доверие. Думаю тебе нужно копать в этом направлении.

К примеру, вот здесь: http://edu.secna.ru/main/review/2001/n3/MONA2001/Morozova.pdf - используется эта работа для обоснования стационарности результатов некоторых видов вейвлет-преобразований ценового ряда. Фактически то, что тебе было нужно.
 
grasn:
to Neutron

Может ты мне кратко объяснишь, что предсказывает фильтр тебя и у Prival-а? Заранее благодарен. Неужели Вы сделали АФ???

Рад помочь. А у тебя случайно подробного алгоритма ее реализации нет? :о)


Не знаю, что предсказывает фильтр у Привала, а мой ничего не предсказывает:-(

Непонял, что такое АФ... Посуди сам, я напускаю функцию Predict на сгаженный с ФЗ ВР и получаю менее сглаженный ВР с меньшей ФЗ но, по качеству сглаживания он не лучше того же ФНЧ с меньшим окном усреднения, а на больших горизонтах - заметно слабее последнего (см. авишку). Т.е. предсказатель отталкиваеся в своей работе от сглаженного ряда и при приближении горизонта к исходному ВР - "рассыпается", а ФНЧ, напротив, отталкивается от исходного ВР и постепено удаляется от него становясь всё глаже... Этот результат ожидаем, действительно, нельзя получить большуюю информацию из ВР даже предварительно сгладив его - природу не обманешь! Хотя на форуме появлялась картинка с демонстрацией работы ФНЧ на основе НС, ФЗ не наблюдалось (почти) при великолепном качестве сглаживания! Если это не гон, то нам есть над чем поработать.

P.S. У меня нет алгоритма работы функции Predict.


Yurixx:

А вот что будет если не увеличивать горизонт прогноза, а напустить predict на полученный результат, т.е. на тонкую черную линию ?

Т.е. ты предлагаешь напустить предсказатель на результат его же прогноза? Ведь тонкая черная линия, это и есть прогноз усреднения (толстая синяя линия) со всё большим горизонтом...

Поясни, пожалуйста.

 
bstone писал (а): Mathemat, подарочек тебе - Дж. Бендат, А. Пирсол, "Прикладной анализ случайных данных"
Большое спасибо, bstone. Уже скачал. Посмотрим, что эти авторы говорят о стационарности...
 
Neutron:
Yurixx:

А вот что будет если не увеличивать горизонт прогноза, а напустить predict на полученный результат, т.е. на тонкую черную линию ?

Т.е. ты предлагаешь напустить предсказатель на результат его же прогноза? Ведь тонкая черная линия, это и есть прогноз усреднения (толстая синяя линия) со всё большим горизонтом...



Именно. А почему бы и нет ? Я понимаю, конечно, что результат этих действий, произведенных может быть несколько раз, не может в конечном итоге дать ряд цен - чудес не бывает. Но интересно посмотреть как работает этот алгоритм. :-) Он ведь работает на прошлых данных, в будущее не заглядывает ?
Причина обращения: