Скачать MetaTrader 5

Адаптивные цифровые фильтры

Авторизуйтесь или зарегистрируйтесь, чтобы добавить комментарий
Pavel Chigirev
175
Pavel Chigirev  
Сейчас многие используют JMA и ее модификации, но на каких конкретно теоретических предпосылках они работают почти нигде не сказано. Если кто-нибудь знает - поделитесь, пожалуйста.
Сергей
2481
Сергей  

информации довольно много на эту тему, например, тут: http://prodav.narod.ru/dsp/index.html (раздел "адаптивная фильтрация цифровых данных")


Спросите так же Prival-а, он кажется, единственный специалист по ЦОС из нас, думаю, поможет в теории.

PS: что такое JMA?

Prival
4605
Prival  

С удовольствием бы помог. Но к сожалению не могу читать код MQL так же свободно как MathCad где формулы пишутся так как мы и привыкли видеть их в книгах. Единственное, что мне показалось (хотя я и не уверен) используется один из видов регрессии, что бы было понятнее

Есть линейная регрессия типа y(x)=ax+b. Можно коэффициенты а и b рассчитать разным способом, можно по МНК (вроде бы там не используется), а можно используя рекурсию, но что бы понять это надо четко разобраться в циклах (там я уже путаюсь, где, что, за чем вычисляется). Скорее всего там нелинейная регрессия, т.к. есть какие то if() при расчете + сам вид уравнения регрессии не понятен, сколько же там этих коэффициентов.

В принципе почти все индикаторы можно рассматривать как цифровые фильтры, та же обыкновенна МА, это цифровой фильтр. А слово адаптация обычно говорит о том что какие то параметры (коэффициенты в нутрии фильтра) должны меняться в зависимости от характеристик вх. сигнала. Поэтому в первую очередь к адаптивным цифровым фильтрам (ЦФ) я бы отнес АМА, FRAMA и им подобные (параметр усреднения (n), меняется в зависимости от оценки дисперсии входного процесса), почти все фильтры FFT, вейвлет у которых используется пороговая обработка (попытка согласовать параметры ЦФ со спектром входного полезного сигнала).

А вот SATL, FATL не являются адаптивными, т.к. 1 раз при проектировании были рассчитаны коэффициенты ЦФ, которые позволили согласовать переходную характеристику фильтра со спектром входного сигнала (АЧХ и ФЧХ), и в процессе работы эти коэффициенты не меняются. Это так называемые согласованные фильтры. Но есть идеал, то что называют в ЦОС оптимальный фильтр, построить его трудно, но возможно. Для этого необходимо знать спектры полезного сигнала и шума.

Не знаю помог чем либо или наоборот запутал :-), но в любом случае удачи.

Pavel Chigirev
175
Pavel Chigirev  
2 grasn - спасибо большое за ссылку, материал очень неплохо подобран )

2 Prival - опыт работы с подобного рода цифровыми фильтрами у меня некоторый есть, но по принципу от "теории к практике" (фильтр Кауфмана), визуально результаты были очень даже хорошие, но вот статистика особых преимуществ не выявила. С JMA другое дело статистика несколько лучше, так как в алгоритм внесены, как мне кажется, некоторые оригинальые решения, вот именно их суть мне и хочется понять. Теперь придется на основании теории разбирать код и искать отличия ))
Prival
4605
Prival  
NightPaul:

2 grasn - спасибо большое за ссылку, материал очень неплохо подобран )

2 Prival - опыт работы с подобного рода цифровыми фильтрами у меня некоторый есть, но по принципу от "теории к практике" (фильтр Кауфмана), визуально результаты были очень даже хорошие, но вот статистика особых преимуществ не выявила. С JMA другое дело статистика несколько лучше, так как в алгоритм внесены, как мне кажется, некоторые оригинальые решения, вот именно их суть мне и хочется понять. Теперь придется на основании теории разбирать код и искать отличия ))

А попробуй сделать следующее, бери за основу АМА (кауфмана), но используй не простое усреднеение,  а регрессионную модель. Может так будет легче + все будет понятно + сам делаеш код. ИХМО такое обьединение методов может оказаться неплохим.
Pavel Chigirev
175
Pavel Chigirev  
Кстати, неплохой вариант. Отпишу как будут рез-ты
Dmitry Fedoseev
46490
Dmitry Fedoseev  
Prival, давайте я код перепишу в формулы, а вы объясните.
Prival
4605
Prival  
Integer:
Prival, давайте я код перепишу в формулы, а вы объясните.

код чего, JMA. Или мне написать формулы как АМА переделать? На сколько мне говорит мой опыт программирования, лучше (и быстрее) написать свой код, чем разбираться с чужим и написать тоже самое (ну или что то очень похожее).
Сергей
2481
Сергей  

Коллеги, не сочтите меня слишком назойливым, но все же – что такое JMA? Свой адаптивный фильтр когда то пытался делать на основе алгоритма наименьших квадратов Уидроу-Хопфа, он вроде самый простой. После экспериментов остался уверен на 300%, что сделать адаптивный фильтр под временные ряды форекса не возможно в принципе, ибо чудес на свете не бывает, бывают правда кудесники. Главная причина – огромное влияние эффекта нестационарности: поверхность производительности фильтра все время меняется, следовательно меняются минимумы этой поверхности, да и проблема со сходимостью весовых коэффициентов. Но в общем – я не специалист, а всего самоучка в ЦОС-е.

PS: Если сделаете действительно адаптивный фильтр, плииз дайте посмотреть одним глазком :о)

Pavel Chigirev
175
Pavel Chigirev  
2 Integer
        
Если не затруднит, было бы неплохо разобрать код JJMASeries из вот этой статьи 'Эффективные алгоритмы усреднения с минимальным лагом и их использование в индикаторах'

2 grash
      
 Вот что сам автор пишет про JMA ) - http://www.jurikres.com/catalog/ms_ama.htm#top
       Так как все это продается, нам достаюстся лишь деассемблированные коды, как я сам понимаю, а очень хочеться понять в чем там изюминка )

Sceptic Philozoff
Модератор
17841
Sceptic Philozoff  

Там, кстати, легкий наезд и на фильтр Калмана (Prival, это специально для тебя):

JMA performs BETTER THAN OTHER SOPHISTICATED METHODS, including ...

Kalman's g, g-h, g-h-k filters, with or without fading memory
Savitzky-Golay filters, with or without fading memory
Kaufman's adaptive moving average (KAMA)
Chande's Variable Index Dynamic Average (VIDYA)
Double Exponential Moving Average (DEMA)
Triple Exponential Moving Average (T3)
Brown's Modified Moving Average (MMA)
Ehler's Modified Optical Elliptical Filter (MEF)
Ehler's Symmetrically weighted FIR filter
Hull Moving Average (HMA)

P.S. Кстати, внизу этой странички есть ссылка на фильтр Калмана.