Untitled

mail@pastecode.io avatar
unknown
plain_text
a year ago
1.0 kB
3
Indexable
Never
import numpy as np

# Parameter
harga_saham_awal = 100
volatilitas = 0.2
tingkat_bunga = 0.05
waktu_hingga_kedaluwarsa = 1
harga_mogok = 105
jumlah_simulasi = 10000

# Inisialisasi array untuk menyimpan hasil
nilai_opsi = np.zeros(jumlah_simulasi)

# Simulasi Monte Carlo
for i in range(jumlah_simulasi):
    # Menghasilkan variabel acak dari distribusi normal standar
    Z = np.random.normal(0, 1)
    
    # Menghitung harga saham pada akhir periode
    harga_saham_akhir = harga_saham_awal * np.exp((tingkat_bunga - 0.5 * volatilitas**2) * waktu_hingga_kedaluwarsa + volatilitas * np.sqrt(waktu_hingga_kedaluwarsa) * Z)
    
    # Menghitung nilai opsi pada akhir periode
    nilai_opsi[i] = max(0, harga_saham_akhir - harga_mogok)

# Menghitung nilai rata-rata dan deviasi standar dari distribusi nilai opsi
nilai_rata_rata = np.mean(nilai_opsi)
nilai_deviasi_standar = np.std(nilai_opsi)

print("Nilai Rata-rata Opsi:", nilai_rata_rata)
print("Deviasi Standar Opsi:", nilai_deviasi_standar)