Построение коэффициентов

 

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

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

№ П.П.Итого:ABCDEF
1 200 50 30 40 20 10 50
2 200 50 50 40 30 20 10
3 200 30 40 20 50 10 50
4 200 10 50 50 30 40 20
5 200 20 50 40 50 30 10
6 200 30 20 50 40 10 50
X Итого: 190 240 240 220 120 190

В данной таблицы лучшим будет второй вариант.‌

 

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

Правильным ли будет такое уравнение в грубой форме (A*50+B*50+C*50+D*50+E*50+F*50)*0=1 ? При этом A-F должны иметь между собой зависимость для нивелирования вложенного веса.

 

k=1/(1+(A+B*50^1+C*50^2....)*x);

x‌ - подобрать по вкусу

 

раз уж речь зашла о сравнениях и коэфф, напомните метод взвешивания попарных экспертных оценок.
На примере таблицы из топика: делается квадратная таблица A-F/A-F и отдаётся человеку-эксперту, который в ячейках ставит баллы -5..5 указывающие значимость/приоритет/влияние одного параметра перед другим, причём эксперт может не полностью заполнять таблицу и допускать логические нестыковки.

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

 
Dmitry Fedoseev:

k=1/(1+(A+B*50^1+C*50^2....)*x);

x‌ - подобрать по вкусу

 Спасибо, Дмитрий!

Получилась такая таблица

№ П.П.Итого:ABCDEFКДельта
1 50 50 0 0 0 0 01,00000 0,00000
2 50 0 50 0 0 0 0 0,99975 0,00024
3 50 0 0 50 0 0 0 0,98765 0,01210
4 50 0 0 0 50 0 0 0,61538 0,37227
5 50 0 0 0 0 50 0 0,03101 0,58438
6 50 0 0 0 0 0 50 0,00064 0,03037
X Итого: 50 50 50 50 50 50    

Формула такая =1/(1+(D20+E20*СТЕПЕНЬ(50;1)+F20*СТЕПЕНЬ(50;2)+G20*СТЕПЕНЬ(50;3)+H20*СТЕПЕНЬ(50;4)+I20*СТЕПЕНЬ(50;5))*0,0000001)

Как видите, при А=50 получили 1, что не хорошо. Ещё минус в том, что очень неплавная дельта получилось - можно на неё как то влиять?

На таблице ниже дельты изменились, при равномерном изменение значений - разве это нормально?

№ П.П.Итого:ABCDEFКДельта
1 1 1 0 0 0 0 0 1,00000 0,00000
2 1 0 1 0 0 0 0 1,00000 0,00000
3 1 0 0 1 0 0 0 0,99975 0,00024
4 1 0 0 0 1 0 0 0,98765 0,01210
5 1 0 0 0 0 1 0 0,61538 0,37227
6 1 0 0 0 0 0 1 0,03101 0,58438
X Итого: 1 1 1 1 1 1    

 
Maxim Kuznetsov:

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

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

Maxim Kuznetsov:

На примере таблицы из топика: делается квадратная таблица A-F/A-F и отдаётся человеку-эксперту, который в ячейках ставит баллы -5..5 указывающие значимость/приоритет/влияние одного параметра перед другим, причём эксперт может не полностью заполнять таблицу и допускать логические нестыковки.

Из воспоминаний, что итоговые коэфф. относительно просто считались, некоторая обработка каждой матрицы и дальше сложение/перемножение матриц.‌‌

 Так, осатлось найти такого эксперта... :) Как то можно этот метод автоматизировать? Тут я уже затронул подобную проблему https://www.mql5.com/ru/forum/171677

Собственно, я бьюсь над решением задачи поставленной сдесь https://www.mql5.com/ru/forum/168963 - уже неделю кручу разные показатели результатов тестированию - пытаюсь выработать и обосновать алгоритм нахождения оптимальных настроек из сета.‌

 

По идеи должна быть такая зависимость для плавности

A=B*x

B=C*x

при этом x>1 - как это создать?‌

 
-Aleks-:

Собственно, я бьюсь над решением задачи поставленной сдесь https://www.mql5.com/ru/forum/168963 - уже неделю кручу разные показатели результатов тестированию - пытаюсь выработать и обосновать алгоритм нахождения оптимальных настроек из сета.‌

А смысл её так решать? Добавление к открытой позиции (и усреднение в том числе) имеет смысл только тогда, когда сигнал по которому осуществляется дополнительный вход имеет потенциал больший, чем предыдущие. Т.е. каждый этот вход нужно оценить отдельно и каждый должен обладать статистическим преимуществом (положительное МО, ПФ и т.д.).

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

 
Avals:

А смысл её так решать? Добавление к открытой позиции (и усреднение в том числе) имеет смысл только тогда, когда сигнал по которому осуществляется дополнительный вход имеет потенциал больший, чем предыдущие. Т.е. каждый этот вход нужно оценить отдельно и каждый должен обладать статистическим преимуществом (положительное МО, ПФ и т.д.).

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

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

Ну и, про ту глобальную задачу, лучше уж в той ветке писать - ‌а тут подумать над решением конкретной прикладной задачи - по возможности.

 
-Aleks-:

...

1. Как видите, при А=50 получили 1, что не хорошо.

2. Ещё минус в том, что очень неплавная дельта получилось - можно на неё как то влиять?

3. На таблице ниже дельты изменились, при равномерном изменение значений - разве это нормально?

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

1‌. Сами посмотрите на формулу и увидьте, что она не может в этом случае равняться 1. Или ошибка в формуле, или ошиьа в коде, или какое-то недопонимание и что-то не то с округлением. 

2‌. Хоть бы читали до конца то, что вам тут было написано. "x - подобрать по вкусу" 

3. Вы свой вчерашний день не помните? Кто писал про разный вес разных колонок?

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

 
Dmitry Fedoseev:

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

1‌. Сами посмотрите на формулу и увидьте, что она не может в этом случае равняться 1. Или ошибка в формуле, или ошиьа в коде, или какое-то недопонимание и что-то не то с округлением. 

2‌. Хоть бы читали до конца то, что вам тут было написано. "x - подобрать по вкусу" 

3. Вы свой вчерашний день не помните? Кто писал про разный вес разных колонок?

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

 

Странно, что в этом посте не объявили меня скудоумным - видимо все ещё впереди...

1. О, Вы, конечно, правы, - дело в коэффициенте - значение действительно разное в строках 1 и 2.

2. Конечно, я прочел, и воспользовался рецептурой, но оказался неприлично глуп - или не внимателен - от того и не верно оценил результат.

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

Дмитрий, я думал о такой функции, но через деление... ещё раз спасибо, что уделили внимание проблеме.‌

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