Повышение эффективности управления суверенными фондами в Российской Федерации (1142449), страница 36
Текст из файла (страница 36)
'islocscale',{});j = 1;% custom distribution #1s(j).name = 'Generalized normal'; % name for displays(j).pnames = {'mu' 'sigma' 'tau'};% names of parameterss(j).pdescription = {'location' 'scale' 'shape'};% descriptions of parameterss(j).cdffunc = @gndcdf;% function to compute cdf...185s(j).pdffunc = @gndpdf;% function to compute densitys(j).invfunc = @gndinv;% function to compute inverse cdfs(j).fitfunc = @gndfit;% function to do fits(j).statfunc = @gndstat;% function to compute mean and vars(j).islocscale = false;% location/scale distribution?function paramEsts = gndfit(data,~,~,~,~)t=k2t(kurtosis(data)-3);mu = mean(data);sigma = std(data);tau = t;paramEsts = mle(data,'pdf',@gndpdf,'cdf',@gndcdf,'start',[mu,sigma,tau]);Программный код автора, позволяющий моделировать эффективную границу портфелейсуверенных фондов (с комментариями)П р и м е ч а н и е - далее все операции проводятся в командной строке ППП «MATLAB».
Выполнять данныеоперации следует поблочно, не целиком.%Загрузите котировки и переименуйте, так как указано ниже.%USG1TRIndex - котировки индекса государственных облигаций в USD%EUG1TRIndex - котировки индекса государственных облигаций в EUR%UKG1TRIndex - котировки индекса государственных облигаций в GBP%MSCIindex - котировки фондового индекса The MSCI World index%% Рассчитываем логдоходности индексов.ReturnsUSD = price2ret (USG1TRIndex);ReturnsEUR = price2ret (EUG1TRIndex);ReturnsGBP = price2ret (UKG1TRIndex);ReturnsMSCI = price2ret(MSCIindex);%%Дополнительно, целесообразнее создать отдельную матрицу "Price" с индексами.Рассчитываем параметры вероятности однодневных логдоходностей индексов.gndfit(ReturnsUSD);gndfit(ReturnsEUR);gndfit(ReturnsGBP;gndfit(ReturnsMSCI);% Эксцесс186kurtosis(ReturnsUSD);kurtosis(ReturnsEUR);kurtosis(ReturnsGBP);kurtosis(ReturnsMSCI);%%Рассчитываем параметры, характеризующие инвестиции в активы: доходность,волатильность (среднеквадратическое отклонение), VaR(99%), Expected shortfall.%VaR(99%):%USDexp(gndinv(0.01,0.0001,0.0010,0.9389))-1;%EURexp(gndinv(0.01,0.0001,0.0008,1.0090))-1;%GBPexp(gndinv(0.01,0.0002,0.0008,1.1404))-1;%MSCIexp(gndinv(0.01,0.0006, 0.0103, 0.9883))-1;%Expected Shortfall (CVaR):%USDexp(gndCVaR(0.01,0.0001,0.0010,0.9389))-1;%EURexp(gndCVaR(0.01,0.0001,0.0008,1.0090))-1;%GBPexp(gndCVaR(0.01,0.0002,0.0008,1.1404))-1;%MSCIexp(gndCVaR(0.01,0.0006, 0.0103, 0.9883))-1;%Доходность за день и за год:%USDexp(0.0001)-1;exp(0.0001*365)-1;%EUR187exp(0.0001)-1;exp(0.0001*365)-1;%GBPexp(0.0002)-1;exp(0.0002*365)-1;%MSCIexp(0.0006)-1;exp(0.0006*365)-1;%Волатильность за день и за год:%USDexp(0.0010)-1;exp(0.0010*sqrt(365))-1;%EURexp(0.0008)-1;exp(0.0008*sqrt(365))-1;%GBPexp(0.0008)-1;exp(0.0008*sqrt(365))-1;%MSCIexp(0.0103)-1;exp(0.0103*sqrt(365))-1;%Максимальная просадка:[Dv,Di]=maxdrawdown(USG1TRIndex)[Dv,Di]=maxdrawdown(EUG1TRIndex)[Dv,Di]=maxdrawdown(UKG1TRIndex)[Dv,Di]=maxdrawdown(MSCIindex)%%Рассчитываем доходность и риск портфеля облигаций согласно нормативнойструктуре портфеля.
Рассчитываем массив логдоходностей.Returns = price2ret (Price);188%Указываем доходности активов.m = [0.0372; 0.0372; 0.0757];%Указываем риски активов.s = [0.0193; 0.0154; 0.0154];%Рассчитываем ковариационную матрицу через корреляцию и стандартное отклонение.C = corr2cov(s, corr(Returns));%Указываем фактические удельные веса активов.pwgt0 = [0.45; 0.45; 0.1]%Указываем переменные в класс "Портфель".p = Portfolio('AssetMean', m, 'AssetCovar', C, 'InitPort', pwgt0)%Задаем ограничения портфеля по умолчанию.p = p.setDefaultConstraints;% Рассчитываем эффективную границу портфелей, показываем доходности и риски наданной границе, а также доходность и риск по начальному портфелю.pwgt = p.estimateFrontier;[prsk0, pret0] = p.estimatePortMoments(pwgt0)[prsk, pret] = p.estimatePortMoments(pwgt)% Рисуем эффективную границу портфелей.p.plotFrontier(20)%Показываем веса портфелей, расположенных на эффективной границе.pwgt()%% Строим границу эффективных портфелей, состоящих из государственныхоблигаций, и генерируем 1000 случайных портфелей в дисперсионно-ковариационнойгранице.m = [0.0372 0.0372 0.0757];portopt(m, C, 20)rand('state', 0)Weights = rand(1000, 3);Total = sum(Weights, 2);% Add the weightsTotal = Total(:,ones(3,1)); % Make size-compatible matrixWeights = Weights./Total;% Normalize so sum = 1[PortRisk, PortReturn] = portstats(m, C, ...189Weights);hold onplot (PortRisk, PortReturn, '.r')title('Mean-Variance Efficient Frontier and Random Portfolios')hold off%% Строим границу эффективных портфелей, состоящих из государственныхоблигаций и акций.
Перед началом данного блока лучше создать отдельный массив"Price" с ценами 4 активов, включая акции.Returns = price2ret (Price);%Указываем доходности активов.m = [0.0372; 0.0372; 0.0757; 0.2448];%Указываем риски активов.s = [0.0193; 0.0154; 0.0154; 0.2175];%Рассчитываем ковариационную матрицу через корреляцию и стандартное отклонение.C = corr2cov(s, corr(Returns));%Указываем переменные в класс "Портфель".p = Portfolio('AssetMean', m, 'AssetCovar', C)%Задаем ограничения портфеля по умолчанию.p = p.setDefaultConstraints;% Рассчитываем эффективную границу портфелей, показываем доходности и риски наданной границе, а также доходность и риск по начальному портфелю.pwgt = p.estimateFrontier;[prsk, pret] = p.estimatePortMoments(pwgt)% Рисуем эффективную границу портфелей.p.plotFrontier(100)%Показываем веса портфелей, расположенных на эффективной границе.pwgt()190ПРИЛОЖЕНИЕ К(обязательное)Распределение вероятностей доходностей индексов активов в портфелероссийских суверенных фондовИсточник: составлено автором.Рисунок Л.1 - Распределение вероятностей однодневных доходностей индексадолговых обязательств иностранных государств, номинированных в евроИсточник: составлено автором.Рисунок Л.2 - Распределение вероятностей однодневных доходностей индексадолговых обязательств иностранных государств, номинированных в фунтах стерлингов191Источник: составлено автором.Рисунок Л.3 - Распределение вероятностей однодневных доходностей акцийразвитых стран, используемых для расчета фондового индекса «ЭмЭсСиАй ВорлдИндекс» (The MSCI World Index).












