#r #optimization #r-portfolioanalytics
#r #оптимизация #r-portfolioanalytics
Вопрос:
Я попробовал несколько пакетов в R, и я действительно потерял, какой из них я должен использовать. Мне просто нужна помощь в общем направлении, и я сам могу найти точный код.
Я пытаюсь оптимизировать портфель в R. Мне нужно вычислить вектор весов, где каждый вес в векторе представляет процент от этого запаса.
Учитывая веса, я вычисляю общую доходность, дисперсию и коэффициент Шарпа (функцию доходности и дисперсии).
Могут быть ограничения, например, общие веса должны быть равны 1 (100%) и могут быть некоторые другие в зависимости от конкретного случая.
Я пытаюсь сделать свой код гибким, чтобы я мог оптимизировать его для разных целей (по одному за раз). Например, я мог бы хотеть минимальную дисперсию в одном моделировании или максимальную отдачу в другом и даже максимум. соотношение Шарпа в другом.
Это довольно просто в Excel с пакетом solver. Как только я введу формулы, какую бы ячейку я ни выбрал для целевой функции, она будет вычислять веса на основе этого, а затем вычислять другие параметры на основе этих весов. (Например, если я оптимизирую на основе минимальной дисперсии, то он вычисляет веса для минимальной дисперсии, а затем вычисляет возврат и шарп на основе этих весов).
Мне интересно, как это сделать в R? Я запутался в чтении документации нескольких пакетов или функций R (Lpsolve, Optim, constrOptim, portfoiloAnalytics и т. Д.), Но не могу найти отправную точку. Мои конкретные вопросы
- Какой пакет R будет подходящим для такого анализа?
- Нужно ли мне определять отдельные функции для каждой возможной цели, такие как дисперсия, возврат и шарп, и оптимизировать эти функции? Это немного сложно, потому что шарп зависит от дисперсии и доходности. Итак, если я хочу оптимизировать функции Шарпа, нужно ли мне вкладывать их в функции отклонения и возврата?
Мне просто нужно несколько идей о том, как начать, и я могу попробовать. Если я хотя бы получу правильный пакет и правильный пример для использования, это было бы здорово. Я много искал в Интернете, но я действительно потерялся.
Комментарии:
1. Я считаю, что это можно сделать с помощью пакета portfolioanalytics . Для максимального коэффициента Шарпа см., Например: rdrr.io/cran/PortfolioAnalytics/src/demo/demo_max_Sharpe.R
2. Существует представление задачи для финансов в cran.r-project.org/web/views/Finance.html . В нем перечислены несколько пакетов, связанных с выбором портфолио.