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

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



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


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

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

спасибо ценный сайт, а вот это вообще великолепно http://dsp-book.narod.ru/KM.djvu
 
Prival:
bstone:

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



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



спасибо ценный сайт, а вот это вообще великолепно http://dsp-book.narod.ru/KM.djvu

ух ты Оказывается все есть Осталось только применить...
 
Yurixx:

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

Да, работает только на прошлых данных.

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

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

Файлы:
2.zip  910 kb
 

to Neutron

Непонял, что такое АФ

Сократил термин «адаптивный фильтр». Это к тому, что рассматриваемые цели, как и в этой теме, так и в других, можно получить только основываясь на адаптивной фильтрации. Других способов нет, а грубо говоря вот это:

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

не имеет никакого практического смысла и по большому счету – «самообман»

Хотя на форуме появлялась картинка с демонстрацией работы ФНЧ на основе НС, ФЗ не наблюдалось (почти) при великолепном качестве сглаживания! Если это не гон, то нам есть над чем поработать.

Я работал с пакетом «NeuroSolutions», если его поставишь – найдешь подробный пример ФНЧ на основе НС.

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

Прогноз экстраполяцией ряда Тейлора мне совершенно не интересен, и не даст он сравнимых прогнозов, может быть один вариант на 100 попыток :о) Но за совет спасибо.

Neutron, ты немного не понял - я не копаюсь с алгоритмом «предикта». Опубликованные простенькие мысли около двухгодичной давности. Если бы он был действительно нужен – нашел бы источники и сделал, это не так трудно. Я же писал, предикт, как и любые другие подобные алгоритмы – НЕ РАБОТАЮТ, прогноз рядов по статистике дает очень плохие результаты. Единственный способ применения – это перейти к обобщенным характеристикам прогнозного ряда и то, это надо сделать грамотно. Системы на такой основе получаются прибыльными – но мне не интересные.

to mql4-coding
ух ты Оказывается все есть Осталось только применить...

Кажется, я это уже читал много раз на разных форумах….но все равно – удачи :о)))

Вот, блин, потерял все свои ссылки, короче – был форум, довольно продолжительный, на котором парни серьезно взялись за две вещи

  • Написание открытого кода пакета фильтров (я так понял, что народ озлобился на авторов этих фатлов, сатлов – не помню как они правильно называются
  • Разработать стратегию на основе фильтров

Вроде было много полезного. А я вот совсем в таком подходе разочаровался, сдается мне – путь этот не совсем верный.

 

Как сравнивать между собой различные алгоритмы усреднения ВР? Как выбрать оптимальное окно усреднения?

Действительно, если окно выбрать большим, то из-за неизбежной ФЗ сигнал будет сильно запаздывать, с другой стороны, если окно выбрать маленьким, то качество усреднения будет неудовлетворительным. Кажется, что оптимум лежит гле-то посередине, но с чем сравнивать результат полученного усреднения?

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

На левом рис. точками показан ВР, красной линией - симметричный ФНЧ (сФНЧ), синей и чёрной - обычная скользящая средняя с разными временами усреднения. Будем искать для каждого окна стандартное отклонение на всём множестве точек ВР между идеальным фильтром и изучаемым и нормируем полученную величину на стандартное отклонение между точками ВР и сФНЧ. Таким образом, мы отвяжемся от произвола связанного с выбором окна усреднения сФНЧ. Выбор стандартного отклонения в данном случае не кажется случайным, действительно, эта ведичина одинаково хорошо оотразит уход гладкой кривой вправо из-за ФЗ и увеличение размаха её колебаний при узком окне усреднения.

Выберем для анализа качества сглаживания обычное скользящее среднее с прямоугольным окном усреднения (синяя линия на втором рис.), с треугольным окном усреднения (чёрная линия) и фильтр Баттероута 1-го порядка (красная линия). Видно, что при маленьком окне фильтры не сглаживают ряд из-за большой "болтанки" стремящейся к волатильности исходного ВР. При увеличении окна наблюдается оптимум для каждого фильтра свой, а дальше опять ухудшение сглаживающих свойств из-за возрастающей ФЗ. Из представленных трёх алгоритмов наилучший результат наблюдается для тривиального скользящего среднего с прямоугольным окном усреднения, при ширине окна 7-8 баров! Это оптимальное значение для данного типа ФНЧ, при этом, он эффективно подавляет шумовую компоненту на 15% и при окне 17-18 баров теряет свои сглаживающие св-ва не давая преимущество перед исходным ВР. Напомню, что если посчитать в данном случае стандартное отклонение для сФНЧ, то получим ноль или 100% сглаживание, т.е. идиальный вариант. Пока мы имеем 15% приближение к идеалу. Интересно, можно получить больше?

Таким образом, у нас есть инструмент позволяющий объективно оценивать сглаживающии св-ва ФНЧ. Если Привал предоставит код своего адаптивного фильтра Кальмана на основе АКФ, мы его (фильтр) сразу определим на место в почётном ряду, а Северный Ветер получит ответ на свой уже ставшим риторическим вопрос...

 
grasn:

Вот, блин, потерял все свои ссылки, короче – был форум, довольно продолжительный, на котором парни серьезно взялись за две вещи


На альпари или виаке, тема с названием что то типа "фильтруем буржуйские базары", - наверное про это речь.
 
NorthernWind:
grasn:

Вот, блин, потерял все свои ссылки, короче – был форум, довольно продолжительный, на котором парни серьезно взялись за две вещи


На альпари или виаке, тема с названием что то типа "фильтруем буржуйские базары", - наверное про это речь.
да, да - очень похоже. Спасибо :о)


to Neutron
Предположим, что у нас имеется гипотетический ФНЧ с нулевой ФЗ, тогда можно сравнивать с ним.

А если входные характеристики твоего эталонного фильтра выбраны некорректно или не самым оптимальным образом?

 

Да пробывал я менять ему окно усреднения в очень широком диапазоне - на результат это ВОБЩЕ не влияло, или влияло, но очень незначительно. Мы же СО изучаемых фильтров считаем относительно его и затем нормируем на СО ВР относительно его же.

Дополнение к уже написанному, на замечание grasn.

Прогнался я!

От выбора окна у иФНЧ зависит величина и положение максимумов у исследуемых рядов. Не зависит или зависит слабо их относительное положение.

Получается, что нужно сначала подобрать иФНЧ такой, который максимально чётко выявляет на ВР интересующие моменты, а затем выбрать нужное окно обычного ФНЧ. Это будет оптимальный выбор в смысле максимальной вероятности выявления требуемых закономерностей.

 
to Neutron
Прогнался я!

Извини за мою «техническую безграмотность», - о чем ты сейчас написал?

От выбора окна у иФНЧ зависит величина и положение максимумов у исследуемых рядов. Не зависит или зависит слабо их относительное положение.

У ФНЧ довольно много параметров, они конечно полностью определяются спецификацией но все равно, их довольно много: шаг дискретизации, граничные частоты полосы пропускания/подавления, коэффициент неравномерности полосы подавления/пропускания и т.д. О каком окне ты говоришь? Если о представлении спецификации фильтра в виде одного входного параметра, то…то надеюсь ты такой фильтр не используешь в реальной торговле?

Да пробывал я менять ему окно усреднения в очень широком диапазоне - на результат это ВОБЩЕ не влияло, или влияло, но очень незначительно

Дык может у тебя и фильтр то не перестраивался толком? У Баттерворда нет входной характеристики, как окно, есть похожее на "окно" - расчетные коэффициенты, которые полностью определяются спецификацией. А где у тебя спецификация??? Скорее всего, ты какие-то характеристики просто зафиксировал и делаешь сейчас открытия, поздравляю.

И это относительное положение экстремумов не зависит или слабо зависит? И это-то не зависит даже в плохо сконструированном фильтре, или хорошо сделанного, но не для «такого» сигнала? Круто, дайте два таких фильтра…