II. TINJAUAN PUSTAKA
Portofolio Saham
Portofolio berarti sekumpulan investasi, untuk kasus saham, berarti sekumpulan investasi dalam bentuk saham. Proses pembentukan porfolio saham terdiri dari mengidentifikasi saham mana yang akan dipilih dan menentukan berapa proporsi/alokasi dana yang akan ditanamkan pada masing-masing saham tersebut. Proses alokasi ini dianggap sebagai komponen terpenting dalam melakukan investasi karena melibatkan berbagai kemungkinan alokasi yang dapat dipilih. Semakin banyak saham yang dipilih semakin banyak pula kemungkinan alokasi yang dapat dipilihnya
Strategi pembentukan portofolio saham ada dua macam, yaitu strategi pasif dan strategi aktif (Husnan 1998). Strategi pasif merupakan tindakan investor yang cenderung pasif dalam berinvestasi dan hanya mendasarkan pergerakan sahamnya pada pergerakan indeks pasar. Tujuan dari strategi pasif ini adalah memperoleh keuntungan portofolio sebesar keuntungan indeks pasar dengan menekankan seminimal mungkin resiko dan biaya investasi yang harus dikeluarkan. Investor yang mengggunakan strategi pasif ini biasanya memegang sahamnya dalam jangka waktu yang relatif lama. Mereka melakukan pembobotan untuk masing-masing sahamnya mengikuti bobot saham tersebut terhadap indeks. Indikator yang digunakan adalah indeks pasar, yaitu IHSG dan LQ45. Strategi pasif ini banyak dilakukan oleh manajer-manajer investasi, termasuk di Indonesia.
Strategi aktif merupakan tindakan investor secara aktif dalam menyusun portofolio dan merevisi berdasarkan preferensinya. Tujuan strategi aktif ini mendapatkan keuntungan portofolionya melebihi keuntungan portofolio strategi pasif. Penyusunan portofolio berdasarkan hubungan tingkat keuntungan dan risiko yang terbaik dibandingkan dengan alternatif lainnya. Setiap periode, bobot alokasi portofolionya dilakukan revisi supaya selalu dalam keadaan optimal.
Model Markowitz
Teori portofolio modern digagas oleh Harry Markowitz, disebut juga model mean-variance, mempertimbangkan keuntungan rata-rata dan resiko
berdasarkan adanya hubungan antara saham-saham (variance) yang membentuk portofolio (Markowitz, 1952)
Setiap portofolio saham terdiri dari komposisi saham-saham pembentuknya. Bobot bobot alokasi dari masing-masing saham adalah persentase alokasi investasi saham dari total investasinya. Sehingga total dari bobot alokasi saham dari suatu portofolio adalah satu. Apabila wi adalah bobot alokasi saham ke-i, maka setiap potfolio mempunyai batasan rumus sebagai berikut :
1 1 =
∑
= n i i w (1) wi ≥ 0Tingkat keuntungan yang diharapkan dari suatu portofolio adalah merupakan rata-rata tertimbang dari tingkat keuntungan yang diharapkan masing-masing saham yang membentuk portofolio tersebut. Tingkat keuntungan yang diharapkan dari suatu portofolio (E(Rp)) dapat dinyatakan dengan rumus :
∑
= = N i i i p wE R R E 1 ) ( ) ( (2) Dimana E(Ri) adalah tingkat keuntungan yang diharapkan dari Saham ke-i.Sedangkan perhitungan resiko/variance (σp2) dari suatu portofolio harus memperhitungkan unsur korelasi antar masing-masing saham yang membentuk portofolio tersebut. Rumus umumnya adalah sebagai berikut :
ij N i j N j i i p wwσ σ
∑∑
= = = 1 2 (3)Dimana σij adalah covariance antara saham i dengan saham j. Apabila i=j maka
ii
Portofolio yang Efisien
Kita dapat menyusun portofolio dengan berbagai kombinasi dari kumpulan saham pilihan. Setiap kombinasi bobot alokasi portofolio akan menghasilkan E(Rp) dan 2
p
σ yang berbeda.
Gambar 1 Hubungan E(R) dan resiko (σ) portofolio (Taufik & Rostianingsih, 2005)
Gambar 1 memperlihatkan hubungan antara E(Rp) dan σp2 dari berbagai kombinasi bobot alokasi portofolio dari suatu kumpulan saham pilihan. Dari gambar tersebut, investor dapat menentukan portofolio yang memiliki nilai E(Rp) yang maksimum pada suatu 2
p
σ tertentu atau 2 p
σ yang minimum pada E(Rp) tertentu . Titik A adalah global minimum variance portofolio karena tidak ada
2 p
σ yang lebih kecil.
Investor akan selalu memilih portofolio pada segmen AB dibanding AC karena akan memberikan E(Rp) yang terbesar pada 2
p
σ yang sama atau 2 p
σ yang terkecil pada tingkat E(Rp) yang sama. Segmen AB tersebut disebut dengan kumpulan portofolio yang efisien atau lebih dikenal efficient frontier.
Indikator Kinerja Portofolio
Untuk menentukan portofolio yang paling optimal adalah portofolio yang memiliki kinerja yang paling baik. Penilaian kinerja portofolio saham dapat dilakukan dengan mempertimbangkan tingkat keuntungan saja atau resiko saja. Penilaian kinerja portofolio dengan melibatkan tingkat keuntungan portofolio dan resiko akan memberikan informasi yang lebih mendalam tentang sejauh mana tingkat keuntungan dikaitkan dengan resiko.
Salah satu teknik yang digunakan untuk pengukuran kinerja portofolio adalah menggunakan indeks Sharpe. Indeks Sharpe mempertimbangkan variabel E(Rp) dan resiko. Rumus indeks Sharpe adalah :
p f p p R R S σ − = (4)
Dimana :S = indeks Sharpe , p R = Return portofolio, p R = Return aset f
bebas resiko dan σp= resiko portofolio.
Suatu portofolio yang memiliki nilai indeks sharpe paling tinggi adalah portofolio yang paling optimal karena memiliki tingkat keuntungan dan resiko terbaik.
Estimasi Parameter Model Markowitz
Kinerja portofolio yang dibentuk oleh model markowitz tergantung pada akurasi melakukan prediksi tingkat keuntungan dan resiko. Untuk memprediksi tingkat keuntungan dan resiko saham portofolio adalah dengan data historis tingkat keuntungan saham-saham pembentuk portofolio.
Prediksi tingkat keuntungan saham yang paling sederhana adalah dengan menghitung rata-rata tingkat keuntungan historisnya, yang umum dikenal dengan
moving average. Moving average dapat digunakan untuk melihat tren dari suatu
siklus. Tren jangka panjang atau jangka pendek dari suatu siklus tidak menentu, sehingga ukuran periode waktu data historis yang digunakan ditentukan kasus demi kasus.
Simple moving average adalah perhitungan umum yang sederhana, yaitu
Jika digunakan N periode data historis, maka prediksi tingkat keuntungan periode berikutnya menggunakan simple moving average adalah :
N R R E N i i t t
∑
= − = 1 ) ( (5) E(Rt) = tingkat keuntungan yang diharapkan untuk periode tRt-i = keuntungan pada periode ke t– i N = jumlah periode
Nilai Harapan Tingkat Keuntungan dan Risiko Investasi
Keuntungan yang diterima dari investasi dalam saham didapatkan dari
capital gain atau keuntungan perubahan harga saham dan penerimaan dividen
pada periode tertentu. Tingkat keuntungan yang diharapkan (E(R)) pada masa datang didapatkan dari rata-rata keuntungan (R) yang diterima pada periode yang lalu. Keadaan tersebut dapat dituliskan :
N R R E N i i
∑
= = 1 ) ( (6) E(R) = Tingkat keuntungan yang diharapkanRi = keuntungan pada periode ke – i N = jumlah periode
Tingkat keuntungan dan variance selama 12 periode pada Tabel 1 dapat disimpulkan bahwa pada masa yang akan datang tingkat keuntungan yang diharapkan adalah sebesar 0.07. Namun tingkat keuntungan yang diperoleh investor pada masa yang akan datang dapat menyimpang dari tingkat keuntungan yang diharapkan tersebut. Resiko hal tersebut yang harus dihadapi oleh pemodal. Analisis untuk mengetahui ukuran risiko dapat digunakan penyebaran distribusi. Ukuran penyebaran ini dimaksudkan untuk mengetahui seberapa kemungkinan nilai yang akan kita peroleh menyimpang dari nilai yang diharapkan. Ukuran ini dapat dipergunakan sebagai ukuran risiko.
Tabel 1 Contoh tingkat keuntungan dan variance selama 12 periode Periode Keuntungan 1 0.02 2 -0.08 3 -0.09 4 1.00 5 -0.46 6 -0.01 7 0.07 8 0.11 9 0.37 10 -0.07 11 0.04 12 -0.01 E( R ) 0.06 Variance 0.13
Dalam statistik, ukuran ini disebut variance (σ2) yang perhitungannya
bisa dirumuskan sebagai berikut :
∑
= − = N i i N R E R 1 2 2 [( ( )] σ (7) 2 σ = varianceE(R) = Tingkat keuntungan yang diharapkan Ri = keuntungan pada periode ke – i
N = jumlah periode
Dengan mengetahui harapan tingkat keuntungan dan risiko dari saham, pemodal dapat menentukan saham mana yang akan dipilihnya. Pemodal biasanya akan berusaha memilih saham yang mempunyai tingkat keuntungan yang lebih tinggi dan resiko yang lebih rendah. Dengan kata lain, dari data histori dapat mencari saham yang mempunyai E(R) yang lebih tinggi dan variance (σ2) yang
Algoritma Genetik
Algoritma genetik adalah algoritma pencarian heuristik yang didasarkan pada mekanisme seleksi alamiah dan genetika alamiah. Setiap variabel pada suatu fungsi yang dicari, dikodekan kedalam kromosom. Masing-masing kromosom berisi sejumlah gen, yang mengkodekan informasi yang disimpan di dalam kromosom. Setelah skema pengkodean ditentukan, dilakukan inisialisasi untuk sebuah populasi dengan N kromosom. Gen-gen yang mengisi masing-masing kromosom dibangkitkan secara acak, biasanya menggunakan distribusi seragam. Masing-masing kromosom akan didekodekan menjadi individu dengan nilai fitness tertentu. Sebuah populasi baru dihasilkan dengan menggunakan mekanisme seleksi alamiah, yaitu memilih individu-individu secara proporsional terhadap nilai fitness-nya dan genetika alamiah, yakni pindah silang dan mutasi. Untuk menjaga generasi terbaik dari proses pindah silang dan mutasi, dipilih generasi terbaik untuk dibawa ke generasi selanjutnya yang disebut proses elitisme. Proses ini diulang sampai generasi yang diinginkan atau kondisi tertentu yang diinginkan untuk penyelesaian permasalahan.
Pada dasarnya algoritma genetik memiliki tujuh komponen, yaitu skema pengkodean, nilai fitness, seleksi orang tua, pindah silang, mutasi, elitisme dan penggantian populasi (Gambar 2).
Inisialisasi populasi
Loop sampai generasi atau kondisi tertentu Dekode kromosom
Evaluasi kromosom Reproduksi
Elitisme
Seleksi Orang Tua
Cross Over / Pindah silang Mutasi
End
Skema Pengkodean
Terdapat tiga skema yang paling umum digunakan dalam pengkodean, yaitu :
1. Real-number encoding
Pada skema ini, nilai gen(g) berada dalam interval [0,R], dimana R adalah bilangan real positif dan biasanya R = 1. Dengan menggunakan suatu interval tertentu, batas bawah rb dan batas atas ra, pengkodean dapat dilakukan dengan cara sebagai berikut :
X = rb + (ra-rb)g (8)
2. Discrete desimal encoding
Setiap gen bernilai salah satu bilangan bulat dalam interval [0,9]. Dengan menggunakan suatu interval tertentu, batas bawah rb dan batas atas ra, pengkodean dapat dilakukan dengan cara sebagai berikut :
X = rb + (ra-rb)(g1x10-1 + g2x10-2 + .... + gNx10-N ) (9)
3. Binary encoding
Setiap gen hanya bisa bernilai 0 atau 1 (Gambar 3). Dengan menggunakan suatu interval tertentu, batas bawah rb dan batas atas ra, pengkodean dapat dilakukan dengan cara sebagai berikut :
X = rb + (ra-rb)(g1x2-1 + g2x2-2 + .... + gNx2-N ) (10) 2 3 9 9 9 9 0 1 3 g1 g2 g3 g4 g5 g6 g7 g8 g9 0 1 0 1 1 1 0 0 0 g1 g2 g3 g4 g5 g6 g7 g8 g9 X3 X2 X1 0.0131 1.0000 0.2390 g1 g2 g3
Gambar 3 . Tiga jenis skema pengkodean : binary encoding (bawah), discrete
Pada contoh di atas terdapat tiga variabel, yaitu X1, X2, X3 , yang dikodekan ke dalam sebuah kromosom yang terdiri dari 3 gen untuk real-number
encoding. Sedangkan pada discrete decimal encoding maupun binary encoding
dikodekan ke dalam kromosom yang terdiri dari 9 gen (masing-masing variabel dikodekan ke dalam 3 gen). Dengan menggunakan nilai batas interval [-1,2], maka hasil pendekodeannya adalah :
Real-number encoding
X1 = -1 + (2-(-1) x 0.2390 = -0.2830 X2 = -1 + (2-(-1) x 0.1000 = 2.0000 X3 = -1 + (2-(-1) x 0.0131 = -0.9607
Discrete desimal encoding
X1 = -1 + (2-(-1))(0.2 + 0.03 + 0.009)) = -0.2830 X2 = -1 + (2-(-1))(0.9 + 0.09 + 0.009)) = 1.9970 X3 = -1 + (2-(-1))(0 + 0.01 + 0.003)) = -0.9610 Binary encoding X1 = -1 + (2-(-1))(0+ 0.25 + 0)) = -0.250 X2 = -1 + (2-(-1))(0.5 + 0.25 + 0.125)) = 1.6250 X3 = -1 + (2-(-1))(0 + 0 + 0)) = -1 Nilai Fitness
Suatu individu dievaluasi berdasarkan suatu fungsi tertentu sebagai ukuran kinerjanya. Di dalam evolusi alam, individu yang bernilai fitness tinggi yang akan bertahan hidup. Sedangkan individu yang bernilai fitness rendah yang akan mati. Pada masalah optimisasi, jika solusi yang dicari adalah memaksimalkan fungsi h, maka nilai fitness yang digunakan adalah nilai dari fungsi h tersebut, yakni f = h. Tetapi jika masalahnya adalah menimalkan fungsi h, maka fungsi h tidak bisa digunakan secara langsung. Hal ini disebabkan adanya aturan bahwa individu yang memiliki nilai fitness tinggi lebih mampu bertahan hidup pada generasi berikutnya. Oleh karena itu nilai fitness yang bisa digunakan adalah f = 1/h , yang artinya semakin kecil nilai h, semakin besar nilai f. Misalkan dari satu populasi terdapat 4, 6, 3 dan 5, maka nilai fitness terbesar adalah 1/3.
Seleksi Orang Tua
Pemilihan dua buah kromosom sebagai orang tua, yang akan dipindah silangkan, biasanya dilakukan secara proporsional sesuai dengan nilai fitnessnya. Ada beberapa metode seleksi yaitu : rank-based fitness, roulette-wheel, stochastic
universal sampling, tournament selection.
Rank-based Fitness
Rank-based fitness dikemukakan melalui penelitian oleh Baker tahun 1985
(Michalewicz, 1992). Pada rank-based fitness, populasi diurutkan menurut nilai objektifnya. Nilai fitness dari tiap-tiap individu hanya tergantung pada posisi individu tersebut dalam urutan, dan tidak dipengaruhi oleh nilai objektifnya.
Misalkan N adalah jumlah individu dalam suatu populasi. POS adalah posisi individu dalam populasi tersebut (posisi terendah suatu individu adalah POS=1, dan posisi tertingginya adalah POS=N). Sedangkan SP adalah selective
pressure. Nilai fitness dari suatu individu dapat dihitung sebagai :
• Peringkat linear :
Fitness(POS) = 2- SP - (SP-1)(POS -1)(N -1) (11) Nilai SP ε [1,2]
• Peringkat non-linear :
Fitness(POS) = (Nind X(POS-1))/ sum(X(i-1)); i= 1…N (12) Sedangkan X dihitung sebagai akar polinomial :
(SP-1)XN-1+(SP-1)XN-2+ ... +SPX+SP = 0 Nilai SP ε [1,N-2]
Roulette-wheel
Metode seleksi yang umum digunakan adalah roulette-wheel. Sesuai dengan namanya, metode ini menirukan permainan roulette-wheel dimana masing-masing kromosom menempati potongan lingkaran pada roda roulette secara proporsional sesuai dengan nilai fitness-nya. Kromosom yang memiliki nilai fitness lebih besar menempati potongan lingkaran yang lebih besar dibandingkan dengan kromosom bernilai rendah (Gambar 4).
Kromosom Nilai Fitness K1 1 K2 2 K3 0.5 K4 0.5 Jumlah 4 K2 K3 K4 K1
Gambar 4 Contoh penggunaan metode roulette-wheel
Metode roulette-wheel selection sangat mudah diimplementasikan dalam pemrograman. Pertama, dibuat interval nilai kumulatif dari nilai fitness masing-masing kromosom dibagi nilai total fitness dari semua kromosom. Sebuah kromosom akan terpilih jika bilangan random yang dibangkitkan berada dalam nilai akumulatifnya. Seperti pada contoh, K1 menempati interval nilai kumulatif [0;0.25], K2 berada dalam interval [0.25;0.75], K3 berada dalam interval [0.5;0.875] dan K4 berada dalam interval [0.875;1]. Misalkan, jika bilangan random yang dibangkitkan adalah 0,6 maka kromosom K2 terpilih sebagai orang tua. Tetapi jika bilangan random yang dibangkitkan adalah 0,99 maka kromosom K4 yang terpilih.
Stochastic Universal Sampling
Stochastic universal sampling memiliki nilai bias nol dan penyebaran yang
minimum. Pada metode ini, individu-individu dipetakan dalam suatu segmen garis secara berurutan sedemikian sehingga tiap-tiap segmen individu memiliki ukuran yang sama dengan ukuran fitnessnya seperti halnya pada roulette-wheel. Kemudian diberikan sejumlah pointer sebanyak individu yang ingin diseleksi, maka jarak antara pointer adalah 1/N dan posisi pointer pertama diberikan secara acak pada [1,1/N)
Tournament Selection
Pada metode tournament selection, akan ditetapkan suatu nilai tour untuk individu-individu yang dipilih secara acak dari suatu populasi. Individu-individu yang terbaik dalam kelompok ini akan diseleksi sebagai induk. Parameter yang
digunakan pada metode ini adalah ukuran tour yang bernilai antara 2 sampai N (N=jumlah individu dalam populasi).
Pindah Silang (Crossover)
Salah satu komponen paling penting dalam algoritma genetika adalah
crossover atau pindah silang. Sebuah kromosom yang mengarah pada solusi yang
bagus bisa diperoleh dari proses memindah-silangkan dua buah kromosom.
Pindah silang bisa juga berakibat buruk jika ukuran populasinya sangat kecil, suatu kromosom dengan gen-gen yang mengarah ke solusi akan sangat cepat menyebar ke kromosom-kromosom lainnya. Untuk mengatasi masalah ini digunakan suatu aturan bahwa pindah silang hanya bisa dilakukan dengan probabilitas tertentu. Artinya, pindah silang bisa dilakukan hanya jika suatu bilangan random [0,1] yang dibangkitkan kurang dari yang ditentukan. Pada umumnya ditentukan mendekati 1, misalnya 0,8.
Pindah silang bisa dilakukan dalam beberapa cara berbeda. Yang paling sederhana adalah pindah silang satu titik potong (one-point crossover). Suatu titik potong dipilih secara acak, kemudian bagian pertama dari orang tua 1 digabungkan dengan bagian kedua dari orang tua 2. Untuk kromosom yang sangat panjang, misalnya 1000 gen, mungkin saja diperlukan beberapa titik potong. Pindah silang lebih dari satu titik potong disebut n-point crossover. Skema pindah silang yang lain adalah uniform crossover, yang merupakan kasus khusus dari
n-point crossover diamana n sama dengan jumlah gen dikurangi satu (Gambar 5).
Orang tua 1 1 1 0 0 1 1 0 0 1 1 Orang tua 1 0 0 1 1 0 0 1 1 0 0 g1 g2 g3 g4 g5 g6 g7 g8 g9 g10 Anak 1 1 1 0 0 1 1 0 0 1 1 Anak 2 0 0 1 1 0 0 1 1 0 0 g1 g2 g3 g4 g5 g6 g7 g8 g9 g10 titik potong
Metode pindah silang lainnya adalah permutation crossover. Pada metode ini, kromosom-kromosom anak diperoleh dengan cara memilih sub-barisan dari suatu tour dari satu induk dengan tetap menjaga urutan dan posisi sejumlah kota yang mungkin terhadap induk yang lainnya. Misalkan :
Induk 1 : ( 1 2 3 | 4 5 6 7 | 8 9 ) Induk 2 : ( 4 5 3 | 1 8 7 6 | 9 2 ) Anak 1 : ( x x x | 1 8 7 6 | x x ) Anak 2 : ( x x x | 4 5 6 7 | x x )
Dari anak 1 dan 2 kita memperoleh pemetaan 1-4, 8-5, 7-6, 6-7. Kemudaian sisa gen di induk 1 dimasukkan ke anak 1 berdasarkan pemetaan tersebut. Hasilnya adalah :
Anak 1 : ( 4 2 3 | 1 8 7 6 | 5 9 ) Anak 2 : ( 1 8 3 | 4 5 6 7 | 9 2 )
Mutasi
Prosedur mutasi sangatlah sederhana. Untuk semua gen yang ada, jika bilangan random yang dibangkitkan kurang dari probabilitas mutasi yang ditentukan maka ubah gen tersebut menjadi nilai kebalikannya (Gambar 6). Biasanya ditentukan sebagai 1/n, dimana n adalah jumlah gen dalam kromosom. Dengan sebesar ini berarti mutasi hanya terjadi pada sekitar satu gen saja. Pada algoritma genetik sederhana, nilai tersebut adalah tetap selama evolusi.
Kromosom asal 1 1 0 0 1 1 0 0 1 1 Hasil mutasi 1 1 0 0 0 1 0 0 1 1 g1 g2 g3 g4 g5 g6 g7 g8 g9 g10
Elitisme
Karena seleksi dilakukan secara acak, maka tidak ada jaminan bahwa suatu individu bernilai fitness tertinggi akan selalu terpilih. Kalaupun individu bernilai fitness tertinggi terpilih, mungkin saja individu tersebut akan rusak karena proses pindah silang. Untuk menjaga agar individu berniali fitness tertinggi tersebut tidak hilang selama evolusi, maka perlu dibuat satu atau beberapa salinannya. Prosedur ini dikenal sebagai elitisme.
Penggantian Populasi
Dalam algoritm genetika dikenal skema penggantian populasi yang disebut
generational replacement, yang berarti semua individu (misal N individu dalam
satu populasi) dari suatu generasi digantikan sekaligus oleh N individu baru hasil pindah silang dan mutasi. Skema penggantian ini tidak realistis dari sudut pandang biologi. Di dunia nyata, individu-individu dari generasi berbeda bisa berada dalam waktu yang bersamaan. Fakta lainnya adalah individu-individu muncul dan hilang secara konstan, tidak pada generasi tertentu. Secara umum skema penggantian populasi dapat dirumuskan berdasarkan suatu ukuran yang disebut generational gap G. Ukuran ini menunjukkan presentase populasi yang digantikan dalam setiap generasi. Pada skema generational replacement, G= 1.
Skema penggantian yang paling ekstrim adalah mengganti satu individu dalam setiap generasi, yaitu G = 1/N, diaman N adalah jumlah individu dalam populasi. Skema penggantian ini disebut steady-state reproduction. Pada skema tersebut, G biasanya sama dengan 1/N atau 2/N. Dalam setiap generasi, sejumlah
NG individu harus dihapus unutk menjaga ukuran populasi tetap N. Terdapat
beberapa prosedur penghapusan individu, yaitu penghapusan individu bernilai fitness paling rendah atau penghapusan individu yang paling tua. Penghapusan bisa berlaku hanya pada individu orang tua saja atau bisa juga berlaku pada semua individu dalam populasi.