Интересная математическая задачка (касается трейдинга) - страница 2

 
Integer:
Лучше так - посчитать корреляцию для каждой пары символов (380 штук), отсортировать, потом начиная с наименьшей составлять список рабочих символов, пока их не станет 6.
Внутрь такой шестерки попадут попадут и не проверенные пары. ...

С уважением - С.Д.
 

Еще раз, Sart: берем 20 пар - А[1], А[2], ... А[20] (массив). Организуем двойной цикл, вычисляя корреляции между парами вида А[i] и А[j] при i<j. Всего получится 190 к-тов. Дальше эти 190 сортируем по возрастанию, но так, чтобы не забыть, каким парам пар они соответствуют. Получился массив к-тов: r[1], r[2], ... r[190].

Дальше - такая процедура: берем r[1]. Это, скажем, к-т корреляции между парами А и Б. Дальше делаем (случайный) выбор, по какой паре движемся дальше - по А или Б. Скажем, А. Ищем ближайший к-т, в котором есть пара А. Нашли. Вышло, скажем, АС. ОК. У нас теперь цепочка БА-АС. Теперь пара-связка - С. Ищем ближайший к-т. Вышло СВ. Теперь у нас тройка БА-АС-СВ. И так далее, пока кольцо не замкнется. Ну сюда надо добавить элемент случайности, чтобы получалось что-то похожее на генетический алгоритм.

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

 
Mathemat:

Еще раз, Sart: берем 20 пар - А[1], А[2], ... А[20] (массив). Организуем двойной цикл, вычисляя корреляции между парами вида А[i] и А[j] при i<j. Всего получится 190 к-тов. Дальше эти 190 сортируем по возрастанию, но так, чтобы не забыть, каким парам пар они соответствуют. Получился массив к-тов: r[1], r[2], ... r[190].

Дальше - такая процедура: берем r[1]. Это, скажем, к-т корреляции между парами А и Б. Дальше делаем (случайный) выбор, по какой паре движемся дальше - по А или Б. Скажем, А. Ищем ближайший к-т, в котором есть пара А. Нашли. Вышло, скажем, АС. ОК. У нас теперь цепочка БА-АС. Теперь пара-связка - С. Ищем ближайший к-т. Вышло СВ. Теперь у нас тройка БА-АС-СВ. И так далее, пока кольцо не замкнется. Ну сюда надо добавить элемент случайности, чтобы получалось что-то похожее на генетический алгоритм.

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

Что-то похожее. Спасибо. Попробую утрясти...

С уважением - С.Д.
 
Все намного хуже, Sart. В кольце АБ-БС-СЫ-ЫУ-УД-ДА каждая пара пар может быть слабо коррелированной, но, скажем, пары Ы и Б могут быть сильно коррелированными. Хреново это как-то получается. Цикл усложняется на порядок...
 
Mathemat:
Все намного хуже, Sart. В кольце АБ-БС-СЫ-ЫУ-УД-ДА каждая пара пар может быть слабо коррелированной, но, скажем, пары Ы и Б могут быть сильно коррелированными. Хреново это как-то получается. Цикл усложняется на порядок...
А вот, кажется, и сообразил. Гляньте:
1. Вычисляем кор. первого инструмента со всеми остальными.
2. Находим для него(первого инструмента) лучший из всех (мин.кор. ) второй инструмент.
3. Заносим в шестерку эти два инструмента.
Что мы теперь имеем: для первого инструмента, уж точно, лучшей компании, чем второй не найдешь.
теперь надо подобрать третий инструмент, такой, чтобы второй был доволен, а первый будет доволен уже потому, что второй доволен. ..
4. Пробегаем вторым инструментом по всему набору инструментов и по мин. кор. находим третий...
5. И т.д.

Гляньте - ничего не пропустил ??

С уважением - С.Д.
 

Та же проблема, Sart. Каждым следующим инструментом в шестерке придется удовлетворять все предыдущие, чтобы не было сильных попарных корреляций между теми, которые не объединены в пары...

Проблема в том, чтобы подобрать правильную целевую функцию. Целевая функция, скажем, для кольца АБ-БС-СЫ-ЫУ-УД-ДА должна интегрально включать в себя не только к-ты корреляции между А и Б, Б и С, С и Ы, Ы и У и т.п., но и между Ы и А, между С и А и т. п.

 
Sart:
Integer:
Лучше так - посчитать корреляцию для каждой пары символов (380 штук), отсортировать, потом начиная с наименьшей составлять список рабочих символов, пока их не станет 6.
Внутрь такой шестерки попадут попадут и не проверенные пары. ...

С уважением - С.Д.



Это я уже понял)

Тогда в шестерке считать сумму кореляций и мо меньшей сумме выбирать шестерку.

 
Mathemat:
Та же проблема, Sart. Каждым следующим инструментом в шестерке придется удовлетворять все предыдущие, чтобы не было сильных попарных корреляций между теми, которые не объединены в пары... Проблема в том, чтобы подобрать правильную целевую функцию.
Ну правильно, вот смотрите:

1.Пусть уже имеем в шестерке три таких таким образом выбранных инструмента.
Посмотрим, на их отношения меж собой.
Первый-Второй: нормально
Второй-Третий : нормально
Первый-Третий : да.....? мог бы быть и получше...

Вот я и говорю...запутался....

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

С уважением - С.Д.
 

Да, запутаться тут легко. ОК, имеем кольцо АБ-БС-СЫ-ЫУ-УД-ДА. Сколько в нем отдельных пар (а не пар пар)? Все равно 6. Это А, Б, С, Ы, У, Д. Они никак не связаны формально, их легко объединить в кольцо. Причем неважно, как сочетать в нем отдельные пары. А целевая функция - скажем, сумма квадратов попарных корреляций между этими 6 парами без повторов. Выходит сумма 15 слагаемых. Вот эту целевую и надо оптимизировать... Причем последовательный подход, с добавлением новых пар, тут вроде как не работает. Это интегральная функция, и ничего лучше, чем тупой перебор, я пока предложить не могу.

Короче, просто тупо перебираешь "це из 20 по 6" и не паришься. Вариантов всего полмиллиона. Вычисляешь заранее попарные корреляции между каждыми парами пар и - вперед. Целевая функция - 15 слагаемых! Весь тупой перебор, не считая вычисления попарных корреляций, вряд ли займет больше нескольких минут...

 
Mathemat:
Да, запутаться тут легко. ОК, имеем кольцо АБ-БС-СЫ-ЫУ-УД-ДА. Сколько в нем отдельных пар (а не пар пар)? Все равно 6. Это А, Б, С, Ы, У, Д. Они никак не связаны формально, их легко объединить в кольцо. Причем неважно, как сочетать в нем отдельные пары. А целевая функция - скажем, сумма квадратов попарных корреляций между этими 6 парами без повторов. Выходит сумма 15 слагаемых. Вот эту целевую и надо оптимизировать... Причем последовательный подход, с добавлением новых пар, тут вроде как не работает. Это интегральная функция, и ничего лучше, чем тупой перебор, я пока предложить не могу.
А вроде просто стоит вопрос: какая из всех возможных шестерок лучше ...

Да, точно, нужна интегральная характеристика "качества корреляции" в шестерке...А потом просто сравнил по всем шестеркам и выбрал лучшую...

А может, чтобы не терять времени, спросить у Роша. У Вас с ним вроде неплохие отношения. Вы понимаете, я застопорился на этом, и не туда, не сюда....

С уважением - С.Д.
Причина обращения: