HP Extrapolator

0
(0)
نالو:
HP Extrapolator [ ru ]
ليکڪ: gpwr (2009.01.15 10:15)
درجه بندي: 10
ڊائون لوڊ ٿيل: 3716
ڊائون لوڊ ڪريو:
HP Extrapolator 1
HP.mq4 (2.1 Kb) ڏيک
HP Extrapolator 1 HP Extrapolator.mq4 (4.8 Kb) ڏيک

Автор: gpwr

Описание:

Отличительное качество фильтра Ходрика-Прескота в том что он не имеет задержки. Рассчитывается он путём минимизации целевой функции

F = Sum((y[i] - x[i])^2,i=0..n-1) + lambda*Sum((y[i+1]+y[i-1]-2*y[i])^2,i=1..n-2)

где x[] - цены, y[] - значения фильтра. Вот пример поведения этого фильтра (см приложенный файл HP.mq4)

HP Extrapolator 3

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

y[i] = Sum(هڪ[ڪ]*x[i-k],k=0..nx-1) - FIR фильтр

или

y[i] = Sum(هڪ[ڪ]*x[i-k],k=0..nx-1) + Sum(ب[ڪ]*y[i-k],k=1..ny) - IIR фильтр

Предпочтительно выбрать такой "фильтр-близнец", который имел бы частотно-независимую задержку Тзад (constant group delay). IIR фильтры в таком случае не подходят. Для FIR фильтров, условием частотно-независимой задержки является

هڪ[i] = +/-a[nx-1-i], i = 0..nx-1

Простейшим FIR фильтром с постоянной задержкой является Simple Moving Average (SMA):

y[i] = Sum(x[i-k],k=0..nx-1)/nx

При нечётном nx, задержка такого фильтра равна Тзад = (nx-1)/2. Если сдвинуть значения этого SMA фильтра в прошлое на количество баров равному задержке Тзад, то SMA значения совпадут со значениями фильтра Ходрика-Прескота. Точного совпадения достичь невозможно из-за существенной разницы в частотных характеристик двух фильтров проиллюстрированной на этом графике

HP Extrapolator 4

Чтобы достичь наиболее близкого совпадения между значениями обоих фильтров, желательно выбрать их ширину пропускания (например, на уровне -6dB) одинаковой. Ширина пропускания на уровне -6dB фильтра Ходрика-Прескота расчитывается по формуле

wc = 2*arcsin(0.5/lambda^0.25).

Ширина пропускания на уровне -6dB для SMA фильтра находится численными методами из уравнения

|ايڇ(w)| = sin(nx*wc/2)/sin(wc/2)/nx = 0.5

График внизу сравнивает значения двух фильтров при одинаковой полосе пропускания: красный цвет - фильтр Ходрика-Прескота (FiltPer = 25), синий цвет - SMA (Period = 15, Shift = -7). Заметьте что SMA (синий) для последних 7 баров не существует, т.к. ему нужно знать будущие цены. Фильтр Ходрика-Прескота (красный), с другой стороны, показывает какие-то значения. Если предположить что при появлении будущих цен, сдвинутый SMA будет повторять значения фильтра Ходрика-Прескота на последних 7 барах, то какие эти будущие значения должны быть?

HP Extrapolator 5

Алгоритмы предсказания:

В индикаторе встроены два метода предсказания:

Metod 1:

1. Задаём длинну SMA равную 3 и сдвигаем SMA в прошлое на 1 бар. При такой длинне, сдвинутый SMA не существует только для последнего бара (Bar = 0), т.к. ему нужно значение следующей будущей цены Close[-1].

2. Рассчитываем частоту пропускания SMA. Приравниваем эту частоту к частоте пропускания фильтра Ходрика-Прескота. Находим lambda.

3. Рассчитываем значение фильтра Ходрика-Прескота на последнем баре HP[0] и предполагаем что SMA[0] с неизвестной Close[-1] даёт такое же значение.

4. Находим Close[-1] = 3*HP[0] - بند[0] - بند[1]

5. Увеличиваем длинну SMA до 5. Повторяем все вычисления и находим Close[-2] = 5*HP[0] - بند[-1] - بند[0] - بند[1] - بند[2]. И так далее пока не рассчитано заданное количество будущих цен FutBars.

Metod 2:

1. Задаём длинну SMA равную 2*FutBars+1 и сдвигаем SMA в прошлое на FutBars

2. Рассчитываем частоту пропускания SMA. Приравниваем эту частоту к частоте пропускания фильтра Ходрика-Прескота. Находим lambda.

3. Рассчитываем значения фильтра Ходрика-Прескота на последних FutBars барах и предполагаем что SMA поведёт себя таким же образом при появлении новых цен.

4. Находим Close[-1] = (2*FutBars+1)*HP[FutBars-1] - Sum(بند[i],i=0..2*FutBars-1), بند[-2] = (2*FutBars+1)*HP[FutBars-2] - Sum(بند[i],i=-1..2*FutBars-2), и т.д.

В индикаторе следующие входные данные:

طريقو - метод предсказания

LastBar - номер последнего бара для проверки предсказания на существуящих ценах (LastBar >= 0)

PastBars - количество прошлых баров для которых будет рассчитываться фильтр Ходрика-Прескотта (чем больше тем лучше или, по крайней мере, PastBars>2*FutBars)

FutBars - количество предсказанных будущих значений

Индикатор красным цветом строит предсказанные значения. В следующем примере используется Metod 1:

HP Extrapolator 6

Metod 2:

HP Extrapolator 7

Второй метод имеет тенденцию более точного предсказания, но часто имеет большие выбросы первой предсказанной цены. Описанный метод предсказания может улучшен путём нахождения FIR фильтра с частотной характеристикой более близкой к той фильтра Ходрика-Прескота. Например, вместо SMA, можно попробовать Hanning, Blackman, Kaiser и другие фильтры с постоянной задержкой.

Автор благодарен Korey за публикацию оригинального индикатора построения фильтра Ходрика-Прескота в следующей ветке форума:

http://forum.mql4.com/ru/18404/page2

5 تبصرا ھڪڙو نئون تبصرو پوسٽ ڪرڻ لاء, مهرباني ڪري لاگ ان يا رجسٽر

Comment in PORTUGUESE. Indicador HP cruzando (ڪراس اوور) com média móvel de 7 períodos (preço de fechamento) se revelou fácil e excelente. Simples. Experimente. Parabéns ! جيmailto:[email protected]

26.08.2010 20:37 jrportobr

Comment in PORTUGUESE. Indicador HP cruzando (ڪراس اوور) com média móvel de 7 períodos (preço de fechamento) se revelou fácil e excelente. Simples. Experimente. Parabéns ! جيmailto:[email protected]

26.08.2010 20:36 jrportobr

You don't even know what you've created!

Contact me directly and I'll show you.

Forget the prediction. This is dead end.

But the Hodrick-Prescott Filter implementation - this is what I'm about 🙂

ALX

02.10.2009 14:13 alxalx

Would you please in english ? Rgds

18.01.2009 03:19 jskchan

i dont understand,difficult!

هي پوسٽ ڪيترو مفيد هو?

ان کي ريٽ ڪرڻ لاء اسٽار تي ڪلڪ ڪريو!

سراسري درجه بندي 0 / 5. ووٽن جي ڳڻپ: 0

هن وقت تائين ڪوبه ووٽ ناهي! هن پوسٽ جي درجه بندي ڪرڻ لاء پهريون ٿيو.

اسان کي افسوس آهي ته هي پوسٽ توهان لاء مفيد نه هئي!

اچو ته هن پوسٽ کي بهتر بڻايون!

اسان کي ٻڌايو ته اسان هن پوسٽ کي ڪيئن بهتر ڪري سگهون ٿا?



ليکڪ: فاریکس وڪي ٽيم
اسان انتهائي تجربيڪار فاریکس واپارين جي ٽيم آهيون [2000-2023] جيڪي اسان جي پنهنجي شرطن تي زندگي گذارڻ لاءِ وقف آهن. اسان جو بنيادي مقصد مالي آزادي ۽ آزادي حاصل ڪرڻ آهي, ۽ اسان خود تعليم حاصل ڪئي آهي ۽ فاریکس مارڪيٽ ۾ وسيع تجربو حاصل ڪيو آهي جيئن اسان جو مطلب هڪ خودمختاري واري زندگي گذارڻ جي لاءِ آهي..