● Perhatikan kembali masalah meminimumkan risiko portofolio dengan target return diberikan
sebesar 𝑅 = 𝑅𝑃 yang dinyatakan sebagai masalah pemrograman kuadratik
𝑀𝑖𝑛𝑖𝑚𝑢𝑚𝑘𝑎𝑛 𝐲 𝑇 𝐐𝐲 dengan kendala 𝐫̅ 𝑇 𝐲 = 𝑅𝑃 dan 𝐞𝑇 𝐲 = 1
Jika tidak diinginkan adanya short-selling maka perlu ditambahkan kendala 𝑦𝑖 ≥ 0 , 𝑖 = 1, ⋯ , 𝑛
sehingga masalahnya menjadi
𝑀𝑖𝑛𝑖𝑚𝑢𝑚𝑘𝑎𝑛 𝐲 𝑇 𝐐𝐲 dengan kendala 𝐫̅ 𝑇 𝐲 = 𝑅𝑃 , 𝐞𝑇 𝐲 = 1 dan 𝑦𝑖 ≥ 0 , 𝑖 = 1, ⋯ , 𝑛 .
Dalam praktek sering diinginkan adanya suatu batas bawah 𝑦𝑚𝑖𝑛 untuk masing-masing 𝑦𝑖 untuk
menghindari biaya transaksi pembelian aset/saham dalam jumlah sangat kecil atau mungkin
karena adanya batas minimum pembelian jumlah saham yang diberlakukan oleh penjual saham.
Sementara itu seringkali dipandang lebih baik tidak usah berinvestasi pada suatu saham dari
pada membelinya dalam jumlah minimum. Sehingga diperlukan kendala berikut
atau 𝑦𝑖 = 0 atau 𝑦𝑖 ≥ 𝑦𝑚𝑖𝑛 .
Kendala diatas dikenal sebagai kendala buy-in treshold . Sehingga masalh minimisasi diatas dapat
dituliskan menjadi suatu masalah mixed integer quadratic programming problem (MIQP) berikut
𝑀𝑖𝑛 𝐲 𝑇 𝐐𝐲 kendala 𝐫̅ 𝑇 𝐲 = 𝑅𝑃 , 𝐞𝑇 𝐲 = 1 dan 𝑦𝑖 ≥ 𝑧𝑖 𝑦𝑚𝑖𝑛 , 𝑧𝑖 = 0 atau 1 , 𝑖 = 1, ⋯ , 𝑛
Suatu metode untuk menyelesaikan masalah tsb adalah metode branch-and-bound. Berikut ini
dikemukakan suatu cara lain menyelesaikan masalah dengan kendala buy-in treshold diatas
dengan menggunakan pendekatan metode optimisasi global yang melibatkan hanya peubah
kontinu. Tulis fungsi berikut
𝑦𝑖 (𝑦𝑖 − 𝑦𝑚𝑖𝑛 )
𝜑(𝑦𝑖 ) = 4 2
𝑦𝑚𝑖𝑛
% Masukan :
mu = [ 0.15 0.2 0.08 ] ; % Return masing-masing saham
Q = [ 0.2 0.05 -0.01 ; 0.05 0.3 0.015 ; ...
-0.01 0.015 0.1 ] ; % Matriks Kovariansi return saham
%mu = [ -0.056 0.324 0.343 0.132 0.108 ] ;
%C = [ 2.4037 -0.0222 0.5230 0.132 0.108 ; ... ,
% -0.0222 1.8912 0.0442 0.0020 0.4272 ; ...
% 0.5230 0.0442 1.7704 0.2283 0.3103 ; ...
% 0.2612 0.0020 0.2283 4.4812 -0.1134 ; ...
% 0.6126 0.4272 0.3103 -0.1134 7.7490 ] ;
% Keluaran :
[ sigma_PF , mu_PF , y ] = frontcon ( mu , Q , 10 ) ;
% Menampilkan tabel hasil proporsi investasi saham , return portofolio dan resiko
portofolio nya
%disp(' y mu_PF Sigma_PF')
%disp([y , mu_PF, sigma_PF])
[ y , mu_PF , sigma_PF ]
y mu_PF Sigma_PF
0.3002 0.0715 0.6283 0.1096 0.2468
0.3081 0.1506 0.5413 0.1196 0.2520
0.3161 0.2296 0.4542 0.1297 0.2669
0.3241 0.3087 0.3672 0.1397 0.2900
0.3321 0.3877 0.2802 0.1498 0.3196
0.3401 0.4668 0.1931 0.1598 0.3541
0.3481 0.5458 0.1061 0.1699 0.3921
0.3560 0.6249 0.0191 0.1799 0.4327
0.2009 0.7991 0 0.1900 0.4814
0 1.0000 0 0.2000 0.5477
** Menampilkan kendala
0 ≤ 𝑦1 ≤ 0.35 , 0 ≤ 𝑦2 ≤ 0.3 , 0 ≤ 𝑦3 ≤ 0.3 , 0 ≤ 𝑦4 ≤ 0.4 , 0 ≤ 𝑦5 ≤ 0.5
0.2 ≤ 𝑦1 + 𝑦2 ≤ 0.6 , 0.3 ≤ 𝑦3 + 𝑦4 + 𝑦5 ≤ 0.7
%% PF_Menggunakan_portcons
clc
NSaham = 5 ; % Banyaknya Saham
BatasBawahNilaiProporsi_y = NaN % [ 0 0 0 0 0 ];
BatasAtasNilaiProporsi_y = [ 0.35 0.3 0.3 0.4 0.5 ] ;
Kelompok = [ 1 1 0 0 0 ; 0 0 1 1 1 ] ;
BatasBawahNilaiProporsiKelompok_y = [ 0.2 0.3 ] ;
BatasAtasNilaiProporsiKelompok_y = [ 0.6 0.7 ] ;
%% PF_Menggunakan_portopt
clc
PF_Menggunakan_portcons ;
mu = [ 0.03 0.06 0.13 0.14 0.15 ] ;
C = [ 0.01 0 0 0 0
0 0.04 -0.05 0 0
0 -0.05 0.30 0 0
0 0 0 0.40 0.20
0 0 0 0.20 0.40 ] ;
mu_PF Sigma_PF
0.0816 0.1487
0.0915 0.1798
0.1013 0.2128
0.1112 0.2484
0.1210 0.3995
y=