Форум трейдеров » Торговые стратегии » Адаптивные фильтры. Применение в торговле
+ Подписаться
Страница 46 из 55 ПерваяПервая ... 364445464748 ... ПоследняяПоследняя
  1. 8,531
    Комментарии
    46
    Темы
    15162
    Репутация Pro
    Аватар для avtomat  
    Старожил

    7 Медалей
    Словосочетание "Мастер экспертов" вводит неспециалистов в заблуждение. Эдакий трюк... На самом деле это всего лишь шаблон. С несколько более расширенными функциями, но шаблон.
  2. 4,075
    Комментарии
    24
    Темы
    6269
    Репутация Pro
    Аватар для Hunter01  
    Старожил

    6 Медалей
    Цитата Сообщение от avtomat Посмотреть сообщение
    Словосочетание "Мастер экспертов" вводит неспециалистов в заблуждение. Эдакий трюк... На самом деле это всего лишь шаблон. С несколько более расширенными функциями, но шаблон.
    Мораль понял, как заблуждающийся, отползаю.
  3. 8,531
    Комментарии
    46
    Темы
    15162
    Репутация Pro
    Аватар для avtomat  
    Старожил

    7 Медалей
    Цитата Сообщение от BQQ Посмотреть сообщение
    Соответственно на уровне реализации торговый сигнал явно становится методом проверки гипотезы.
    ... со всеми прелестями вероятностей, статистик и прочих радостей?
    Не согласен.



    Достоинство такого проведения границы - то, что можно изменять метод проверки гипотезы независимо от базового индикатора.
    Но такая проверка не должна превращаться в самоцель. Ведь так ;) И независимо от базового индикатора.



    Моя точка зрения -- сигнал должен быть чёткий и однозначный. Без всяких гипотез, с их проверками, неопределённостями и неоднозначностями.
  4. 1,045
    Комментарии
    2
    Темы
    1975
    Репутация Pro
     
    Мастер форумных наук

    4 Медалей
    Цитата Сообщение от avtomat Посмотреть сообщение
    ... со всеми прелестями вероятностей, статистик и прочих радостей?
    Не согласен.


    Но такая проверка не должна превращаться в самоцель. Ведь так ;) И независимо от базового индикатора.

    Моя точка зрения -- сигнал должен быть чёткий и однозначный. Без всяких гипотез, с их проверками, неопределённостями и неоднозначностями.
    1. Из по-настоящему вредных прелестей здесь - только незнание распределения первичного процесса. А что такого страшного в теорвере?

    2. Ничто не должно превращаться в самоцель! Даже прибыль
    Потому что получение прибыли - это только субцель главной цели, формулируемой каждым по-своему в стиле "жить долго и счастливо".

    Но при декомпозиции задачи разумно сосредоточиться на решении выделенной подзадачи, на достижении выделенной субцели.

    3. Здесь - опять непонятно. Результат проверки гипотезы - вполне даже однозначный - при заданном уровне надежности.

    А как вас спасет от "неопределённостей и неоднозначностей" "чёткий и однозначный" сигнал? У вас сигналы всегда исполняются? Или вы достигли состояния просветления и "точно знаете", куда пойдет цена?
  5. 8,531
    Комментарии
    46
    Темы
    15162
    Репутация Pro
    Аватар для avtomat  
    Старожил

    7 Медалей
    Цитата Сообщение от BQQ Посмотреть сообщение
    1. Из по-настоящему вредных прелестей здесь - только незнание распределения первичного процесса. А что такого страшного в теорвере?

    2. Ничто не должно превращаться в самоцель! Даже прибыль
    Потому что получение прибыли - это только субцель главной цели, формулируемой каждым по-своему в стиле "жить долго и счастливо".

    Но при декомпозиции задачи разумно сосредоточиться на решении выделенной подзадачи, на достижении выделенной субцели.

    3. Здесь - опять непонятно. Результат проверки гипотезы - вполне даже однозначный - при заданном уровне надежности.

    А как вас спасет от "неопределённостей и неоднозначностей" "чёткий и однозначный" сигнал? У вас сигналы всегда исполняются? Или вы достигли состояния просветления и "точно знаете", куда пойдет цена?
    1. Речь идёт не о "страшности" или "нестрашности" теорвера -- речь идёт о неправомерности его применения в условиях нашего "поля".

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

    3. Это иллюзия.


    =============

    Состояния просветления я пока не достиг, но стараюсь двигаться на своём тракторе в этом направлении ;)
  6. 1,045
    Комментарии
    2
    Темы
    1975
    Репутация Pro
     
    Мастер форумных наук

    4 Медалей
    Цитата Сообщение от avtomat Посмотреть сообщение
    1. Речь идёт не о "страшности" или "нестрашности" теорвера -- речь идёт о неправомерности его применения в условиях нашего "поля".

    ...

    3. Это иллюзия.


    =============

    Состояния просветления я пока не достиг, но стараюсь двигаться на своём тракторе в этом направлении ;)
    1. Ваши слова о неправомерности применения теорвера меня сильно удивили и даже несколько озадачили.

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

    Поэтому модели рынка могут быть самыми разными. Каждая модель сосредотачивается на каком-то одном аспекте поведения рынка и моделирует его, не обращая внимания на другие внутренние связи в реальном рынке.

    Трудно представить себе более несхожие модели, чем ваши детерминированные шестеренки и модель Неофита, основанную на фликкер-шуме. Однако оба вы торгуете и оба - счастливы.

    Так чем же так провинился теорвер, что его применение - запрещено? Особенно - на ТФ М5 или в межрыночном анализе?
    ============
    3. Иллюзия так иллюзия, спорить о значении слов не буду.
  7. 1,045
    Комментарии
    2
    Темы
    1975
    Репутация Pro
     
    Мастер форумных наук

    4 Медалей
    В ходе конкурсного квартала при ведении ветки остались в стороне некоторые интересные примеры разной реализации идеи адаптивности, хочу несколько "заткнуть дыры и отдать долги".


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

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

    Дело тут в том, что следящая система часто имеет дело с движением цели, которое не имеет в пределах анализируемой истории колебательного характера.

    Если наш входной сигнал есть x(t)=At+sin(t), то идеальная следящая система должна воспроизвести линейное слагаемое и подавить синус. То есть нашей целью является воспроизведение движений, периоды которых длиннее интервала наблюдений. И описывать их в частотных терминах - трудно и не очень правильно.

    Отсюда вытекает и общая структура представления алгоритма сглаживания.
    Для фильтра наиболее естественна форма передаточной функции. Фильтр второго порядка - два полюса. Либо два вещественных, либо пара комплексно-сопряженных. Полюсы представляют подчеркиваемые частоты и т.д., и т.п.
    Для следящей системы я использую структуру из поста 103
    Формулы приобретают вид

    Prog(k+1)=y(k)+gam*[ y(k)-y(k-1)]
    y(k+1)= Prog(k+1) + alfa*[ x(k+1) - Prog(k+1)]
    Разумеется, существует взаимнооднозначное соответствие между временной и частотной формами представления. Можно по alfa и gam найти полюсы передаточной функции, которые иногда окажутся сопряженной парой комплексных, а иногда - вещественной парой.
    Но взятые порознь параметры alfa и gam имеют самостоятельный смысл во временной области.

    Параметр alfa регулирует степень подавления высокочастотных составляющих, т.е. регулирует то свойство, которое и хочется назвать 2степень сглаживания".
    Параметр же gam регулирует инерционность прогноза, что видно непосредственно из формул.
    Однако инерционность прогноза есть внутренне свойство алгоритма, потребитель его не видит, да оно ему и не интересно: какая разница потребителю, какая там степень инерционности прогноза?

    Если посмотреть глазами потребителя, то увидим, что gam регулирует запаздывание на направленном движении. Разумеется, "ланчей даром не бывает", за уменьшение запаздывания приходится расплачиваться уменьшением устойчивости и возможностью перехода СС в режим автоколебаний. Картинки автоколебаний были в посте 103.
    ==========
    Первые адаптивные средние Кауфмана и Тушара пользовались структурой ЕМА и адаптировали его единственный параметр. В случае ЕМА единственный параметр отвечает сразу за всё: и за степень сглаживания и за запаздывание.

    Меня в начале пути собственных упражнений в этой области заинтересовал вопрос: можно ли добиться содержательного изменения поведения следящей системы только за счет изменения gam при постоянном alfa?Интерес к этому вопросу обусловлен тем, что малые значения alfa дают гладкое поведение выходного сигнала. Если бы удалось добиться приемлемого запаздывания только при помощи изменения gam, мы получили бы фильтр, который редко разворачивает свой выходной сигнал.

    И был сделан фильтр с именем D3. Напомню, имя D2 принадлежит фильтру, пользующемуся заимствованной из техники среднеквадратичной мерой направленности движения. Будет "трудовой энтузиазм" - опишу и его, хотя из общих соображений среднеквадратичная мера - это не то, что нам интересно (она не учитывает порядка поступления отсчетов).
  8. 1,045
    Комментарии
    2
    Темы
    1975
    Репутация Pro
     
    Мастер форумных наук

    4 Медалей
    Забегая вперёд, скажу: задача оказалась разрешимой.
    Ниже - график D3, параметры и цвет линий видны из автоматически сделанной Омегой надписи в верхней части экрана.

    Видим, что даже при чудовищно малом значении alfa=0.001 синяя линия всё-таки заслуживает названия "сглаженной цены.
    Как все понимают, обычная ЕМА с аналогичным значением параметра сглаживания практически не шевелится.

    Если же пользоваться фильтром "без фанатизма" и ограничиться alfa=0.01, то увидим красную линию: гладкое поведение, мало разворотов и более-менее приемлемое отставание от цены.
    Описание алгоритма изменения gam сейчас сделать не успею, так как там есть, о чем рассказать.

    Как обычно - "продолжение в следующем номере".
  9. 8,531
    Комментарии
    46
    Темы
    15162
    Репутация Pro
    Аватар для avtomat  
    Старожил

    7 Медалей
    Цитата Сообщение от BQQ Посмотреть сообщение
    1. Ваши слова о неправомерности применения теорвера меня сильно удивили и даже несколько озадачили.

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

    Поэтому модели рынка могут быть самыми разными. Каждая модель сосредотачивается на каком-то одном аспекте поведения рынка и моделирует его, не обращая внимания на другие внутренние связи в реальном рынке.

    Трудно представить себе более несхожие модели, чем ваши детерминированные шестеренки и модель Неофита, основанную на фликкер-шуме. Однако оба вы торгуете и оба - счастливы.

    Так чем же так провинился теорвер, что его применение - запрещено? Особенно - на ТФ М5 или в межрыночном анализе?
    ============
    3. Иллюзия так иллюзия, спорить о значении слов не буду.
    Постараюсь устранить ваше удивление, дав более развёрнутое пояснение -- но проделаю это в Моделях, дабы не отвлекать от главной темы ветки.
  10. 1,045
    Комментарии
    2
    Темы
    1975
    Репутация Pro
     
    Мастер форумных наук

    4 Медалей
    Продолжаю описание адаптивного фильтра D3, сделанного мной в свое время не с целью извлечения прибыли, а для уяснения ролей параметров alfa и gam в моей любимой схеме БИХ-фильтра второго порядка.

    Вот его исходник на EasyLanguage. Точнее, исходник не индикатора, а функции. значение которой потом отрисует индикатор.
    Код:
    {alfa=const, adaptive gam}
    Inputs: price(Numericseries),alfa(Numeric),bet(Numeric);
    Variables:  prog(0),g(0),aa(0.5);
    
    If CurrentBar <= 3 Then begin
    	prog=Price;
    	$D3 = Price;
    end
    Else
    	begin
    	prog=$D3[1]+g*($D3[1]-$D3[2]);
    	if (price-prog)*(price[1]-prog[1])<0 then begin
    		g=g*bet;
    		prog=$D3[1]+g*($D3[1]-$D3[2]);
    		aa=aa*bet;
    	end
    	else begin
    		g=g+(1-bet)*(1-g);
    		aa=aa+(1-bet)*(1-aa);
    	end;
    
    
    {print(def*1000,adef*1000,aa,gg,CurrentBar);}
    
    	$D3=prog+alfa*(price-prog);
    end
    Рассмотрим исходник.
    Смысл нескольких первых и нескольких последних строк очевиден: объявление переменных и задание начальных значений на первых двух барах в начале текста и стандартное вычисление выходного значения фильтра в конце.

    Самое интересное - строки в большой группе операторов Else, изменяющие значения переменной g, которая хранит текущее значение параметра, определяющего инерционность прогноза. Их операторные скобки begin и end я выделил жирным.

    Замечание1.
    Обращаю внимание на то, что в этом тексте вычисление прогноза происходит после прихода очередного отсчета входного сигнала, соответственно вычисление выходного значения использует prog, а не prog[1].
    Замечание2. наличие переменной с именем аа - рудимент. У фильтра D3 есть брат по имени D3_, отличающийся только тем, что у него параметр alfa изменяется тем же механизмом, что и g. Текущее значение alfa и есть переменная аа.

    Итак:
    1. prog=$D3[1]+g*($D3[1]-$D3[2]); вычисляется прогноз обычным способом, используя прошлое значение g.
    2. проверяется, сохраняется ли знак невязки прогноза сравнительно с прошлым шагом. Если знак невязки прогноза поменялся, это означает одно из двух: или цена замедляет движение, или прогноз разогнался быстрее цены (перерегулирование).
    3. В случае перерегулирования уменьшаем инерционность прогноза, умножая его на параметр bet, который должен быть всегда 0<=bet<=1.
    После уменьшения g обновляем прогноз в соответствии с новым значением g.
    4. В случае отсутствия перерегулирования разгоняем фильтр, увеличивая инерционность прогноза по формуле g=g+(1-bet)*(1-g); смысл этой формулы очевиден: умножение на bet<1 расстояния между g и единицей. Так как g имеет естественными границами числа 0 и 1, то получается в зависимости от совпадения или различия знака невязки прогноза на текущем и прошлом шагах экспоненциальный сдвиг g к одной из границ.

    Замечание 3
    Вот так бывает: стал описывать исходник для форума и нашел в нем небольшой косяк. Косяк состоит в том, что поведение прогноза несимметрично: при наличии перерегулирования мы изменяем g и обновляем прогноз, а в случае отсутствия перерегулирования - только изменяем g.

    Надеюсь, однако, на то, что этот косяк (как часто пишут в отзывах на авторефераты диссертаций) "... не порочит работу в целом".
    ============
    Параметр bet регулирует скорость изменения инерционности прогноза g.
    При bet=0 скорость изменения максимальна: п может находиться только в двух состояниях (g=0 и g=1).

Вверх
РегистрацияX

чтобы писать, читать, комментировать