Стохастический резонанс - страница 32

 
Никто не смотрел "Анализ и прогноз временных рядов" http://www.gistatgroup.com/gus/
 
Vinin:
Никто не смотрел "Анализ и прогноз временных рядов" http://www.gistatgroup.com/gus/

Я осуществлял в разное время два основательных захода в SSA программой Сaterpillar. Объём проделанной работы позволяет говорить о репрезентативности полученного результата, а результат оба раза был отрицательный. Точнее, прогнозирование ВР типа валютных возможно, но доверительный прогнозный диапазон (ДПД) имеет экспоненциальную расходимость в зависимости от горизонта прогнозирования. Реально, это проявляется в том, что границы ДПД раскрываются почти симметрично относительно горизонтальной линии, берущей начало на последнем баре, а абсолютная величина асимметрии раскрыва не превышает комиссии ДЦ на одну транзакцию.

Вообще, у меня, на интуитивном уровне, складывается впечатление, что на каждом инструменте рынка Forex априори существует ОБСОЛЮТНАЯ арбитражная стратегия, позволяющую получать максимально возможную среднестатистическую доходность (пипы на одну транзакцию) и эта доходность (в среднем) не превышает комиссии ДЦ!!! Это не значит, что ДЦ так умны, что знают эту стратегию и следовательно могут определяют уровень комиссии сверху, а значит это то, что людская махина жующе-рвущая рынок всем чем можно, адиабатически приближается своим хвостом ФР к этому теоретически возможному пределу асимптотически определяя его для ДЦ...

Задачу можно решить двумя способами - строго и математически корректно, и приближённо - статистическими (и/или итерационными) методами. В случае рынка имеет место коллективное, приближённое решение. Которое, как мне кажется, с большой точностью стремится к точному (из-за огромного количества игроков). Иными словами, что бы мы не придумали, статдостоверная доходность нашей стратегии не будет (не может) превосходить среднюю комиссию ДЦ по данному инструменту!

Всё сказанное не претендует на истину и является моим личным мнением, которое, в свою очередь, коррелирует с текущим настроением;-)

 
Prival:

Нашел здесь на форуме прототип FFT_MA, и переделал его в соответствии с рисунками выложенными ранее (FFT_MA_mod). Единственное, он перерисовывается, что затрудняет анализ. Если кто ни будь может устранить этот недостаток, помогите.



Этот недостаток устраняется легко (посмотри внимательнее тот исходник, что выкладывал я) но после этого мувинг становится запаздывающим :)
 

to Prival

Извиняюсь в спешке попутал, гистограмму надо было просить у Yurixx. Когда появились картинки, я понял свою ошибку. Продолжаю работать над идеей Резонанса, исходя из своего определения «энергия сигнала – двигает рынок. Энергия шума – мешает нам увидеть это движение». (За подсказку про КИХ или БИХ спасибо, но я лет 12 назад читал лекции курсантам по ним, и даже помниться двойки ставил :)).

Тогда тем более не понятно, почему предлагаете один из самых плохих способов фильтрации. Вернее, он отлично работает на периодических сигналах, но вот на котировках толком то не работает. Об этом методе я знаю, кроме того, он очень хорошо описан в документации по MathCAD в разделе «Signal Processing/Filtering vs Exponential Smoothing», но использовать его для поставленной задачи настоятельно не рекомендую.

Давно этим занимался, вот откопал, единственный входной параметр управляет процентом пропускаемой мощности (тут можно извращаться, но все равно эта фильтрация по определению не даст никаких приемлемых решений):

Видно, что присутствуют не только краевые эффекты, но еще и локальные экстремумы заметно смещены от «истинных» (тупой или умный перебор параметров так же не поможет). Лучше бы заняться адаптивными фильтрами.

to eugenk

Сергей, по поводу потенциальных ям приношу свои глубочайшие извинения, и признания в собственной тупости :) Ваша правда. Уровень поддержки-соппртивления если уж с чем и сравнивать, так это с потенциальным барьером, от которого отскакивает цена. Но вот насчет выдуманности самого явления, боюсь мне придется спорить. Более того, IMHO это вообще единственная реальность на рынке, в отличии от притянутых за уши волн, фибо, вил и аллигаторов. По крайней мере это единственное, что легко поддаётся объяснению, не привлекая дополнительных неочевидных постулатов. Поздравляю с открытием интересного критерия Х ! Всё. Пошел дальше читать. А то двано тут не был, а сюда уже 11 страниц с тех пор напостили :)

Признаться, в глубине души я и сам верю… но вот подтверждения не нашел пока никакого

 
grasn:

Давно этим занимался, вот откопал, единственный входной параметр управляет процентом пропускаемой мощности


Так, grasn тоже не смотрел мой исходник :). Там правда по косинус-преобразованию, но это непринципиально, поменять легко.
 
lna01:
Prival:

Нашел здесь на форуме прототип FFT_MA, и переделал его в соответствии с рисунками выложенными ранее (FFT_MA_mod). Единственное, он перерисовывается, что затрудняет анализ. Если кто ни будь может устранить этот недостаток, помогите.



Этот недостаток устраняется легко (посмотри внимательнее тот исходник, что выкладывал я) но после этого мувинг становится запаздывающим :)

Единственное что нашел 'Спектральный анализ', но там какая-то ошибка. Ничего не выводиться на экран.

Если есть у кого ни будь возможность, помогите сделайте пожалуйста индикатор. В качестве основы FFT_MA_mod_2.

Он должен отражать, как изменилась энергия сигнала и шума во времени. В прилагаемом файле нужно сделать изменения - с появлением нового бара запоминать две переменных energi_sign,energi_shum. И больше их не трогать (не перерисовывать).

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

Здесь же ищу резонанс. Признаком появления резонанса, думаю, должно выступать изменение энергии. Хочеться увидеть эту кривую. Тогда появиться материал для дальнейшего анализа.

Заранее благодарен.

Файлы:
 
grasn:

to Prival

Давно этим занимался, вот откопал, единственный входной параметр управляет процентом пропускаемой мощности (тут можно извращаться, но все равно эта фильтрация по определению не даст никаких приемлемых решений)

Согласен процент и не даст, и вообще зглаживание цены (не суммы монохроматических сигналов) и её предсказание с помощью Фурье  ничего не даст. Мне хочеться увидеть  как ведет себя энергия, т.к она никуда не уходит, она лиш переливаеться из сигнала в шум при этом виде обработки. Потом построить АКФ этой кривой дальше думать. Может я както неправильно довожу свою мысль :(. Если кто то хочет поучаствовать и помочь в исследовании. Я в Skype  ищите privalov-sv 
 
Prival:
lna01:
Prival:

Нашел здесь на форуме прототип FFT_MA, и переделал его в соответствии с рисунками выложенными ранее (FFT_MA_mod). Единственное, он перерисовывается, что затрудняет анализ. Если кто ни будь может устранить этот недостаток, помогите.



Этот недостаток устраняется легко (посмотри внимательнее тот исходник, что выкладывал я) но после этого мувинг становится запаздывающим :)

Единственное что нашел 'Спектральный анализ', но там какая-то ошибка. Ничего не выводиться на экран.

Я имел в виду тот, что выкладывал в этой ветке https://c.mql5.com/mql4/forum/2007/10/oFFTMA_E.mq4 . А тот что https://forum.mql4.com/ru/6275 показывает, но искать спектр нужно у даты, которая в параметрах. Вообще это была только заготовка. Просто сделав код для расчёта спектральной плотности я решил посмотреть, как результат выглядит визуально. Кодом я потом пользовался, а этим индикатором нет :)
 
Prival:

Если есть у кого ни будь возможность, помогите сделайте пожалуйста индикатор. В качестве основы FFT_MA_mod_2.

Он должен отражать, как изменилась энергия сигнала и шума во времени. В прилагаемом файле нужно сделать изменения - с появлением нового бара запоминать две переменных energi_sign,energi_shum. И больше их не трогать (не перерисовывать).

Чтобы переменные больше не трогались, нужно под каждую отвести индикаторный буфер и на каждом баре записывать в элемент с одним и тем же номером (обычно 0 или 1).

Но я совершенно не понял смысл этого фрагмента, можете пояснить как можно подробнее, что имелось в виду?

ArraySort(data1,WHOLE_ARRAY,0,MODE_DESCEND); // сортируем его
// теперь пороговая обработка
// удаляем все что ниже по амплитуде гармоники с номером hmax
for(i=hmax;i<N;i++)   if (data[i]<data1[hmax]) data[i]=0.0; 
for(i=hmax;i<N;i++)  energi_sign=energi_sign+data[i];   // сумма всех составляющих спектра (энергия сигнала)
// шум
// удаляем все что выше порога 
for(i=hmax;i<N;i++)   if (data[i]>data1[hmax]) data[i]=0.0;
for(i=hmax;i<N;i++)  energi_shum=energi_shum+data[i];   // сумма всех составляющих спектра (энергия шума)
 
lna01:
Prival:

Если есть у кого ни будь возможность, помогите сделайте пожалуйста индикатор. В качестве основы FFT_MA_mod_2.

Он должен отражать, как изменилась энергия сигнала и шума во времени. В прилагаемом файле нужно сделать изменения - с появлением нового бара запоминать две переменных energi_sign,energi_shum. И больше их не трогать (не перерисовывать).

Чтобы переменные больше не трогались, нужно под каждую отвести индикаторный буфер и на каждом баре записывать в элемент с одним и тем же номером (обычно 0 или 1).

Но я совершенно не понял смысл этого фрагмента, можете пояснить как можно подробнее, что имелось в виду?

ArraySort(data1,WHOLE_ARRAY,0,MODE_DESCEND); // сортируем его
// теперь пороговая обработка
// удаляем все что ниже по амплитуде гармоники с номером hmax
for(i=hmax;i<N;i++)   if (data[i]<data1[hmax]) data[i]=0.0; 
for(i=hmax;i<N;i++)  energi_sign=energi_sign+data[i];   // сумма всех составляющих спектра (энергия сигнала)
// шум
// удаляем все что выше порога 
for(i=hmax;i<N;i++)   if (data[i]>data1[hmax]) data[i]=0.0;
for(i=hmax;i<N;i++)  energi_shum=energi_shum+data[i];   // сумма всех составляющих спектра (энергия шума)

В этом месте решается задача выделения из спектра N составляющих имеющих максимальную амплитуду. Априорно частота составляющих неизвестна. Вот рисунок.

Если идти по классике, то нужно определить параметры закона распределения Релея-Райса, и с заданной вероятностью ошибки второго рода установить порог. (В радиолокации это называется обнаружение сигнала с заданной вероятностью ложной тревоги).

Но можно поступить проще, отсортировываем спектр в порядке убывания и выбираем составляющую с номером заданным в индикаторе hmax.

Амплитуда этой составляющей и определяет величину порога (см. рис.1).

Остается только сравнить исходный спектр с этой амплитудой и выделить в 1 случае

Сигнал, все что ниже равно 0

for(i=hmax;i<N;i++) if (data[i]<data1[hmax]) data[i]=0.0;

или шум (все что выше равно 0)

for(i=hmax;i<N;i++) if (data[i]>data1[hmax]) data[i]=0.0;

Остается потом просто просуммировать, все что выделили, в первом случае получаем энергию сигнала, которая по выдвинутой гипотезе двигает рынок, во втором шум. Вот эти графики и нужны. У меня вроде что то получаеться, но график строиться только в режиме визуального тестирования :(. Приходиться очень долго ждать

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