[latexpage]
Teori Singkat
Dalam berinvestasi, kita harus menghitung risiko dan berusaha meminimalkan risiko. Risiko dapat dihitung dengan statistik, yaitu variance dan standar deviation.
Variance digunakan untuk mengukur penyebaran data points berdasarkan nilai mean.
$s^2 = \frac{\sum (X-\overline{X})^2 }{N-1}$
Standard deviation adalah akar dari variance
$S = \sqrt{s^2}$
Contoh kasus saham dengan anual return of rate
- Saham1 = 14%, 16%, 13%, 17%, mean adalah 15%
- Saham2 = 50%, -20%, -20%, 50%, mean adalah 15%
Saham 1
$S^2 = \frac{(14-15)^2 + (16-15)^2 + (13-15)^2 + (17-15)^2}{4-1} = 0.033\% = 0.00033$
Standar deviation adalah 1.8%
Saham 2
$S^2 = \frac{(50-15)^2 + (-20-15)^2 + (-20-15)^2 + (50-15)^2}{4-1} = 16\% = 0.16$
Standar deviation adalah 40%
Dari perhitungan diatas, saham 2 memiliki penyebaran data yang lebih besar, yaitu 0.16, dan standar deviation adalah 40%. Maka dapat disimpulkan saham 2 lebih berisiko dibanding saham 1.
Bayangkan, kalau Anda mulai membeli saham 2 di tahun kedua dan menjual di akhir tahun ketiga. Anda rugi 40% dari modal.
Implementasi dalam Python
Berikut code untuk menghitung risiko menggunakan Variance dan Standar Deviation. Saham yang akan digunakan adalah ADRO.JK dan PTBA.JK. Kita gunakan 2 saham dalam sektor yang sama, yaitu saham pertambangan.
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from pandas_datareader import data as wb
tickers = ['ADRO.JK', 'PTBA.JK']
saham_ret = pd.DataFrame()
for t in tickers:
saham_ret[t] = wb.DataReader(t, data_source='yahoo', start='2015-1-1')['Adj Close']
saham_ret = np.log(saham_ret / saham_ret.shift(1))
saham_ret[['ADRO.JK', 'PTBA.JK']].std() * 250 ** 0.5
ADRO.JK 0.482809
PTBA.JK 0.471521
dtype: float64
Walaupun angka standar deviation mirip, namun saham PTBA lebih rendah risikonya. Artinya saham ADRO lebih volatile dibandingkan PTBA.