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

 
Кстати, первую часть задачи, самую сложную в вычислительном плане, т.е. вычисление всех 190 попарных корреляций, гораздо проще сделать в MS XL.
 
Mathemat:
Кстати, первую часть задачи, самую сложную в вычислительном плане, т.е. вычисление попарных корреляций, гораздо проще сделать в MS XL.
Да нет, у меня есть уже болванка на базе статьи - "Основы создания хеджирующего эксперта", которая спокойно вычисляет среди всего множества возможных пар

инструментов два инструмента с максимальной/минимальной корреляцией за последнюю неделю...

С уважением - С.Д.
 
Сколько свего шестерок можно создать из 20 инструментов? 20*19*18*17*16*15

Из них уникальных будет в 6! раз меньше, то есть (20*19*18*17*16*15)/(1*2*3*4*5*6)=20!/14!/6!=38760. Если на расчет корреляции уходит одна десятая секунды, то потребуется 65 минут, если одна сотая, то 7 минут.
 
Да, Rosh, я ошибся с рихметикой... Тогда все еще лучше, всего около 40 тысяч вариантов тупым перебором. Но в каждом будет вычисляться только простенькая целевая функция, сумма квадратов уже вычисленных коэффициентов корреляции. За 10 сек от силы вычислит. А вот коэффициентов попарной корреляции всего 190, вот тут дольше будет. .. Sart, твоя главная проблема - данные по 20 парам, синхронизированные по барам.
 
Интересно, какую корреляцию вы собираетесь считать? Если линейную, то, ИМХО, это вообще бессмыссленно, т.к. валюты на сколь-нибудь макроскопическом промежутке времени линейно не ходят. Когда, вдохновленный идеями Семен Семеныча о "кластерных индикаторах", я попробовал сосчитать коэффициент корреляции формы массивов цен (что, на мой взгляд, несколько ближе к реальности, учитывая, что XXXYYY = 1/YYYXXX) на 28 валютных парах, нормированных на [0...1], то увидел, что он практически ни для какой пары нигде меньше 0.75. ..0.8 не делается, после чего отбросил эту идею как завиральную. Даже где-то на другом компе длл валяется, если только не изничтожил за ненужностью.
 
Ну Sart вроде как собрался за последнюю неделю считать. Но в общем и целом аналогичные исследования я тоже проводил, и, как назло, обычно все корреляции были в самом мерзком районе - порядка 0.7 - 0.8. То есть числа немаленькие, но и не слишком близкие к 1, чтобы из этого извлечь какую-то пользу... Рынкет хитрее.
 
В том-то и дело, что рынкет гораздо хитрее, чем мы все, вместе взятые... Вот, нашел длл с исходниками для 10 пар, для 28 не нашел, но помню, что была та же хрень. Сочинял в спешке, только проверить идею, поэтому на красоты программирования и канделябры с рюшечками особо не отвлекался. Описание процедур см. в комментариях в исходнике, идеи -- на форуме Альпари, впоследствии на Ониксе. Релиз свежетранслированный.
З.Ы. при редактировании. В окне Market Watch и на графиках должны присутствовать все 10 рабочих пар на одном ТФ, иначе терминал вылетит с крэшем.
Файлы: