- •Содержание
- •Введение
- •Инвестиционная деятельность, как способ управления капиталом организации
- •Формирование портфеля инвестиционных проектов
- •Модели оптимизации портфеля инвестиционного проекта
- •Арбитражная модель Росса
- •Модель векторной авторегрессии
- •Трехфакторная модель Фама-Френч
- •Модель формирования портфеля проектов к. И м. Радулеску
- •Модель Буркова и Джавахадзе
- •Техническая часть
- •Задача 1
- •Задача 2
- •Задача3
- •Заключение
- •Список использованных источников
-
Техническая часть
Среда IBMILOGCPLEXотлично подходит для решения задачи оптимизации капитала организации с помощью портфельных инвестиций. Пакет IBMIlogCplex получил свое название в честь симплекс-метода, реализованного на языке программирования С, но по мере развития пакет включил в себя и другие языки программирования. Пакет можно использовать в связке с MicrosoftExcel и MATLAB. Отдельно приложение InteractiveCPLEXOptimizer может быть использовано для отладки и других задач.
В файле с расширением .mod , содержится программный код для реализации модели Росса:
{string}Investments= ...;
floatReturn[Investments] = ...;
floatCovariance[Investments][Investments] = ...;
floatWealth= ...;
floatRho= ...;// Неустойка (увеличивается rho от 0.001 до 1.0)
/****************************************************************************
* MODEL DECLARATIONS
/****************************************************************************/
rangefloatFloatRange=0.0..Wealth;
dvarfloatAllocation[Investments]inFloatRange;//Инвестиционныйуровень
/******************************************************************************
* MODEL
******************************************************************************/
dexprfloatObjective=
(sum(iinInvestments)Return[i]*Allocation[i])
- (Rho/2)*(sum(i,jinInvestments)Covariance[i][j]*Allocation[i]*Allocation[j]);
maximizeObjective;
subjectto{
// Инвестиционнаясуммаотчислений
allocate: (sum(iinInvestments) (Allocation[i])) ==Wealth;
}
floatTotalReturn=sum(iinInvestments)Return[i]*Allocation[i];
floatTotalVariance=sum(i,jinInvestments)Covariance[i][j]*Allocation[i]*Allocation[j];
executeDISPLAY{
writeln("Total Expected Return: ",TotalReturn);
writeln("Total Variance : ",TotalVariance);
-
Задача 1
Менеджер должен определить состав инвестиционного портфеляорганизации. Выделенный на инвестиции капитал равен 100 тыс. руб.В таблице ниже представлены активы, которые кажутся привлекательными для инвестиционной деятельности, с ожидаемыми доходностями и среднеквадратичными отклонениями:
Таблица 1 – список инвестиционных возможностей
Актив |
Ожидаемая доходность, % |
Среднеквадратическое отклонение, % |
Актив №1 |
0,15 |
0,11 |
Актив №2 |
0,13 |
0,09 |
Актив №3 |
0,24 |
0,17 |
Актив №4 |
0,07 |
0,22 |
Для решения данной задачи построим матрицу ковариаций:
0,0121 |
0,0099 |
0,0187 |
0,0242 |
0,0099 |
0,0081 |
0,0153 |
0,0198 |
0,0187 |
0,0153 |
0,0289 |
0,0374 |
0,0242 |
0,0198 |
0,0374 |
0,0484 |
Заносим эти данные в файл с расширением .dat.
В итоге был сформирован следующий код программы:
// Списокинвестиционныхвозможностей
Investments = { Invest0, Invest1, Invest2, Invest3 };
// Инвестиционные данные
Return = [ 0.15, 0.13, 0.24, 0.07 ]; // Ожидаемая прибыль
Covariance = [
[ 0.0121, 0.0099, 0.0187, 0.0242 ],
[ 0.0099, 0.0081, 0.0153, 0.0198 ],
[ 0.0187, 0.0153, 0.0289, 0.0374 ],
[ 0.0242, 0.0198, 0.0374, 0.0484 ],
]; // Матрица ковариаций
Wealth = 100; // Начальный капитал
Rho = 0.1; // Неустойка (увеличивается от 0.001 до 1.0).
Полученное решение:
Интерпретация:
Менеджеру следует инвестировать капитал в два актива под номерами 2 и 3 в соотношении 40, 6% и 59,4% соответственно. При таком раскладе доход от инвестиций составит 10 тыс. руб.