Toto je starší verze dokumentu!


Cvičení 7

Zadání (Markowitzův model)

  • bacha na to, zadání se změnilo, stáhněte si ze stránek předmětu aktuální verzi

Ke spolecnemu vypracovani:

clc;
clear;
close all;
%% Markowitzùv model
% 1 Nacteni dat
load akcie.mat;
% init
[T,I] = size(AkcieOdhad);
% vynosy akcii za cas
r = zeros(I,T);
vyberR = zeros(I,1);
p = 1/(T-1);
p2 = 1/(T-2);
for i=1:I
    for t=2:T
        r(i,t)= (AkcieOdhad(t,i) - AkcieOdhad(t-1,i))/(AkcieOdhad(t-1,i));
    end;
    vyberR(i) = p*sum(r(i,[2:T]));
end;

V = zeros (I);

for i=1:I
    for j=1:I
        V(i,j) = p2 * ( r(i,:) - vyberR(i) )*(( r(j,:) - vyberR(j) )');
    end;
end;

%% 3
% Interpretujte význam omezujících podmínek problému
%
% sum(X(i))=1   ... X(i) ~ vahy akcii i = jaky objem z celkove sumy investovat
%                                         do akcie i
%               ... mame predem danou sumu - tu pak delime podle x, takze
%               cela suma je 1*SUMA = SUMA, rozdeleni na 2 je pak X(1)*SUMA
%               + X(2)*SUMA = SUMA ... analogicky pro N
%
% X(i) >= 0     ... nelze nakoupit zaporny objem akcii...
%
% sum( X(i) * R(i) ) >= Rp ... Rp je pozadovany minimalni vynos, soucet
% vynosu z jednotlivych akcii musi dat minimalne Rp
%
%% 4
% Jak by se zmenila formulace problemu (1), pokud bychom chteli investovat do
% kazde akcie maximálne 30% z celkove hodnoty portfolia ?
%
% pribyla by jeste podminka X(i) <= 0.3
%
%% 5
MinRp = min(vyberR);
MaxRp = max(vyberR);
r_p = [MinRp : (MaxRp-MinRp)/50 : MaxRp ];
cnt = size(r_p);
rp = 0.02;

riziko = zeros(cnt);
vynos = zeros(cnt);

H = V;
f = zeros (I,1);
A = -vyberR';
Aeq = ones(1,I);
beq = 1;
lb = zeros(1,I);
ub = ones(1,I);

for i=1:cnt(2)
    rp = r_p(i);
    b = -rp;
    [x,fval] = quadprog(H,f,A,b,Aeq,beq,lb,ub);
    vynos(i) = x'*vyberR;
    riziko(i) = 2*fval;
end
plot(riziko, vynos);

Prosim editujte a komentujte…

courses/a4b33opt/cviceni10.1259220796.txt.gz · Poslední úprava: 2025/01/03 18:23 (upraveno mimo DokuWiki)
Nahoru
chimeric.de = chi`s home Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0