Cara Menghitung MACD dan Moving Average
Jawaban langsung
MACD (Moving Average Convergence Divergence) dihitung dari moving average pada deret harga yang dipilih. Pada versi yang paling umum, MACD menggunakan dua exponential moving average (EMA) dari harga input yang sama: EMA “cepat” dan EMA “lambat”. Garis MACD adalah selisih antara kedua EMA tersebut. EMA terpisah dari garis MACD menjadi garis sinyal, dan histogram adalah selisih antara garis MACD dan garis sinyal.
Moving average dalam konteks ini dihitung dari titik data historis menggunakan aturan yang memberikan bobot pada pengamatan masa lalu. EMA membobot data terbaru lebih berat daripada data yang lebih lama, itulah sebabnya MACD bereaksi lebih cepat daripada pendekatan yang lebih lambat dan murni “dirata-ratakan sepanjang waktu”.
Mekanisme atau definisi
1) Pilih deret input (“harga” untuk rata-rata)
Baik MACD maupun moving average memerlukan deret waktu angka yang diambil sampelnya secara teratur (misalnya, harga penutupan per bar). Pilihan umum untuk harga input meliputi:
- Deret harga penutupan
- Komponen harga lainnya (seperti pembukaan, tertinggi, terendah, atau rata-ratanya)
Setelah Anda memilih deret input, perhitungan moving average menjadi deterministik.
2) Dasar-dasar moving average: Rumus EMA
EMA menghaluskan deret waktu dengan memperbarui secara rekursif.
Misalkan deret input adalah (P_t), di mana (t) mengindeks langkah waktu. EMA dengan panjang (N) dihitung menggunakan:
- Faktor penghalus: (\alpha = \frac{2}{N+1})
- Pembaruan rekursif (untuk (t) setelah inisialisasi): [ EMA_t = \alpha,P_t + (1-\alpha),EMA_{t-1} ]
Inisialisasi itu penting. Inisialisasi praktis yang umum adalah menggunakan harga pertama yang tersedia (atau rata-rata sederhana atas (N) titik pertama) untuk menetapkan (EMA_{N}) atau nilai EMA paling awal di jendela perhitungan Anda. Perangkat lunak yang berbeda mungkin melakukan inisialisasi sedikit berbeda, yang dapat menggeser nilai-nilai awal.
3) Garis MACD dan histogram (parameter umum)
Struktur MACD standar memiliki tiga komponen yang diplot:
- Garis MACD
- Garis sinyal
- Histogram
Misalkan:
- (N_{fast}) adalah panjang EMA cepat
- (N_{slow}) adalah panjang EMA lambat
- (N_{signal}) adalah panjang EMA sinyal
Hitung dua EMA dari deret harga yang sama:
- (EMA^{fast}t) menggunakan (N{fast})
- (EMA^{slow}t) menggunakan (N{slow})
Kemudian garis MACD adalah: [ MACD_t = EMA^{fast}_t - EMA^{slow}_t ]
Selanjutnya, hitung garis sinyal sebagai EMA dari garis MACD: [ Signal_t = EMA(MACD)t\text{ menggunakan panjang }N{signal} ]
Terakhir, histogram adalah selisihnya: [ Histogram_t = MACD_t - Signal_t ]
Rumus-rumus ini menunjukkan “mekanika” inti: MACD bukanlah moving average tunggal; MACD adalah selisih antara dua moving average, diikuti oleh moving average lain yang diterapkan pada selisih tersebut.
Bukti atau contoh (langkah perhitungan dengan asumsi eksplisit)
Asumsi untuk contoh ini:
- Anda memiliki deret waktu (P_t) yang diambil sampelnya sekali per bar.
- Anda menggunakan harga penutupan sebagai (P_t).
- Anda memilih (N_{fast}=12), (N_{slow}=26), dan (N_{signal}=9) sebagai panjang yang umum.
Langkah demi langkah:
- Hitung (\alpha_{fast} = 2/(12+1)) dan (\alpha_{slow} = 2/(26+1)).
- Buat (EMA^{fast}t) menggunakan: [ EMA^{fast}t = \alpha{fast} P_t + (1-\alpha{fast}) EMA^{fast}_{t-1} ]
- Buat (EMA^{slow}t) menggunakan: [ EMA^{slow}t = \alpha{slow} P_t + (1-\alpha{slow}) EMA^{slow}_{t-1} ]
- Hitung garis MACD pada setiap langkah waktu di mana kedua EMA ada: [ MACD_t = EMA^{fast}_t - EMA^{slow}_t ]
- Hitung EMA sinyal dari deret MACD dengan (N_{signal}=9): [ Signal_t = \alpha_{signal} MACD_t + (1-\alpha_{signal}) Signal_{t-1} ] di mana (\alpha_{signal} = 2/(9+1)).
- Hitung histogram: [ Histogram_t = MACD_t - Signal_t ]
Jika Anda secara independen menerapkan langkah-langkah ini menggunakan deret input (P_t) yang sama dan panjang yang sama, Anda harus dapat mereproduksi struktur MACD yang sama. Perbedaan kecil masih dapat muncul jika Anda menggunakan inisialisasi EMA yang berbeda atau definisi nilai EMA awal yang berbeda.
Keterbatasan dan risiko
-
Sensitivitas parameter MACD bergantung pada (N_{fast}), (N_{slow}), dan (N_{signal}). Mengubah panjang ini mengubah daya tanggap dan skala nilai, meskipun rumus dasarnya tetap sama.
-
Masalah data dan penyelarasan Perhitungan MACD memerlukan pengindeksan waktu yang konsisten:
- Semua deret harus menggunakan frekuensi pengambilan sampel yang sama.
- Deret harga input yang dipilih harus cocok antara sumber data dan rumus Anda.
- Jika Anda menghitung EMA pada definisi bar yang berbeda (misalnya, “penutupan” vs. harga lain), hasilnya akan berbeda.
-
Riwayat yang tidak memadai dan inisialisasi Karena EMA memerlukan nilai sebelumnya, nilai MACD awal bisa tidak dapat diandalkan jika Anda mulai menghitung terlalu dekat dengan awal kumpulan data. Pilihan inisialisasi EMA (nilai pertama vs. rata-rata atas (N) titik) dapat memengaruhi pembacaan awal.
-
Mode kegagalan interpretasi Komponen MACD adalah transformasi matematis; komponen tersebut tidak secara otomatis menunjukkan hasil yang menguntungkan atau benar. Perlakukan komponen tersebut sebagai fitur deskriptif dari deret waktu yang dipilih, bukan sebagai aturan keputusan yang berdiri sendiri.
-
Perilaku non-stasioner Deret waktu pasar dapat mengubah properti statistiknya seiring waktu (misalnya, rezim volatilitas). Bahkan jika perhitungan Anda benar, pola numerik yang sama dapat berperilaku berbeda di berbagai rezim.
Verifikasi dan pertanyaan berikutnya
Untuk memverifikasi perhitungan Anda sendiri, periksa hal-hal berikut:
- Konfirmasikan bahwa faktor penghalus EMA (\alpha = 2/(N+1)) digunakan secara konsisten.
- Konfirmasikan bahwa Anda menggunakan deret harga input (P_t) yang sama.
- Pastikan Anda menerapkan (MACD_t = EMA^{fast}_t - EMA^{slow}_t) sebelum menghitung EMA sinyal.
- Pastikan histogram Anda menggunakan (Histogram_t = MACD_t - Signal_t).
- Bandingkan jendela kecil nilai yang dihitung dengan implementasi independen kedua untuk menemukan perbedaan inisialisasi atau penyelarasan.
Jika Anda mau, tinjau juga bagaimana makna MACD berubah ketika Anda mengubah harga input atau panjang (N_{fast}), (N_{slow}), dan (N_{signal}). Anda dapat menjelajahi penjelasan terkait melalui halaman internal seperti macd dan moving average dan bagaimana pengaturan mengubah bagaimana pengaturan mengubah macd dan moving average.