Наша МАша! - страница 5

 

Prival писал(а) >>

Еще лучше ) Что это за формулы и откуда Вы их берете.

вот посмотрите как расчитывается коэффициент кореляции https://ru.wikipedia.org/wiki/%D0%9A%D0%BE%D1%8D%D1%84%D1%84%D0%B8%D1%86%D0%B8%D0%B5%

D0%BD%D1%82_%D0%BA%D0%BE%D1%80%D1%80%D0%B5%D0%BB%D1%8F%D1%86%D0%B8%D0%B8

коэффициент кореляции расчитывается между массивами, а не между отсчетами. Пожалуйста будте точны в ваших формулировках, что бы другие могли понять про что Вы говорите, что утверждаете и что считаете.

Сергей, вы возьмите и постройте коррелограмму по "своей" формуле (та, что приведена в википедии) и по той, что привёл я - получите один и тот же результат. Формула, что я пользую, более простая и при достаточной длине выборки ошибка счёта по сравнению с полной формой стремится к нулю. Меня это устраивает. Если вам нужна большая точность или принципиальна математическая строгость именно в этом вопросе, ну пожалуйста, обоснуйте это и используйте. Я в своих расчётах иногда (когда это оправдано) использую полное выражения для построения коррелограммы:

 
Больше Машек хороших и разных
нам не нужна абстрактная гладкая фотомодель, мы ищем Машку которая бы не только для глаз но и обладалa другими ценнми для нас достоинствами.
Машки работают поразному:
-для пробойной ТС нужна машка устойчивая как линия поддержки/сопротивления, т.е. достаточно гладкая, интегральная, запаздывающая, отстоящая от ВР.
Критично число пересечений с ценой, т.к. это пересечение суть пробой = сигнал для ТС.
Такая МА запаздывает по определению.
-для разворотной ТС нужна машка опережающая, прогнозирующая, ...ее положение относительнор ВР не имеет значения.
Число пересечений с ценой также не критично, т.к. важен поворот головы, но не фиксация относительно ВP
Итого два типа, два класса Машек и, + отстой.
При нулевом сдвиге одна и та же МА пригодна только для одного типа ТС - пробойной или разворотной либо вообще ни к чему не пригодна.
(Ненулевой сдвиг МА это способ, но предположительно только для ручной торговли.)
...
Надо ли учитывать будущее применение МА при ее проектировани (поиске)? = два мнения
а) -Вообще говоря не надо учитывать, главное иметь))), - получили новую МА и пробуем куда повезет.
б) -После многoлетнего опыта с Машами хочется чего то более основательного и менее скользкого предательского.
...
Поэтому с каждой новой Машкoй опытный разработчик МТС будет весьти себя все более и боле цинично,
-более требовательно.
Однако возможно ли каждый раз синтезировать новую МА с заданными наперед и в этот раз свойствами - пока большой вопрос.
 

Едем дальше!

Итак, вот наш функционал: S=w1*(X[i]-Y[i])^2+w2*(Y[i]-Y[i-1])^2-w3*{(Y[i]-Y[i-1])*(Х[i]-Х[i-1])}^2-->min минимизировать который нам предстаит. Перепишем его, считая i-ый отсчёт текущим (верхнее уравнение):

Возьмём от него производную по y[0] (второе выражение) и приравняв её к нулю, решим относительно y[0] (третье равенство), получив таким образом рекурентное выражение для вычисления текущего значения нашей МА по известным значениям котира x[0], x[1] и предыдущим значениям самого мува y[0] и y[1]. Тут нужно отметить, что в выражении для функционала, первые два члена, отвечающии за гладкость МА и её близость к котиру, совпадают с аналогичным выражением для экспоненциальной средней. Если последовать примеру Булашова, рассмотренному в его статье (файл на предыдущей странице топика), можно исключить один из настраиваемых параметров, положив w1+w2=1, тогда мы приходим к двухпараметрическому выражению для "идеальной" МА:

Причём, параметр w1 отвечает за гладкость, а w2 - за прфитность. Наверное так.

Теперь можно и кодингом заняться!

 
Neutron писал(а) >> Кто нить, возмите производную от функционала S по параметру Y[i] и приравняйте к нулю! А то я уже того-етого...

Ой жуть какая.

S=w1*(X[i]-Y[i])^2+w2*(Y[i]-Y[i-1])^2-w3*{(Y[i]-Y[i-1])*(Х[i]-Х[i-1])}^2-->min

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

 
Neutron >>:

Освежим в памяти основные требования к идеальной МА:

1. Близость к исходному ВР. Это требование равносильно малости расстояния между котиром Х (зелёная линия на рис.) и cглаженной кривой Y (синяя). Можно записать, что в среднем, по большой выборке должно свыполнятся: (X[i]-Y[i])^2-->min

2. Гладкость МА. Это требование равносильно малости расстояния между соседними отсчётами гладкой кривой: (Y[i]-Y[i-1])^2-->min

3. Кривая Эквити, которая будет состаять из нарубленных из исходного ВР кусков с учётом направления (знака) открываемых позиций (между вертикальными линиями на рис), должна быть растущей. Знак открытия позиции, равен знаку производной МА. В наших обозначениях sign(Y[i]-Y[i-1]). Кривая эквити в этом случае будет складываться из кусков котира, которые будут сшиваться встык, согласно знаку закрываемой позиции. Реализовать это можно так. Построим для котира ряд первой разности (РПР) d[i]=X[i]-X[i-1], тогда исходный ВР леко востанавливатся из РПР по алгоритму:, тогда быстрый рост кривой эквити (), равносилен требованию максимализации первой производной от неё: dE[i]/dt=E[i]-E[i-1]= sign(Y[i]-Y[i-1])*(Х[i]-Х[i-1]) или с небольшим, но допустимым, в нашем случае натягом {(Y[i]-Y[i-1])*(Х[i]-Х[i-1])}^2-->max Очевидно, что максимизация некоторого выражения, равноссильна минимизации его же с обратным знаком: -{(Y[i]-Y[i-1])*(Х[i]-Х[i-1])}^2-->min.

Всё. Получаем так необходимый нам функционал для минимизации:

S=w1*(X-Y)^2+w2*(Y[i]-Y[i-1])^2-w3*{(Y[i]-Y[i-1])*(Х[i]-Х[i-1])}^2-->min

Его-то минимум относительно Y[i], где i - текущий отсчёт, нам и нужно найти.

С точки зрения математики всё верно. 

Когда выдаётся свободное время пытаюсь решить что-то подобное, но другим методом. 

С моей точки зрения (не факт что она верна, но жить может))) необязательно определять функцию Y  и вычислять её значения. - нарисовать данную Машку может нейросеть. С задачей по идее сможет справится трёхслойный перцептрон с гиперболической функцией активации каждого нейрона. Допустимое отклонение эквити (разница между котиром и МА, т.е. min) позволит задать допустимое значение ошибки для обучения сетки. В этом случае величина min должна определяется допустимым уровнем риска ТС, но также и стремится к 0.

В принципе всё просто, на первый взгляд, но только на первый...

 
Mathemat писал(а) >>

Ой жуть какая.

Да ладно, уже нашли решение.

Тут засада в области в которой определены коэффициенты w1, w2 и w3. Поскольку при выводе функционала мы себя ни как не ограничивали относительно их величин, то логично (наверное) положить один из них тождественно равным 1 (это который w3), а два других связать как у Булашёва. Тогда получим однопараметрическое выражение для фильтра:

Вот. Совсем простенько и со вкусом! Это есть хорошо. Теперь точно можно кодить.

P.S. Вобще, хорошо бы, что бы господа знающие ЦОС и основы фильтростроения, помогли бы нам определиться с областью определения этих коэффициентов (всех трёх). Насколько я помню, тут нужно найти характерестическое уравнение и удовлетворить тому, что бы его корни находились внутри единичной окружности на комплексной плоскости. Это позволит работать с устойчивым фильтром и тонко подстраивать все три его ручки. Но пока обойдёмся его простой реализацией.

 

Одним из способов для полного равномерного сглаживания на мой взглядявляется двойное сглаживание

с использование СКО для задания смещения МАшке но при этом существует участок который не имеет расчетных данных

У каждой МА он свой т.к. в зависимости от периода сглаживания увеличивается и запаздывания..

При использовании индикатора NoLagMA это запаздывание выражается в коэфициенте 6.8541

в простом выражении это можно выразить в таблице..

8 1
13 1
21 2
34 3
55 5
89 8

сначала это соотношение было получено чисто наглядным образом через принудительное смещение,

а затем при использовании СКО было подтвержденно

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

 
Neutron писал(а) >>

Да ладно, уже нашли решение.

Тут засада в области в которой определены коэффициенты w1, w2 и w3. Поскольку при выводе функционала мы себя ни как не ограничивали относительно их величин, то логично (наверное) положить один из них тождественно равным 1 (это который w3), а два других связать как у Булашёва. Тогда получим однопараметрическое выражение для фильтра:

Вот. Совсем простенько и со вкусом! Это есть хорошо. Теперь точно можно кодить.

P.S. Вобще, хорошо бы, что бы господа знающие ЦОС и основы фильтростроения, помогли бы нам определиться с областью определения этих коэффициентов (всех трёх). Насколько я помню, тут нужно найти характерестическое уравнение и удовлетворить тому, что бы его корни находились внутри единичной окружности на комплексной плоскости. Это позволит работать с устойчивым фильтром и тонко подстраивать все три его ручки. Но пока обойдёмся его простой реализацией.

Какая-то она не гладкая

Это с разными коэффициентами

Хотя чем меньше коэффициент, тем более гладкая машка. Все равно интересно.

Файлы:
 
Neutron писал(а) >>

Да ладно, уже нашли решение.

Тут засада в области в которой определены коэффициенты w1, w2 и w3. Поскольку при выводе функционала мы себя ни как не ограничивали относительно их величин, то логично (наверное) положить один из них тождественно равным 1 (это который w3), а два других связать как у Булашёва. Тогда получим однопараметрическое выражение для фильтра:

Вот. Совсем простенько и со вкусом! Это есть хорошо. Теперь точно можно кодить.

P.S. Вобще, хорошо бы, что бы господа знающие ЦОС и основы фильтростроения, помогли бы нам определиться с областью определения этих коэффициентов (всех трёх). Насколько я помню, тут нужно найти характерестическое уравнение и удовлетворить тому, что бы его корни находились внутри единичной окружности на комплексной плоскости. Это позволит работать с устойчивым фильтром и тонко подстраивать все три его ручки. Но пока обойдёмся его простой реализацией.

Если я не ошибаюсь (доберусь до дома проверю) вы получили известный из калмановской фильтрации альфа-бетта фильтр

 
Vinin >>:

Какая-то она не гладкая

Это с разными коэффициентами

Хотя чем меньше коэффициент, тем более гладкая машка. Все равно интересно.

О, великолепно!

Не важно, что не совсем гладкая, главное, что вобще получилось и это то, что при торговле на экстремумах должно дать максимальную скорость роста профита (со всеми оговорками озвученными выше). Vinin, а выдай-ка на-гора и МТС-ку для тестинга МАшки.

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


Prival >>:

Если я не ошибаюсь (доберусь до дома проверю) вы получили известный из калмановской фильтрации альфа-бетта фильтр


Так, альфа или бетта,-)

forte928 >>:

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

Он перерисовывает. Да?
Причина обращения: