Автоматический расчет описательных статистик выборки на MQL5 - страница 5

 
Aleksey Vyazmikin #:

Странным образом, получаю хороший результат при прогнозе на 66 будущих периодов - точность - 0,67, но на 33 периода только 0,54. В обучении 116 периодов.

Столкнулись с циклами.

 
Aleksey Vyazmikin #:

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

Представьте задачу так - есть Т-образный перекресток, к которому подъезжают водители и они поворачивают то направо (1), то налево (0). Вот мы каждый день считаем в течении месяца среднее значение. Показания каждый день колеблются, но не существенно, есть факторы которые не известны, но они цикличные - допустим в пятницу больше поворачивают налево - это дорого из города, но не зимой, а в среду проходит товарный поезд через весь город прям на завод, поэтому люди едут в объезд и поворачивают направо. Причина для наблюдателя не понятна, но будет некая закономерность. И вдруг ремонт дороги, что пересекает дорога направо и весь месяц увеличивается поток машин налево. Ремонт дорог - дело редкое в регионах и длился процесс два месяца - после ремонта решили по плану трубы поменять, что шли как раз вдоль полотна или даже под ним. За весь период наблюдения поворот направо был осуществлен в 65%, а налево 35%, при этом в месяцы ремонта дороги - налево свернуло 10%, а направо 90%.

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

Сразу не написал в задаче, но надо найти отрицательную величину изменения, что это - есть эталон и мы определяем дельту, так вот эта дельта не должна стать отрицательной на новых данных. К примеру единиц 36% в выборке, а эталон 30%, значит положительное значение дельты 6%, если значение дельты будет ниже нуля, то это негативная ситуация, которую надо идентифицировать.

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

Если что не понятно с примером - спрашиваете - к сожалению, я часто недостаточно детально объясняю.

Приветствую. Какая цель всего этого ? Создания синтетики которая постоянно находится во флете ?

 
Ilya Filatov #:

Столкнулись с циклами.

Да, видимо какая то цикличность есть, но эти циклы больше 5 лет, если и есть - слишком большой горизонт.

 
Alexsey Minchenko #:

Приветствую. Какая цель всего этого ? Создания синтетики которая постоянно находится во флете ?

Здравствуйте.

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

Нет, это не создание синтетики, в смысле искусственных котировок.

Нужна какая то оценка случайности/вероятности повторения с той же частотой событий, что уже происходили на начальном временном интервале, на будущих интервалах. Размер интервалов пока так же не понятен - явно это не один условный интервал (в примере выше показатели формируются раз в месяц).

 
Aleksey Vyazmikin #:

Странным образом, получаю хороший результат при прогнозе на 66 будущих периодов - точность - 0,67, но на 33 периода только 0,54. В обучении 116 периодов.

хороший - это 1.0

 
Aleksey Vyazmikin #:

А отличный какой?

отличный - это когда уже деньги в кармане

 
Aleksey Vyazmikin #:

Только бы денег - скучно.

работать надо за деньги

скучно будет когда они уже есть, факт

 

Попробую реанимировать ветку - расскажу на примере трейдинга задачу!

Итак, у нас есть стратегия по скользящему среднему - входим в момент когда на прошлых барах произошло пересечение МА (сверху вниз или снизу вверх - пересечением считается наличие бара между пересечениями, который на касался МА) и на прошлом баре цена не касалась МА. Выше МА - покупка, а ниже - продажа. Это базовая стратегия, которая нам даёт сигнал (фиксирует событие). Закрытие при новом сигнале или достижения тейк профита - пусть он будет 200 пунктов.

Положительный сигнал обозначен пальцем вверх зеленого цвета - далее единица, а отрицательный сигнал с пальцем вниз - далее ноль. В совокупности два сигнала назовем нашей целевой (Target) - 1 положительный пример (TP) классификации, а 0 - отрицательный (FP).

В подвале графика расположился осциллятор RSI, который поделён на 3 диапазона, каждый диапазон имеет обозначение - Q_0, Q_1, Q_2 - это квантовые отрезки, которые были получены каким либо методом квантования.

Белые линии - разделители дней на графики, пусть будут тут периодами - временные отрезки, за которые мы считаем статистику событий (исход в процентах положительного и отрицательного сигнала).

Итак, мы видим, что в каждый момент появления сигнала индикатор RSI находится в границах одного из квантовых отрезков. Представим это в виде таблицы.

По сути произошла бинаризация показателей индикатора RSI - каждое значение диапазона индикатора в момент сигнала представлено записью в соответствующий номер квантового отрезка.

Общий показатель TP, который рассчитывается по формуле TP=TP/(TP+FP)*100.0, равен 57,14%.

Мы помним, что у нас есть ещё диапазоны, давайте представим данные в таком виде x=1/y=0:

Q_0=(x)+(x)+(n/a)+(y)=(2x;1y)

Q_1=(n/a)+(y)+(n/a)+(n/a)=(0x;1y)

Q_2=(n/a)+(y)+(x)+(x)=(2x;1y)

Далее представим, что у нас больше нет информации о квантовый отрезках Q_1 и Q_2  - осталась только информация о Q_0 и Target - вот исходя из этих данных нужно определить будет ли на следующем временном участке %TP>57,14+K, где K некий коэффициент, задаётся отдельно.

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

Q_0=(y)+(x;x;y;y)+(y)+(y)=(2x;5y)

Q_1=(x)+(x)+(x)+(y;x;x;y)=(5x;2y)

Q_2=(x;y;y)+(n/a)+(y;x;y)+(n/a)=(2x;4y)

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

Временной участок прогноза пока точно не определен, но я думаю, что по показателю в среднем на три интервала будет хорошо, в реальной задаче более 100 интервалов.

Далее я решил сделать свертку как бы по интервалам (или частям - могу и этот термин использовать).

Т.е. считаем TP за каждый интервал.

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

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


Теперь задача стала ли интересней и понятней?

 
Aleksey Vyazmikin #:

Попробую реанимировать ветку - расскажу на примере трейдинга задачу!

Итак, у нас есть стратегия по скользящему среднему - входим в момент когда на прошлых барах произошло пересечение МА (сверху вниз или снизу вверх - пересечением считается наличие бара между пересечениями, который на касался МА) и на прошлом баре цена не касалась МА. Выше МА - покупка, а ниже - продажа. Это базовая стратегия, которая нам даёт сигнал (фиксирует событие). Закрытие при новом сигнале или достижения тейк профита - пусть он будет 200 пунктов.

Положительный сигнал обозначен пальцем вверх зеленого цвета - далее единица, а отрицательный сигнал с пальцем вниз - далее ноль. В совокупности два сигнала назовем нашей целевой (Target) - 1 положительный пример (TP) классификации, а 0 - отрицательный (FP).

В подвале графика расположился осциллятор RSI, который поделён на 3 диапазона, каждый диапазон имеет обозначение - Q_0, Q_1, Q_2 - это квантовые отрезки, которые были получены каким либо методом квантования.

Белые линии - разделители дней на графики, пусть будут тут периодами - временные отрезки, за которые мы считаем статистику событий (исход в процентах положительного и отрицательного сигнала).

Итак, мы видим, что в каждый момент появления сигнала индикатор RSI находится в границах одного из квантовых отрезков. Представим это в виде таблицы.

По сути произошла бинаризация показателей индикатора RSI - каждое значение диапазона индикатора в момент сигнала представлено записью в соответствующий номер квантового отрезка.

Общий показатель TP, который рассчитывается по формуле TP=TP/(TP+FP)*100.0, равен 57,14%.

Мы помним, что у нас есть ещё диапазоны, давайте представим данные в таком виде x=1/y=0:

Q_0=(x)+(x)+(n/a)+(y)=(2x;1y)

Q_1=(n/a)+(y)+(n/a)+(n/a)=(0x;1y)

Q_2=(n/a)+(y)+(x)+(x)=(2x;1y)

Далее представим, что у нас больше нет информации о квантовый отрезках Q_1 и Q_2  - осталась только информация о Q_0 и Target - вот исходя из этих данных нужно определить будет ли на следующем временном участке %TP>57,14+K, где K некий коэффициент, задаётся отдельно.

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

Q_0=(y)+(x;x;y;y)+(y)+(y)=(2x;5y)

Q_1=(x)+(x)+(x)+(y;x;x;y)=(5x;2y)

Q_2=(x;y;y)+(n/a)+(y;x;y)+(n/a)=(2x;4y)

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

Временной участок прогноза пока точно не определен, но я думаю, что по показателю в среднем на три интервала будет хорошо, в реальной задаче более 100 интервалов.

Далее я решил сделать свертку как бы по интервалам (или частям - могу и этот термин использовать).

Т.е. считаем TP за каждый интервал.

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

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


Теперь задача стала ли интересней и понятней?

до квантований стоит посмотреть арифметику долгопериодной(например 200) SMA и (близкого к умолчаниям) RSI, что они совместно показывают

по ф-ле рассчёта, RSI показывает а-ля нормированную производную, (отношение движений вверх UP к вниз DN) "наклон" за последние 14 баров. 

опять-же по формулам, наклон SMA = разница цен на концах периода / период ; 

если рассматривать RSI совместно с равнопериодной ему MA - будет показывать "систематичность" роста/падения. MA~=sum(UP)-sum(DOWN), RSI~=sum(UP)/sum(DOWN)

пролонгировать к долгопериодной MA - надо будет рассматривать ещё и RSI на левой плече MA (200 баров в историю), потому-что те старые цены сильно влияют на текущее поведение MA; 

то есть будет RSI текущий, RSI 200 баров тому назад, MA 200 и разница цен сейчас и 200 назад. Как-бы сравниваются два "окна" в графике цены, а то что между ними считается константой.

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

дальше можно сводить в систему уравнений и прикидывать что происходит при ЦЕНА ПЕРЕСЕКАЕТ MA. Вот там уже можно что-то кластеризовать, обучать и т.п., потому что всё что ты знал ты уже изложил и теперь хочешь найти новое

но это если есть уверенность что два выбранных окна действительно что-то могут показать

 
Maxim Kuznetsov #:

до квантований стоит посмотреть арифметику долгопериодной(например 200) SMA и (близкого к умолчаниям) RSI, что они совместно показывают

по ф-ле рассчёта, RSI показывает а-ля нормированную производную, (отношение движений вверх UP к вниз DN) "наклон" за последние 14 баров. 

опять-же по формулам, наклон SMA = разница цен на концах периода / период ; 

если рассматривать RSI совместно с равнопериодной ему MA - будет показывать "систематичность" роста/падения. MA~=sum(UP)-sum(DOWN), RSI~=sum(UP)/sum(DOWN)

пролонгировать к долгопериодной MA - надо будет рассматривать ещё и RSI на левой плече MA (200 баров в историю), потому-что те старые цены сильно влияют на текущее поведение MA; 

то есть будет RSI текущий, RSI 200 баров тому назад, MA 200 и разница цен сейчас и 200 назад. Как-бы сравниваются два "окна" в графике цены, а то что между ними считается константой.

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

дальше можно сводить в систему уравнений и прикидывать что происходит при ЦЕНА ПЕРЕСЕКАЕТ MA. Вот там уже можно что-то кластеризовать, обучать и т.п., потому что всё что ты знал ты уже изложил и теперь хочешь найти новое

но это если есть уверенность что два выбранных окна действительно что-то могут показать

Спасибо за мнение!

Но, именно по этой причине не стал писать изначально подобный пример.В реальной задаче индикатор не обязательно индикатор, а сигнал не обязательно пересечение МА - это просто наглядный пример и решение нужно получить исходя из предоставленных данных. Мне не нужно 100% решение, но хотя бы с точностью 70% .

Причина обращения: