Блог им. IgorK_23a
Развитие вот этой идеи smart-lab.ru/blog/1187196.php .
Чтобы предсказать оптимальные доли акций и облигаций в портфеле, можно построить такую модель.
XBANK — банковский
XUTEK — технологический
XGMYO — недвижимость
XUHIZ — услуги
можно и другие, но лучше не перегружать модель
www.borsaistanbul.com/en/index/1/8/sector
По капитализации:
BIST30 — large cap
BIST100-30 — middle cap
www.borsaistanbul.com/en/index/1/1/benchmark
Индексы гос. облигаций:
TKISA — короткие
TORTA — средние
TUZUN — длинные
www.borsaistanbul.com/en/index/2/1/government-bond
Для начала построю самую простую линейную модель, и наброшу сверху softmax функцию, чтобы перевести результат в веса в портфеле.


Wi — коэффициенты модели, bi — вектор смещений (их надо найти)
x — макроиндикаторы (они известны)
Найду Wi и bi, оптимизируя по показателю Шарпа (или Шарпа-вниз, то есть Сортино) на каком-то достаточно большом (10-15 лет) временном интервале, каким-нибудь эффективным методом оптимизации.
В итоге я получу способ предсказания весов в портфеле для акций (по секторам и капитализации) и облигаций (по сроку погашения), в зависимости от текущих макроэкономических показателей.
Линейную модель можно заменить на нелинейную, например простую нейронку; но для начала обязательно нужно попробовать линейную — коэффициенты линейной модели имеют непосредственную экономическую интерпретацию; и попробовать использовать как можно меньше параметров.
Это не выглядит сложно, попробую реализовать. Единственный затык, не пойму как скачивать данные по индексам облигаций отсюда www.borsaistanbul.com/en/index/2/1/government-bond. Вроде бы для этого есть отдельный платный портал, но душит жаба, пожалуй можно напрямую выдрать из графика.
Что думаете? Будет ли от этого вообще какой-то практический результат? Не ожидаю чего-то сверхъестественного, буду доволен, если предсказания будут хоть сколько-то обходить фиксированный портфель (например 50-50 акции-облигации).
ЧатГПТ дал такие советы.
1) В модели сейчас много параметров (входы*выходы + выходы = 6*7 + 7 = 49), поэтому есть риск оверфиттинга. Чтобы его избежать, можно
a) Ввести регуляризацию по весам, например loss-функцию выбрать как (L2 Ridge regularization)
lambda для начала выбрать небольшим, между 10^(-4) и 10^(-2)
b) Уменьшить количество выходов. Взять для начала два индекса: BIST100 (индекс биржи) и TDTUM (индекс всех облигаций), тогда получится два выхода и одна степень свободы (поскольку веса должны в сумме дать один), то есть 6*1 + 1 = 7 параметров. Ответ будет решать классическую задачу инвестиционного портфеля: распределение между акциями и облигациями.
На втором этапе, разбить доли между секторами (для акций) и длительностями (для облигаций) можно например с помощью простого принципа моментума: распределить согласно доходности за последние три месяца.
Это имеет смысл, но у меня есть опасение, что облигации с разными maturity ведут себя слишком по-разному, чтобы склеивать их в одну кучу. Можно оставить хотя бы кратко- и долгосрочные. Стоит попробовать и так, и так.
2) Ввести лаги для входов.
Не уверен насчет этого совета.
Сегодня уже скачал некоторые данные, скоро должен получить результат.