можно узнать неожиданное, а можно убедиться интуитивном.
На текущий момент в алгопортфеле участвуют 14 фьючерсов, в каждом в среднем по пять алгоритмов (в лонг и в шорт).
Внутри каждого фьючерса эти алгоритмы дают сводную эквити, из которых строится эквити алгопортфеля, вид которой
может ощутимо зависеть от выбранных весов для этих фьючерсов. Веса алгоритмов внутри фьючерсов пока принимаются равными.
Ну и всё это торгуется уже третий год в стиле тупанов. Высокая средняя сделка и долгое время удержания позиции в каждом алгоритме.
Диверсификация это сила, но с весами на уровне фьючерсов не всё понятно (или почти всё непонятно). Про веса алгоритмов внутри фьючерса пока даже не думаю задумываться.
Поскольку по максимально доступной истории всё посчитано, легко посчитать корреляции фьючерсов (здесь и далее подразумевается сумма алгоритмов внутри каждого фьючерса, а не само удержание фьючерса) друг с другом.
Топ-10 по нескоррелированности:
[1,] «sf-pd» "-0.08"
[2,] «na-pd» "-0.08"
[3,] «gz-pd» "-0.07"
[4,] «ng-na» "-0.06"
[5,] «ng-pd» "-0.06"
[6,] «ng-sf» "-0.04"
[7,] «br-sf» "-0.03"
[8,] «gd-pd» "-0.03"
[9,] «sv-na» "-0.03"
[10,] «br-ng» "-0.02"
Топ-10 по скоррелированности:
[82,] «ri-lk» «0.34»
[83,] «sr-gz» «0.36»
[84,] «gz-mx» «0.39»
[85,] «ri-si» «0.41»
[86,] «ri-gz» «0.44»
[87,] «sr-mx» «0.52»
[88,] «mx-lk» «0.54»
[89,] «ri-mx» «0.6»
[90,] «ri-sr» «0.64»
[91,] «sf-na» «0.75»
Чтобы легче с этим работать, посчитаем корреляционный вес каждого фюьчерса как среднее значение его корреляций с другими фьючерсами:
[1,] «ng» "-0.01"
[2,] «pd» «0.03»
[3,] «sv» «0.03»
[4,] «gd» «0.06»
[5,] «pt» «0.07»
[6,] «br» «0.09»
[7,] «si» «0.1»
[8,] «sf» «0.1»
[9,] «na» «0.1»
[10,] «gz» «0.12»
[11,] «lk» «0.14»
[12,] «sr» «0.17»
[13,] «mx» «0.19»
[14,] «ri» «0.23»
«1» здесь означало бы, что мы имеем фьючерс, который имеет единичную или 100%-ю корреляцию со всеми остальными и такой торговать точно не стоило бы.
Выкидываем RI и всё пересчитываем:
[1,] «ng» "-0.01"
[2,] «pd» «0.02»
[3,] «sv» «0.03»
[4,] «gd» «0.05»
[5,] «si» «0.07»
[6,] «br» «0.07»
[7,] «pt» «0.07»
[8,] «gz» «0.09»
[9,] «sf» «0.1»
[10,] «na» «0.1»
[11,] «lk» «0.12»
[12,] «sr» «0.13»
[13,] «mx» «0.16»
Так тоже не годится. Оставляем из русских акций только MX, а из американской пары убираем NA:
[1,] «ng» "-0.01"
[2,] «sf» «0.03»
[3,] «sv» «0.04»
[4,] «gd» «0.05»
[5,] «pd» «0.05»
[6,] «mx» «0.05»
[7,] «br» «0.07»
[8,] «si» «0.08»
[9,] «pt» «0.08»
Получаем рабочий набор факторов или классов торговли, между которыми надо реально распределять веса.
Первый вывод очевиден, что MX, RI, LK, SR, GZ должны между собой делить вес MX из последней таблицы.
Аналогично NA и SF делят американский вес, обозначенный SF.
Но вот как делить веса между этими девятью базовыми фьючерсами — вопрос второй и второй вывод, который нелегко сделать.
Поправочные коэффициенты к этим весам потом сделать легко. Например, снизить вес газа за счет короткой истории. Например, снизить вес Америки из-за наличия контртрендовых компонент. И тд.
Но как распределить веса иначе, чем поровну… вопрос пока остался открытым.
у них есть прогон на истории и это как правило всЕ)
А. Г.,
1. всё относительно.
2. после 24.02.22 уместно пересмотреть подход к ликвидности при торговле. Что толку от мегаликвидности сбера, если мы не имеем ликвидности в пределах 20% от закрытия пред дня, а ликвидность появляется чуть ли не в -50%?
3. Для крайне редких сделок и NA вполне сгодится и палладий. NA я уже давно торгую и по замерам проскальзывания он вполне годится для медленных алгоритмов.
@Sergey Pavlov , слушай, а почему у ри и си положительная корреляция? Нет ошибки?
— если ничего не знаем: наивная дивер-ция 1/n
— если более-менее надежно можем оценить риск (и ничего кроме): risk-parity
— если можем кроме риска еще как-то оценить ожидаемую доходность и кросс-корреляции, то Марковиц плюс-минус