paper: analisis value at risk saham tlkm.jk dengan sas

Upload: nicholas-leo

Post on 19-Oct-2015

197 views

Category:

Documents


0 download

DESCRIPTION

Tugas Besar SAS Programming Academy II. Dalam makalah ini dikaji nilai Value at Risk dari saham TLKM.JK menggunakan data historis prices 10 tahun terakhir. Metode yang digunakan adalah History Prices dan Variance-Covariance.

TRANSCRIPT

  • ANALISIS VALUE AT RISK PADA SAHAM

    TELEKOMUNIKASI INDONESIA

    MAKALAH

    Dibuat Untuk Melengkapi Tugas Besar 2

    Pelatihan Statistical Analytic Software (SAS) Programming 2

    oleh

    Nicholas Leo 10111051

    FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

    PROGRAM STUDI MATEMATIKA

    INSTITUT TEKNOLOGI BANDUNG

    BANDUNG

    2014

  • DAFTAR ISI

    BAB I. PENDAHULUAN .................................................................... 1

    1.1. Latar Belakang . ..1

    1.2. Rumusan Masalah ...................................................................... 2

    1.3. Tujuan ........................................................................................ 2

    BAB II. TEORI DASAR .......................................................................... 3

    BAB III. PEMBAHASAN ........................................................................ 9

    3.1. Pengolahan Data Awal ............................................................... 9

    3.2. Pengolahan Data Legalitas Software ....................................... 12

    3.3. Pengolahan Data Cloud Service ................................................ 17

    BAB IV. SIMPULAN dan SARAN ..................................................... 20

    4.1. Simpulan .................................................................................. 20

    LAMPIRAN A ............................................................................................... 22

    LAMPIRAN B ............................................................................................... 22

    LAMPIRAN C ................................................................................................ 28

    DAFTAR PUSTAKA ....................................................................................... 34

  • 1

    BAB I

    PENDAHULUAN

    1.1 Latar Belakang

    Saham adalah satuan nilai pembukuan dalam instrument finansial yang mengacu pada

    bagian kepemilikan suatu perusahaan. Dengan kata lain, saham dapat dikatakan sebagai tanda

    kepemilikian atas (sebagian) perusahaan. Saat ini, saham sudah mulai umum dikenal oleh

    masyarakat luas sebagai salah satu instrument finansial untuk berinvestasi. Hal ini

    diakibatkan oleh karakteristik investasi saham yang relative mempunyai return lebih besar

    dibandingkan dengan deposito, tabungan, maupun reksa dana.

    Meskipun demikian, sesuai dengan konsep dasar finansial yaitu high risk high return,

    saham juga mempunyai resiko yang cukup tinggi dibanding instrument investasi yang lain.

    Karena resikonya yang cukup tinggi, para pemain saham, atau dikenal juga sebagai trader,

    berusaha untuk mengkuantifikasi resiko yang ada pada suatu saham dan berusaha

    mengurangi resiko tersebut. Oleh karena itu, muncullah profesi risk management sebagai

    salah satu penopang dunia investasi saham. Pada umumnya, cara yang paling sederhana

    untuk mengetahui secara statistika resiko kerugian pada saham tertentu menggunakan

    pendekatan Value at Risk (VaR).

    Value at Risk dari sebuah saham dapat memberi informasi kepada trader tentang

    potential loss, probabilitas tentang potential loss, and time frame yang digunakan. Umumnya,

    terdapat beberapa metode untuk menentukan Value at Risk dari sebuah saham. Akan tetapi,

    dalam makalah ini hanya akan digunakan 2 (dua) buah metode saja untuk menentukan nilai

    Value at Risk dari sebuah saham yang akan menjadi bahan analisis yaitu PT Telekomunikasi

    Indonesia (TLKM.JK).

  • 2

    PT Telekomunikasi Indonesia (TLKM.JK) merupakan salah satu perusahaan BUMN

    terbesar dalam bidang telekomunikasi dan penyedia layanan internet (network service

    provider). TLKM.JK mencatatkan diri di Bursa Efek Jakarta sejak tanggal 14 November

    1995 dan dikenal sebagai salah satu index berkategori LQ 45 di Bursa Efek Indonesia. Saham

    ini juga dikenal luas mempunyai korelasi yang kuat dengan IHSG, dengan kata lain,

    pergerakan saham ini dipercaya hampir sama dengan pergerakan IHSG (Indeks Harga Saham

    Gabungan).

    Pada makalah ini, akan dianalisis Value at Risk pada saham TLKM.JK menggunakan

    data history price sejak tahun 2009. Akan dilihat distribusi keuntungan dengan penggunaan

    waktu trading yang berbeda beda serta korelasinya dengan IHSG.

    1.2 Rumusan Masalah

    Berdasarkan latar belakang yang telah dijelaskan sebelumnya, terdapat rumusan

    masalah, yaitu

    1.2.1 Bagaimana distribusi keuntungan dari saham TLKM.JK menggunakan waktu

    trading harian dan bulanan?

    1.2.2 Bagaimana Value at Risk keuntungan saham TLKM.JK dalam jangka waktu

    trading yang berbeda beda dan perbandingan VaR dari metode yang berbeda?

    1.2.3 Bagaimana pergerakan harga saham TLKM?

    1.3 Tujuan

    Tujuan yang hendak dicapai dalam penulisan makalah ini adalah:

    1.3.1 Menjelaskan persebaran return dalam trading saham TLKM.JK

    1.3.2 Mengetahui Value at Risk TLMK.JK menggunakan horizon waktu yang berbeda.

    1.3.3 Menganalisis pergerakan harga TLKM.JK.

  • 3

    BAB 2

    TEORI DASAR

    Pada Bab ini, akan dijelaskan secara singkat teori dasar tentang Value at Risk dalam

    saham dan general syntax syntax umum yang digunakan pada pengambilan data, procedure

    yang dipakai dalam pengolahan dan analisis VaR dari saham TLKM.JK.

    Value at Risk

    Seperti yang pernah disinggung pada bagian Latar Belakang, Value at Risk

    merupakan teknik statistic yang digunakan untuk mengukur dan mengkuantifikasi tingkat

    resiko dari sebuah perusahaan atau portfolio investasi dalam jangka waktu tertentu.

    Investopedia sendiri, sebagai salah satu web yang menyediakan informasi tentang investasi

    mendefinisikan VaR sebagai demikian:

    A statistical technique used to measure and quantify the level of financial risk within a firm or investment portfolio over a specific time frame. Value at risk is used by risk managers in order to measure and control the level of risk which the firm undertakes. The risk manager's job is to ensure that risks are not taken beyond the level at which the firm can absorb the losses of a probable worst outcome. Value at Risk is measured in three variables: the amount of potential loss, the probability of that amount of loss, and the time frame. For example, a financial firm may determine that it has a 5% one month value at risk of $100 million. This means that there is a 5% chance that the firm could lose more than $100 million in any given month. Therefore, a $100 million loss should be expected to occur once every 20 months.1

    Dapat disimpulkan bahwa VaR adalah ukuran resiko sebuah portfolio dalam

    jangka waktu tertentu. VaR memberikan informasi seberapa parah kerugian yang akan

    dialami oleh investor dengan tingkat kepercayaan dan modal yang dikeluarkan. Terdapat

    beberapa cara untuk menghitung VaR dari sebuah portfolio, tetapi hanya akan dibahas 2

    (dua) yaitu Metode Data Historis (Historical Method) dan Variance Covariance Method.

    1 http://www.investopedia.com/terms/v/var.asp (diakses pada Maret 2014)

  • 4

    Perhitungan VaR dengan kedua metode tersebut memilki kesamaan yaitu melihat

    volatilitas saham yang menjadi objek penelitian sehingga dapat ditarik kesimpulkan

    tentang persen kerugian terparah yang mungkin dapat dialami oleh investor.

    Metode historis menggunakan data data harga yang historis dengan melihat

    persentase return dan mengurutkan persentase return dari yang paling buruk ke yang

    paling baik. Asumsi yang digunakan dalam perhitungan VaR menggunakan metode ini

    adalah perulangan sejarah tentang rate of return di masa depan.

    Misalkan saja terdapat saham ABC yang telah dihitung rate of return per harinya

    dengan cara melihat perbandingan selisih harga saham pada pembukaan bursa dan

    penutupan bursa terhadap harga pada saat bursa dibuka, maka rate of return dari

    beberapa tahun kebelakang akan diplot dalam suatu histogram untuk melihat frekuensi

    dari setiap rate of return yang telah terjadi dalam beberapa waktu kebelakang. Nilai VaR

    dari cara ini adalah dengan melihat persentile dari bagian kiri histogram atau bagian

    dengan rate of return paling rendah. Misalkan saja digunakan persentil 1% dihitung dari

    bagian kiri histogram dan ditemukan ROR -6%, maka dapat disimpulkan adalah dengan

    metode daily trading, seorang investor dapat yakin sebesar 99% bahwa investasinya tidak

    akan merugi lebih dari 6% modal. Dapat dilihat dengan jelas bahwa tingkat kepercayaan

    VaR ditentukan oleh persentil yang diambil oleh investor. Selain itu, dapat juga

    digunakan data historis lainnya misalkan data historis harga bulanan untuk melihat ROR

    dan VaR jika seseorang melakukan monthly trading.

    Metode kedua yang akan digunakan ada metode variance-covariance. Dalam

    metode ini tetap diperlukan data historis daily return dari saham. Perbedaan dari metode

    sebelumnya adalah asumsi bahwa daily return yang didapat adalah berdistribusi normal

    dan dapat dicari variansi serta standard deviasinya. Hasil kali antara standard deviasi

    yang didapat dari data yang ada dengan tingkat kepercayaan (menggunakan inverse dari

  • 5

    distribusi normal baku) adalah nilai Value at Risk dari trading harian yang dilakukan

    investor.

    Misalkan saja terdapat data daily return saham ABC selama 10 tahun dan

    diketahui bahwa standard deviasinya adalah 2.56%, maka dengan tingkat kepercayaan

    99% seseorang dapat mengatakan bahwa kerugian maksimal yang mungkin dari investasi

    saham ABC secara harian sebesar 6.81% yaitu hasil kali antara nilai inverse normal

    distribusi persentil 1% (1 0.99) dengan standard deviasi return saham. Metode ini juga

    dapat mengukur VaR dalam trading dengan jangka waktu yang berbeda yaitu dengan

    mengkalian VaR harian terhadap akar dari jumlah hari dalam jangka waktu yang baru.

    Dapat dilihat bahwa metode variance-covariance menggunakan asumsi human

    error dimana seseorang dapat saham membeli saham di harga yang paling tinggi dan

    mendapat kerugian karena menjual di harga yang paling rendah. Hal ini cukup berbeda

    dengan metode historis yang mengasumsikan bahwa investor akan membeli saham di

    harga pembukaan dan menjual di harga penutupan.

    Penggunaan Syntax dalam SAS

    Untuk menganalisis VaR dari TLKM.JK sebenarnya tidak diperlukan syntax

    syntax yang cukup rumit dikarenakan VaR pada dasarnya hanya melihat volatilitas

    pergerakan harga saham dan return-nya. Tercatat penggunaan yang paling besar hanya

    pada syntax univariate dan sejenisnya.

    Dalam analisis VaR tetap digunakan library permanen sebagai tempat penyimpanan

    data set yang akan dibuat. Library adalah semacam folder khusus yang dibaca oleh SAS

    dimana terdapat Data Set didalamnya. Secara otomastis, data yang dibuat akan disimpin di

    temporary library yaitu work. Untuk library permanen, dapat digunakan syntax

    LIBNAME ;

  • 6

    Dengan catatan bahwa namalibrary maksimal 8 karakter dimulai dengan huruf / underscore

    Selain itu digunakan juga syntax IMPORT untuk mengambil dataset dari file external

    SAS dengan general syntax yaitu

    PROC IMPORT DATAFILE= OUT= ;

    Terdapat beberapa opsi yang dapat dimasukkan dalam penggunakan procedure import yaitu

    replace untuk langsung mengupdate data set dengan data set baru, getnames sebagai pilihan

    pengambilan nama variables dan datarow untuk pilihan pengambilan data pada baris tertentu.

    Selanjutnya akan dijelaskan penggunaan syntax berdasarkan 2 (dua) jenis kategori

    yaitu procedure and syntax option standard

    PROCEDURE / Creating dataset

    PROC SORT, digunakan untuk mengurutkan dataset berdasarkan variable tertentu.

    General syntax dari prosedur ini adalah

    PROC SORT DATA=; BY

    PROC MEANS, digunakan untuk mengetahui ringkasan statistiks deskriptif dalam

    suatu variable dalam dataset dan dapat dibentuk dari beberapa grup observasi.

    Prosedur ini juga dapat menghitung confidence interval, quantiles, dan melakukan uji

    distribusi t. General syntax dari prosedur ini adalah

    PROC MEANS DATA= ;

    CLASS ; VAR ;

    Prosedur ini dapat mengeluarkan statistika deskriptif tertentu sesuai dengan keinginan

    dengan menambahakn syntax ()=;

    PROC UNIVARIATE, sebenarnya hampir sama dengan prosedur mean, tetapi

    prosedur univariate dapat dikatakan lebih mempunyai variasi output dikarenakan

  • 7

    dapat memprediksi jenis distribusi dari variable tertentu dan menguji jenis distribusi

    tertentu beserta parameternya. General syntax dari prosedur ini adalah

    PROC UNIVARIATE DATA= ; CLASS ; VAR ;

    Selain itu, juga dapat ditambahkan opsi pembuatan histogram dan keterangannya

    menggunakan syntax HISTOGRAM dan melakukan fitting distribusi terhadap

    histogram yang ada misalkan dengan distribusi gamma, weibull, atau lognormal.

    PROC REPORT, digunakan untuk membuat ringkasan berbentuk tabular dari

    dataset yang ada. General syntax yang dipakai adalah

    PROC REPORT DATA= ;

    COLUMN ; DEFINE / GROUP or ANALYSIS;

    Setelah syntax DEFINE terdapat pilihan untuk membuat variable tersebut menjadi

    variable grup atau menjadi variable analisis. Variable analisis adalah variable yang

    dicari statitsika deskriptifnya. Selain itu, terdapat syntax BREAK AFTER yang dapat

    digunakan untuk memisahkan setiap variable group.

    PROC ANOM, digunakan untuk menganalisis rataan dari setiap grup variable

    terhadap variable tertentu. Di dalam statistika, biasanya rataan dianalisis dengan

    menggunakan ANOVA. General syntax yang dipakai adalah

    PROC ANOM DATA=; * / ALPHA= ;

    Dalam analisis menggunakan prosedur ini, terdapat beberapa chart yang dapat

    dipakai; XCHART dimana untuk melakukan analisis terhadap variable kontinu,

    UCHART melakukan analisis dengan variable bertipe diskrit, PCHART untuk

    analisis proporsi (perbandingan variable). Prosedur ini juga mengharuskan input alpha

    atau taraf signifikansi yang digunakan.

  • 8

    PROC GPLOT digunakan untuk menampilkan grafik dari variable analisis.

    Selain penggunaan prosedur diatas, terdapat beberapa prosedur lain yang digunakan

    seperti MERGE untuk menggabungkan data set serta ODS untuk menampilkan data dalam

    format pdf.

    ADDITIONAL OPTIONS

    Terdapat beberapa syntax opsi lain yang juga dipakai selain prosedur, yaitu

    RENAME, untuk mengubah nama variable

    YEAR, MONTH, DATE, QTR, untuk mengambil penanggalan tertentu berdasarkan

    syntax yang dipakai.

    FORMAT, untuk melakukan formatting terhadap tipe variable seperti maksimal

    decimal yang ditampilkan.

    DELETE, untuk menghapus satu baris pada dataset. Biasanya dikombinasikan

    dengan syntax conditional IF.

    DO, adalah syntax looping untuk melakukan perulangan pekerjaan.

    QUANTILE, sebagai fungsi inverse pada distribusi dengan general syntax

    QUANTILE(DISTRIBUTION, alpha);

  • 9

    BAB 3

    PEMBAHASAN

    Pada Bab ini, akan dibahas tentang pengolahan data menggunakan SAS dan analisis

    hasil pengolahan SAS. Untuk mempermudah pembahasan, maka Bab ini akan dibagi menjadi

    3 buah subbab yaitu subbab pengolahan data awal, analisis VaR, dan General Analysis.

    3.1 Pengolahan Data Awal

    Data saham TLKM.JK yang digunakan diambil dari finance.yahoo.com dimulai sejak

    tanggal 28 September 2004 sampai tanggal 20 Maret 2014. Sebelum membuat dataset baru

    menggunakan data TLKM.JK tersebut, pertama kali dibuat library permanen menggunakan

    syntax berikut,

    libname sas 'G:\TuBes\SASTuBes';

    Sehingga setiap dataset yang dibuat akan tersimpan di dalam library permanen SAS bernama

    sas yang terletak di dalam Harddisk G dengan folder TuBes/SASTuBes. Penggunaan library

    permanen bertujuan untuk mempermudah pengaturan file.

    Selanjutnya, karena data yang didapat mempunyai format csv (figure 1), maka

    diperlukan importing data ke dalam sas sehingga dapat dibentuk data set dengan format yang

    sesuai dengan program SAS. Dipergunakan procedure import dan perintah recalls last submit

    untuk mengubah format variable dataset.

    proc import datafile='G:\TuBes\TLKM.csv' out=sas.tlkm_raw replace;

    getnames=no; datarow=2;

    run;

    Syntax diatas menjelaskan bahwa dilakukan importing data dari TLKM.csv ke dalam sas dan

    dataset yang dibuat diberi nama tlkm_raw. Digunakan juga option datarow=2 sebagai

    perintah untuk memulai pengambilan data dari baris kedua sehingga tidak perlu editing csv.

  • 10

    data SAS.TLKM_RAW ; (1)

    %let _EFIERR_ = 0; /* set the ERROR detection macro variable */

    infile 'G:\TuBes\TLKM.csv' delimiter = ',' MISSOVER DSD lrecl=32767

    firstobs=2 ;

    informat VAR1 yymmdd10. ; (2)

    informat VAR2 4. ; (3)

    format VAR1 yymmdd10. ; (4)

    format VAR2 comma5.1 ;

    format VAR3 comma5.1 ;

    input

    VAR1 (5)

    VAR2

    VAR3

    ;

    if _ERROR_ then call symputx('_EFIERR_',1); /* set ERROR detection

    macro variable */

    run;

    Syntax diatas merupakan hasil dari penggunaan perintah recalls last submit. Dapat

    dilihat dibentuk dataset bernama TLKM_RAW (1) dimana terdapat untuk melakukan import

    pertama kali perlu dilakukan perintah informat untuk tanggal (2) dan variable lainnya (3),

    kemudian baru diformat ulang (4). Selain itu, karena menggunakan perintah import dapat

    dilihat bahwa variable yang ada masih belum mempunyai nama jelas (5).

    Setelah itu, karena dataset tersebut belum mempunyai nama variable yang jelas maka

    perlu dilakukan pergantian nama variable menggunakan syntax RENAME.

    data sas.tlkm(rename=(var1=Date var2=Open_Price var3=High_Price

    Var4=Low_Price Var5=Close_Price Var6=Volume) drop=var7); (6)

    set sas.tlkm_raw; (7)

    if var6=0 then DELETE; (8)

    run;

    Dapat dilihat bahwa syntax diatas menggunakan perintah rename untuk mengganti nama

    variable sehingga dapat dimengerti (6). Dataset dengan nama variable baru bernama tlkm

    dengan menggunakan dataset yang lama yaitu tlkm_raw (7). Selain itu dilakukan juga

    cleaning data (8) dengan menghilangkan data untuk hari libur, yaitu data dengan volume

    transaksi adalah 0, menggunakan conditional dan perintah delete.

  • 11

    Untuk memudahkan pengkategorian dataset berdasarkan tahun, quarter, bulan, dan

    hari, maka dilakukan pertambahkan variable tersebut yang diambil dari variable date di

    dalam dataset TLKM.

    data sas.tlkm;

    set sas.tlkm;

    Month=month(date); (9)

    year=year(date);

    day=day(date);

    qtr=qtr(date);

    output;

    format month 2. year 4. day 2. qtr 2.; (10)

    run;

    /* Sorting date */

    proc sort data=sas.tlkm;

    by year month date; (11)

    run;

    Syntax diatas berfungsi untuk menambahkan variable baru (9) yaitu bulan, tahun, hari, dan

    quarter ke dalam data set tlkm dan melakukan formatting atas variable tersebut (10).

    Setelahnya, dilakukan proses sorting berdasarkan tahun, bulan dan tanggal (11).

    Setelah mendapatkan dataset tlkm dengan variable yang lengkap, perlu dibuat juga

    dataset pergerakan harga saham TLKM.JK per bulan menggunakan syntax berikut.

    proc means data=sas.tlkm noprint max nway missing; (12)

    class year month; (13)

    var day Open_Price; (14)

    output out=sas.temp1(rename=(Open_Price=Price_End day=end_day)

    drop=_type_ _freq_) max= ; (15)

    run;

    /* Merging to get dataset tlkm_month*/

    data sas.tlkm_month;

    merge sas.temp2 sas.temp1; (16)

    return_month=(price_end-price_begin)/price_begin; (17)

    format return_month percent7.2;

    if _N_=108 then DELETE; (18)

    run;

    Dataset yang ingin dibuat adalah dataset pergerakan harga saham perbulan sehingga perlu

    diketahui harga pembukaan waktu awal bulan dan harga penutupan pada waktu akhir bulan.

    Harga pada awal bulan dapat diketahui dengan penggunaan prosedur means (12). Pada

    prosedur tersebut akan diekstrak tanggal terbesar (max) pada setiap bulan dan tahunnya

    sehingga memakai class year month (13) dan var day (14). Pada dataset baru yang bernama

  • 12

    temp1 akan berisi informasi tentang harga saham pembukaan pada setiap bulannya (15).

    Untuk mencari harga saham pada akhir bulan, digunakan prosedur yang sama dengan

    mengubah syntax max menjadi minimum dan pada makalah ini disimpan menjadi dataset

    temp2.

    Setelah mendapat dataset yang berisi harga pada awal bulan dan akhir bulan,

    Penggabungan dataset dapat dilakukan sehingga diperoleh dataset pergerakan harga saham

    TLKM.JK per bulan (16). Dataset tersebut diberi nama dataset TLKM_month dan diberi

    tambahan variable yaitu return per bulan (17) dengan rumus (harga akhir harga awal)/harga

    awal. Variabel return_month tersebut akan ditampilkan dalam bentuk persen. Langkah

    terakhir adalah melakukan cleaning pada data ke-108 (18) dikarenakan ketidakvalidan data.

    Ketidakvalidan disebabkan oleh aksi stock split yaitu pemecahan nilai saham pada

    pertengahan bulan tersebut, yang berakibat berubahnya benchmark harga saham TLKM.JK.

    Screenshot dari dataset dapat dilihat pada figure2 dan figure3.

    3.2 Analisis Value at Risk

    Dari pengolahan data sebelumnya, didapat dua buah dataset yang berisi tentang

    informasi pergerakan harga TLKM.JK per bulan maupun per hari. Pada bagian ini, akan

    dicari VaR dari kedua dataset tersebut menggunakan 2 metode yang berbeda.

    3.2.1 Value at Risk menggunakan metode historis.

    Setelah mendapat dataset tlkm yang berisi tentang opening dan closing price harga

    saham per hari, maka harus dibentuk suatu data set yang berisi tentang persentase return per

    hari. Perhitungan return per hari menggunakan syntax di bawah ini beserta rumusnya (1).

    data sas.tlkm_daily;

    set sas.tlkm;

    return_daily=((Close_Price-Open_Price)/Open_Price); (1)

    output;

    format return_daily percent7.2; run;

  • 13

    Setelah mendapatkan dataset yang berisi tentang informasi persentase return per hari,

    akan dibuat histogram berdasarkan persentase return (4). Histogram tersebut akan

    dikategorikan berdasarkan tahun sehingga setiap tahun (3) mempunyai histogram return daily

    yang berbeda beda.

    goptions device=pslepsfc xmax=6in ymax=4in gsfname=fig gsfmode=replace;

    title height=5 'Distribution of Daily Return'; (1)

    proc univariate data=sas.tlkm_daily; (2)

    class year; (3)

    var return_daily; (4)

    histogram return_daily / normal(mu=est sigma=est); (5)

    inset n mean std normal(ad adpval) / height=2.5 format=4.3

    position=NW; (6)

    run;

    quit;

    Dapat dilihat pada syntax diatas, bahwa prosedur univariate diperlukan untuk membentuk

    histogram yang diinginkan (2). Penggunaan judul (1) dan keterangan lainnya (6) diberikan

    pada histogram untuk memperkaya keterangan pada histogram. Selain itu, histogram juga

    ditaksir melalui distribusi normal, dan berdasarkan data yang ada (figure 4) dapat dilihat

    bahwa persebaran return tiap tahunnya bukan merupakan distribusi normal.

    Secara pengelihatan, kurva estimasi yang dihasilkan dari histogram rata rata

    mempunyai bentuk distribusi normal. Akan tetapi, dengan melakukan uji hipotesis diketahui

    hampir bahwa tidak ada satu pun tahun dimana distribusi returnnya adalah normal, hanya

    pada tahun 2004 uji hipotesis bahwa distribusi return adalah normal tidak dapat ditolak

    (menggunakan alfa 5%). (figure 5)

    Jika ditinjau dari semua data yang ada, maka dapat dilihat bahwa distribusi return

    harian dari saham TLKM.JK tidak membentuk distribusi normal. Untuk mengetahui hal

    tersebut dengan lebih detil dibentuk plot probabilitas distribusi normal (9) terhadap variable

    return_daily (8) masih dengan menggunakan prosedur univariate (7).

    title height=4 'Probability Plot for Daily Return'; proc univariate data=sas.tlkm_daily normaltest; (7)

    var return_daily; (8)

    probplot return_daily / normal(mu=est sigma=est); (9)

    inset n mean std normal(ad adpval) / height=2.5 format=4.3

    position=NW;

  • 14

    Dari grafik probabilitas tersebut (figure 6) dapat dilihat bahwa distribusi return bukan

    merupakan distribusi normal dari hasil test yang ada (Kolmogorov-Smirnov, Cramer-von

    Mises, Anderson-Darling) dengan alfa=5%. Meskipun demikian, penulis berpendapat bahwa

    hal ini disebabkan oleh pencilan atau pergerakan anomaly saham sehingga dapat

    menimbulkan return yang terlalu besar atau kerugian yang terlalu besar.

    Untuk mencari Value at Risk dari return daily saham TLKM sendiri digunakan syntax

    berikut:

    /* Value at Risk by percentage */

    proc univariate data=sas.tlkm_daily noprint;

    var return_daily;

    output out=sas.analysis_daily_2 pctlpts=1, 5, 10 pctlpre=P; (10)

    format P1 P5 P10 percent7.2;

    run;

    Syntax diatas menjelaskan bahwa diambil nilai percentile 1%, 5% dan 10% (10) dimana

    menggambarkan tingkat kepercayaan 99%, 95%, dan 90%. Nilai tersebut dihitung dari

    histogram return saham per hari dimulai dari bagian kiri. Berdasarkan hasil yang diperoleh

    (figure 7) dapat disimpulkan bahwa seorang investor dapat mengalami kerugian sebesar

    4.46%, 2.40%, atau 1.60% dari modal awalnya tergantung dari alfa yang digunakan (1%, 5%,

    atu 10%).

    Setelah didapat VaR harian dari saham TLKM, maka akan dilihat VaR jika trading

    dilakukan secara bulanan. Oleh karena itu, untuk analisis ini akan digunakan dataset

    tlkm_month. Dengan proses yang sama seperti analisis return daily, akan dibuat histogram

    return monthly menggunakan prosedur univariate. (11)

    title 'Fitting Distribution by Gamma, Weibull, and LogNormal';

    proc univariate data=sas.tlkm_month; (11)

    var return_month;

    histogram /

    lognormal (sigma=est) (12)

    weibull

    gamma (scale=est shape=est);

    inset n mean(5.3) std='Std Dev'(5.3) skewness(5.3)

    / pos = ne header = 'Summary Statistics';

    axis1 label=(a=90 r=0);

    run;

    quit;

  • 15

    Meskipun mempunyai prosedur yang hampir sama dengan pembuatan histogram pada

    daily return, jika diperhatikan lebih baik, akan terlihat bahwa selama 10 tahun terakhir tidak

    terjadi return negative jika berinvestasi secara bulanan pada saham TLKM.JK. Oleh karena

    itu, distribusi yang dipakai untuk mengestimasi distribusi return bulanan adalah Lognormal,

    Weibull, dan Gamma (12). Dari uji yang dilakukan, ditemukan bahwa distribusi return

    bulanan pada saham TLKM.JK mendekati distribusi gamma dengan p value 0.1 dan

    parameter scale 0.03 dan shape 3.92. (figure 8).

    Setelah mengetahui distribusi return bulanan pada saham TLKM.JK maka akan dicari

    Value at Risk jika melakukan trading bulanan.

    proc univariate data=sas.tlkm_month noprint; (13)

    var return_month;

    output out=sas.analysis_monthly pctlpts=1, 5, 10 pctlpre=P; (14)

    format P1 P5 P10 percent7.2;

    run;

    Karena ingin diketahui VaR return bulanan, maka digunakan prosedur univariate pada dataset

    tlkm_month (13). Pada syntax di atas, kalkulasi VaR menggunakan alfa yang berbeda yaitu

    1%, 5%, dan 10% (14) akan menghasilkan Value at Risk 2.6%, 4.2%, atau 5.61 % (figure 9).

    Value at Risk yang selalu positif terjadi karena tidak ditemukannya return negative pada

    historis trading saham TLKM.JK secara bulanan. Dengan kata lain, jika seseorang

    mengivestasikan uangnya pada awal bulan dengan membeli saham TLKM.JK dan menjual

    lagi pada akhir bulan, secara historis, orang tersebut akan mendapatkan keuntungan

    3.2.2 Value at Risk menggunakan metode variance-covariance.

    Sesuai dengan nama metode yang digunakan, diperlukan data variansi dari rate of

    return per bulan untuk menentukan Value at Risk dari saham TLKM.JK.

    proc means data=sas.tlkm_daily noprint; (15)

    var return_daily; (16)

    output out=sas.tlkm_std(drop=_TYPE_ _FREQ_)

    std(return_daily)=daily_std; (17)

    run;

  • 16

    Syntax di atas berfungsi untuk membentuk suatu dataset baru yang hanya berisi tentang

    standard deviasi return daily dari saham TLKM.JK. Prosedur yang digunakan adalah means

    (15) dengan variable return_daily (16) sebagai variable analisis. Dataset yang berisi standard

    deviasi diberi nama tlkm_std (17) dan hanya memiliki 1 variabel dan 1 input yaitu standard

    deviasi.

    Setelah mendapatkan nilai std deviasi dari return harian pada transaksi saham

    TLKM.JK, maka harus dibuat variable baru yaitu alpha, nilai Z normal dari alpha yang

    dipakai, dan tentunya VaR per hari maupun per bulan.

    data sas.tlkm_std;

    set sas.tlkm_std;

    do alpha= 0.01, 0.025, 0.05, 0.075, 0.1; (18)

    Z_value=quantile('Normal', alpha); (19)

    VaR_daily=Z_value*daily_std; (20)

    VaR_monthly_daily=VaR_daily*sqrt(20); (21)

    output;

    end;

    format VaR_daily VaR_monthly_daily percent7.2;

    run;

    Syntax di atas menjelaskan tentang penentuan VaR melalui metode variance-covariance.

    Dapat dilihat bahwa digunakan 5 jenis alpha yang berbeda (18) dan dari nilai apha tersebut

    akan dicari nilai Z normal baku dengan menggunakan syntax quantile (19). Setelah mendapat

    nilai Z normal baku, maka Value at Risk daily dapat dicari dengan mengalikan nilai std

    deviasi dengan nilai Z baku dari setiap alpha yang dipakai (20). Untuk mencari VaR bulanan,

    nilai VaR harian perlu ditransformasikan lagi dengan jumlah hari kerja setiap bulan sehingga

    rumus VaR bulanan adalah VaR harian x akar(20) dengan asumsi adalah dalam 1 bulan

    terdapat 20 hari kerja (21).

    Meskipun dapat menggunakan data VaR harian untuk mencari VaR bulanan, terdapat

    cara lain untuk mendapatkan nilai VaR bulanan yaitu dengan langsung menggunakan dataset

    tlkm_month dalam perhitungan VaR. Dalam analisis ini, VaR bulanan dari dataset

    tlkm_month diberi nama tlkm_std2.

  • 17

    Dapat dilihat di figure 10 bahwa VaR bulanan yang langsung menggunakan data

    return bulanan relative lebih kecil dibandingkan dengan VaR hasil pengolahan dari VaR

    harian. Selain itu, dibandingkan dengan metode historis, VaR bulanan dari metode ini

    menunjukkan angka negative yang mempunyai arti bahwa seseorang dapat saja merugi

    sekian persen dari modal dasarnya. Perbedaan ini disebabkan oleh asumsi yang berbeda dari

    kedua metode. Pada metode historis, diasumsikan bahwa investor pasti akan membeli saham

    di awal bulan dan menjual di akhir bulan. Di sisi lain, pada metode variance-covariance,

    investor dapat saja melakukan trading pad pertengahan bulan dan berjangka waktu 1 bulan

    dan jika itu yang terjadi maka terdapat kemungkinan investor akan merugi.

    3.3 General Information and Plotting Graphs

    Dalam bagian ini data akan dilihat dan beberapa informasi umum yang dapat

    diperoleh dari dataset yang telah dibuat. Informasi yang pertama adalah melihat apakah rata

    rata keuntungan per hari dari saham TLKM.JK adalah sama untuk setiap tahunnya.

    /* Analisis rata - rata return per tahun */

    title height=4 'Analisis rataan harian dengan grouping tahun';

    proc anom data=sas.tlkm_daily; (1)

    xchart return_daily*year / alpha=0.05; (2)

    run;

    quit;

    Digunakan prosedur analysis of mean untuk melihat apakah terdapat kesamaan rata rata

    return harian setiap tahunnya (1). Karena return daily merupakan variable kontinu maka

    digunakan xchart dengan alpha adalah 5% (2). Hasil dari analysis of mean dapat dilihat di

    figure 11 dimana dapat disimpulkan bahwa rata rata keuntungan harian untuk saham

    TLKM.JK adalah sama secara statistik.

    Selain itu, juga dibuat laporan rata rata keuntungan harian beserta rata rata volume

    perdagangan pada setiap tahunnya menggunakan prosedur report (3). Dalam prosedur

  • 18

    tersebut, variable yang menjadi variable analis adalah return_daily dan volume (6) sedangkan

    variable year dan qtr menjadi variable group (5).

    title height=4 'Report on Daily Return';

    proc report data=sas.tlkm_daily nowindows headline; (3)

    column year qtr return_daily volume; (4)

    define year/group; (5)

    define qtr/group;

    define return_daily / analysis 'avg return' width=12 mean; (6)

    define volume / analysis 'avg volume' format =15.1 width=10 mean;

    break after year / summarize ol skip;

    rbreak after / summarize dol;

    run;

    quit;

    Di figure 12 dapat dilihat hasil dari report rate of return harian saham TLKM.JK disusun dari

    tahun dan quarter.

    Dalam pembahasan sebelumnya telah disinggung sedikit tentang tindakan TLKM.JK

    yang melakukan stock split pada tahun 2008. Melalui figure 14 dan 13 dapat dilihat bahwa

    ternyat setelah tindakan stock split dilakukan, saham TLKM.JK berkurang volatilitasnya.

    Dapat dilihat di dalam grafik bahwa sebelum stock split dilakukan, harga TLKM.JK

    mempunyai range dari 4000 sampai 13000 atau dapat dikatakan harga tertingginya adalah

    300% lebih harga pembukaan 2013. Akan tetapi, setelah dilakukan tindakan stock split, harga

    saham TLKM.JK menjadi berkurang volatilitasnya yang dibuktikan dengan range harga

    TLKM.JK setelah stock split adalah berkisar antara 2000 sampai 3000.

    Untuk membuat plotting harga saham terhadap waktu digunakan prosedur gplot.

    /* Section 3: Plotting */

    SYMBOL1 VALUE=dot HEIGHT=0.1 COLOR=red WIDTH=0.1 INTERPOL=JOIN; (7)

    SYMBOL2 VALUE=dot HEIGHT=0.1 COLOR=green WIDTH=0.1 INTERPOL=JOIN; (8)

    title height=4 'Pergerakan Harga Saham';

    proc gplot data=sas.tlkm(WHERE=(_N_>4500)); (9)

    plot Open_Price*date; (10)

    plot2 Close_Price*date;

    run;quit;

    title height=4 'Pergerakan Harga Saham';

    proc gplot data=sas.tlkm(WHERE=(Open_Price

  • 19

    Option symbol (7) dan (8) digunakan untuk membedakan plotting harga pembukaan dan

    harga penutupan saham. Selain itu, untuk membuat dua buah grafik yang berbeda kondisi

    (sebelum stock split dan sesudah stock split) digunakan perintah where (9) dan (11). Pada

    akhirnya karena diinginkan grafik open price dan close price pada satu frame digunakan (10).

  • 20

    BAB 4

    KESIMPULAN

    Kesimpulan yang didapat setelah menganalis Value at Risk dari saham TLKM.JK

    menggunakan 2 metode yang berbeda adalah:

    Metode variance covariance mampu memperlihatkan VaR yang lebih baik

    dibandingkan dengan metode historis karena mampu untuk memperkirakan hasil

    terburuk dari berbagai rencana trading seorang investor. Sedangkan, pada metode

    historis, VaR hanya berlaku jika investor melakukan rencana trading seperti pada

    asumsi yaitu membeli di harga pembukaan dan menjual di harga penutupan

    Saham TLKM.JK merupakan saham untuk investasi jangka menengah, karena dapat

    dilihat dari report yang ada bahwa rata rata keuntungan per hari dari saham ini

    mendekati nol.

    Saham TLKM.JK merupakan saham yang cukup volatile jika dilihat dari

    pergerakannya sebelum dilakukan aksi stock split. Aksi stock split yang dillakukan

    perusahaan berhasil meredam volatilitas tersebut.

    Saran dalam menganalisis saham TLKM.JK kedepannya: akan lebih baik jika

    menggunakan data yang lebih besar. Selain itu, dikarenakan distribusi return harian saham ini

    tidaklah distribusi normal, maka perlu ditemukan estimasi distribusi yang pas atau dapat juga

    dilakukan transformasi agar berdistribusi normal. Ke depannya, dapat juga dilakukan

    forecasting harga saham TLKM.JK dengan time series sehingga dapat memberikan analisis

    yang lebih tentang pergerakan harga TLKM.JK.

  • 21

    LAMPIRAN

  • 22

    LAMPIRAN A (Data Finance.yahoo.com)

  • 23

    LAMPIRAN B (KODE SUMBER/SOURCE CODE)

    /* Section one: Creating and Preparing dataset */

    libname sas 'G:\TuBes\SASTuBes';

    /**********************************************************************

    * PRODUCT: SAS

    * VERSION: 9.3

    * CREATOR: External File Interface

    * DATE: 11OCT13

    * DESC: Generated SAS Datastep Code

    * TEMPLATE SOURCE: (None Specified.)

    ***********************************************************************/

    data SAS.TLKM_RAW ;

    %let _EFIERR_ = 0; /* set the ERROR detection macro variable */

    infile 'G:\TuBes\TLKM.csv' delimiter = ',' MISSOVER DSD lrecl=32767

    firstobs=2 ;

    informat VAR1 yymmdd10. ;

    informat VAR2 4. ;

    informat VAR3 4. ;

    informat VAR4 4. ;

    informat VAR5 4. ;

    informat VAR6 15. ;

    informat VAR7 4. ;

    format VAR1 yymmdd10. ;

    format VAR2 comma5.1 ;

    format VAR3 comma5.1 ;

    format VAR4 comma5.1 ;

    format VAR5 comma5.1 ;

    format VAR6 15. ;

    format VAR7 comma5.1 ;

    input

    VAR1

    VAR2

    VAR3

    VAR4

    VAR5

    VAR6

    VAR7

    ;

    if _ERROR_ then call symputx('_EFIERR_',1); /* set ERROR detection

    macro variable */

    run;

    proc import datafile='G:\TuBes\TLKM.csv' out=sas.tlkm_raw replace;

    getnames=no; datarow=2;

    run;

    /* Assigning variables name */

    data sas.tlkm(rename=(var1=Date var2=Open_Price var3=High_Price

    Var4=Low_Price Var5=Close_Price Var6=Volume) drop=var7);

    set sas.tlkm_raw;

    if var6=0 then DELETE;

    run;

    /* Separating dates */

    data sas.tlkm;

    set sas.tlkm;

    Month=month(date);

    year=year(date);

    day=day(date);

  • 24

    qtr=qtr(date);

    output;

    format month 2. year 4. day 2. qtr 2.;

    run;

    /* Sorting date */

    proc sort data=sas.tlkm;

    by year month date;

    run;

    /* Creating temp1 */

    proc means data=sas.tlkm noprint max nway missing;

    class year month;

    var day Open_Price;

    output out=sas.temp1(rename=(Open_Price=Price_End day=end_day)

    drop=_type_ _freq_) max= ;

    run;

    /* Creating temp2 */

    proc means data=sas.tlkm noprint min nway missing;

    class year month;

    var day Open_Price;

    output out=sas.temp2 (rename=(Open_Price=Price_Begin day=begin_day)

    drop=_type_ _freq_) min= ;

    run;

    /* Merging to get dataset tlkm_month*/

    data sas.tlkm_month;

    merge sas.temp2 sas.temp1;

    return_month=(price_end-price_begin)/price_begin;

    format return_month percent7.2;

    if _N_=108 then DELETE;

    run;

    /* Section two: Analyze return */

    /* Subsection: daily */

    /* Creating return_daily variable */

    data sas.tlkm_daily;

    set sas.tlkm;

    return_daily=((Close_Price-Open_Price)/Open_Price);

    output;

    format return_daily percent7.2;

    run;

    /* sorting by return daily*/

    proc sort data=sas.tlkm_daily;

    by return_daily;

    run;

    proc sort data=sas.tlkm_daily;

    by year return_daily;

    run;

    /* Making histogram */

    goptions device=pslepsfc xmax=6in ymax=4in gsfname=fig gsfmode=replace;

    title height=5 'Distribution of Daily Return';

    proc univariate data=sas.tlkm_daily;

    class year;

  • 25

    var return_daily;

    histogram return_daily / normal(mu=est sigma=est);

    inset n mean std normal(ad adpval) / height=2.5 format=4.3

    position=NW;

    run;

    quit;

    /* Making probability plot for daily return */

    title height=4 'Probability Plot for Daily Return';

    proc univariate data=sas.tlkm_daily normaltest;

    var return_daily;

    probplot return_daily / normal(mu=est sigma=est);

    inset n mean std normal(ad adpval) / height=2.5 format=4.3

    position=NW;

    run;

    quit;

    /* Confidence interval of mu by year */

    proc means data=sas.tlkm_daily noprint nway alpha=0.05;

    class year;

    var return_daily;

    output out=sas.analysis_daily

    mean(return_daily)=Mean_return_daily

    std(return_daily)=std_return_daily

    LCLM(return_daily)=Lower_bound

    UCLM(return_daily)=upper_bound;

    run;

    /* Value at Risk by percentage */

    proc univariate data=sas.tlkm_daily noprint;

    var return_daily;

    output out=sas.analysis_daily_2 pctlpts=1, 5, 10 pctlpre=P;

    format P1 P5 P10 percent7.2;

    run;

    /* Subsection 2: VaR monthly */

    proc sort data=sas.tlkm_monthly;

    by return_month;

    run;

    proc sort data=sas.tlkm_monthly;

    by year return_month;

    run;

    /* Making Histogram */

    goptions device=pslepsfc xmax=6in ymax=4in gsfname=fig gsfmode=replace;

    title height=5 'Distribution of Month Return';

    proc univariate data=sas.tlkm_month;

    var return_month;

    histogram return_month / normal(mu=est sigma=est);

    inset n mean std normal(ad adpval) / height=2.5 format=4.3

    position=NW;

    run;

    quit;

    title 'Fitting Distribution by Gamma, Weibull, and LogNormal';

    proc univariate data=sas.tlkm_month;

    var return_month;

    histogram /

  • 26

    lognormal (sigma=est)

    weibull

    gamma (scale=est shape=est);

    inset n mean(5.3) std='Std Dev'(5.3) skewness(5.3)

    / pos = ne header = 'Summary Statistics';

    axis1 label=(a=90 r=0);

    run;

    quit;

    /* Value at Risk */

    proc univariate data=sas.tlkm_month noprint;

    var return_month;

    output out=sas.analysis_monthly pctlpts=1, 5, 10 pctlpre=P;

    format P1 P5 P10 percent7.2;

    run;

    /* General Information */

    /* Return daily average every quarter */

    title height=4 'Report on Daily Return';

    proc report data=sas.tlkm_daily nowindows headline;

    column year qtr return_daily volume;

    define year/group;

    define qtr/group;

    define return_daily / analysis 'avg return' width=12 mean;

    define volume / analysis 'avg volume' format =15.1 width=10 mean;

    break after year / summarize ol skip;

    rbreak after / summarize dol;

    run;

    quit;

    /* VaR By Formula */

    proc means data=sas.tlkm_daily noprint;

    var return_daily;

    output out=sas.tlkm_std(drop=_TYPE_ _FREQ_)

    std(return_daily)=daily_std;

    run;

    data sas.tlkm_std;

    set sas.tlkm_std;

    do alpha= 0.01, 0.025, 0.05, 0.075, 0.1;

    Z_value=quantile('Normal', alpha);

    VaR_daily=Z_value*daily_std;

    VaR_monthly_daily=VaR_daily*sqrt(20);

    output;

    end;

    format VaR_daily VaR_monthly_daily percent7.2;

    run;

    proc means data=sas.tlkm_month noprint;

    var return_month;

    output out=sas.tlkm_std2(drop=_TYPE_ _FREQ_)

    std(return_month)=month_std;

    run;

    data sas.tlkm_std2;

    set sas.tlkm_std2;

    do alpha= 0.01, 0.025, 0.05, 0.075, 0.1;

    Z_value=quantile('Normal', alpha);

    VaR_month=Z_value*month_std;

  • 27

    output;

    end;

    format VaR_month percent7.2;

    run;

    data sas.VaR_byformula;

    merge sas.tlkm_std sas.tlkm_std2;

    by alpha;

    run;

    /* Analisis rata - rata return per tahun */

    title height=4 'Analisis rataan harian dengan grouping tahun';

    proc anom data=sas.tlkm_daily;

    xchart return_daily*year / alpha=0.05;

    run;

    quit;

    /* Section 3: Plotting*/

    SYMBOL1 VALUE=dot HEIGHT=0.1 COLOR=red WIDTH=0.1 INTERPOL=JOIN;

    SYMBOL2 VALUE=dot HEIGHT=0.1 COLOR=green WIDTH=0.1 INTERPOL=JOIN;

    title height=4 'Pergerakan Harga Saham';

    proc gplot data=sas.tlkm(WHERE=(_N_>4500));

    plot Open_Price*date;

    plot2 Close_Price*date;

    run;

    quit;

    SYMBOL1 VALUE=dot HEIGHT=0.1 COLOR=red WIDTH=0.1 INTERPOL=JOIN;

    SYMBOL2 VALUE=dot HEIGHT=0.1 COLOR=green WIDTH=0.1 INTERPOL=JOIN;

    title height=4 'Pergerakan Harga Saham';

    proc gplot data=sas.tlkm(WHERE=(Open_Price

  • 28

    LAMPIRAN C (SCREEN SHOT HASIL)

    Figure 1: Data csv

    Figure 2: data tlkm

    Figure 3: data tlkm per month

  • 29

    Figure 4: persebaran return berdasarkan tahun

    Figure 5: Uji Hipotesis distribusi normal

  • 30

    Figure 7: VaR return daily

    Figure 6: Prob plot normal dan uji hipotesis normal pada return

  • 31

    Figure 8: fitting distribusi dan uji hipotesis gamma

    Figure 9: VaR bulanan dengan metode Historis

    Figure 10: VaR dengan metode variance-covariance

  • 32

    Figure 11: analisis of means per tahun

    Figure 12: report dari keuntungan saham

  • 33

    Figure 13: Pergerakan harga saham sebelum stock split

    Figure 14: Pergerakan harga saham setelah stock split

  • 34

    DAFTAR PUSTAKA

    Support.SAS.com/documentation [Maret2014]

    www.investopedia.com [Maret 2014]

    finance.yahoo.com [Maret 2014]

    http://www.stat.purdue.edu/~tqin/system101/method/QQplot_sas.htm [Maret 2014]

    H. Karp, Andrew. 1994. Steps to Success with PROC MEANS. California: Sierra Information

    Service, Inc.