Anda di halaman 1dari 5

Portofolio Saham dengan kendala buy-in treshold

● 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
𝑦𝑚𝑖𝑛

Perhatikan 𝜑(𝑦𝑖 ) ≥ 0 bila 𝑦𝑖 ≤ 0 atau 𝑦𝑖 ≥ 𝑦𝑚𝑖𝑛 dan − 1 ≤ 𝜑(𝑦𝑖 ) ≤ 0 bila 0 ≤ 𝑦𝑖 ≤ 𝑦𝑚𝑖𝑛 .


Khususnya −1 ≤ 𝜑(𝑦𝑖 ) < 0 untuk nilai-nilai 𝑦𝑖 ∈ (0 , 𝑦𝑚𝑖𝑛 ) yaitu daerah yang ingin dihindari.
Sehingga masalah minimisasi diatas dapat dituliskan sebagai
𝑀𝑖𝑛 𝐲 𝑇 𝐐𝐲 kendala 𝐫̅ 𝑇 𝐲 = 𝑅𝑃 , 𝐞𝑇 𝐲 = 1 dan 𝑦𝑖 ≥ 0 , 𝜑(𝑦𝑖 ) ≥ 0 , 𝑖 = 1, ⋯ , 𝑛
Masalah diatas bisa memiliki beberapa titik minimum lokal yang beberapa diantaranya memiliki
nilai 𝑦𝑖 = 0 atau 𝑦𝑖 = 𝑦𝑚𝑖𝑛 .Dalam upaya untuk memperoleh titik minimum global akan
digunakan formulasi minimisasi yang melibatkan fungsi penalti.
Untuk memenuhi kendala positif pada 𝑦𝑖 digunakan peubah optimisasi 𝑥1 , 𝑥2 , ⋯ , 𝑥𝑛 dan
kemudian menggunakan 𝑦𝑖 = 𝑥𝑖2 , 𝑖 = 1, 2, ⋯ , 𝑛 untuk seluruh ekspresi fungsi selanjutnya.
Perhatikan formulasi fungsi penalti yang harus diminimumkan berikut
2 𝑛
𝑇 𝑇 2
𝐫̅ 𝑇 𝐲 2
𝐹 = 𝐲 𝐐𝐲 + α(𝐞 𝐲 − 1) + β ( − 1) + γ ∑(𝜗(𝑦𝑖 ))
𝑅𝑃
𝑖=1

dengan 𝜗(𝑦𝑖 ) = 𝑀𝑖𝑛 {0 , 𝜑(𝑦𝑖 )} , 𝑖 = 1, 2, ⋯ , 𝑛


Sementara itu untuk masalah memaksimumkan return dengan besarnya resiko diberikan dapat
digunakan formulasi minimisasi fungsi penalti berikut
2 𝑛
𝑇 𝑇 2
𝐲 𝑇 𝐐𝐲 2
𝐹 = − 𝐫̅ 𝐲 + α(𝐞 𝐲 − 1) + β ( − 1) + γ ∑(𝜗 (𝑦𝑖 ))
𝑉𝑎
𝑖=1

dengan 𝜗(𝑦𝑖 ) = 𝑀𝑖𝑛 {0 , 𝜑(𝑦𝑖 )} , 𝑖 = 1, 2, ⋯ , 𝑛

** Pemanfaatan frontcon , portcons dan portopt untuk optimisasi


portofolio mean-variance
Masalah: 𝑀𝑖𝑛 𝐲 𝑇 𝐐𝐲
kendala 𝐫̅ 𝑇 𝐲 = 𝑅𝑃 , 𝐞𝑇 𝐲 = 1 , 𝑦𝑖 ≥ 0 𝑖 = 1, 2, ⋯ , 𝑛
% PF_frontcon_MeanVariance
clf
clc

% 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 ]

% Menampilkan kurva the efficient frontier


frontcon ( mu , Q , 10 )

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 ] ;

MatriksKendala = portcons ( 'Default' , NSaham , ...


'AssetLims' , BatasBawahNilaiProporsi_y, BatasAtasNilaiProporsi_y , NSaham, ...
'GroupLims' , Kelompok , BatasBawahNilaiProporsiKelompok_y ,...
BatasAtasNilaiProporsiKelompok_y )
MatriksKendala =

1.0000 1.0000 1.0000 1.0000 1.0000 1.0000


-1.0000 -1.0000 -1.0000 -1.0000 -1.0000 -1.0000
-1.0000 0 0 0 0 0
0 -1.0000 0 0 0 0
0 0 -1.0000 0 0 0
0 0 0 -1.0000 0 0
0 0 0 0 -1.0000 0
1.0000 0 0 0 0 0.3500
0 1.0000 0 0 0 0.3000
0 0 1.0000 0 0 0.3000
0 0 0 1.0000 0 0.4000
0 0 0 0 1.0000 0.5000
-1.0000 -1.0000 0 0 0 -0.2000
0 0 -1.0000 -1.0000 -1.0000 -0.3000
1.0000 1.0000 0 0 0 0.6000
0 0 1.0000 1.0000 1.0000 0.7000

%% 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 ] ;

[ sigma_PF, mu_PF, y ] = portopt ( mu, C, 5, [ ], MatriksKendala ) ;


disp('mu_PF , Sigma_PF')
disp([mu_PF, sigma_PF])
y
plot( sigma_PF, mu_PF)
xlabel('Resiko (Standar Deviasi Return Portofolio)')
ylabel('Ekspektasi Return Portofolio')
title('Kurva Efisien Frontier')

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=

0.3000 0.3000 0.2250 0.0875 0.0875


0.2119 0.3000 0.2543 0.1021 0.1317
0.1211 0.3000 0.2963 0.1231 0.1595
0.0355 0.3000 0.3000 0.1586 0.2060
0 0.3000 0 0.2000 0.5000

Anda mungkin juga menyukai